Я должен узнать OpenMP
источников на gcc
. Я прочитал документацию OpenMP
(3.0 и 4.0). Как я знаю, OpenMP использовал механизм work-sharing
. Как я понимаю, механизм work-sharing
передает задачи между потоками , в то время как потоки запущены. Или выполняется ли распределение данных между потоками перед выполнением этих потоков?Предоставляет ли механизм совместного использования (в OpenMP) задачи между потоками, когда потоки WHILE выполняются?
ответ
Если вы используете OpenMP с задачами, задачи хранятся в одной или нескольких очередях задач. Если поток находится в режиме ожидания, он будет отслеживать задачи из соседней очереди. Это внутреннее значение libgomp
.
Если вы используете OpenMP параллельно для со статическим расписанием, никакая задача не будет отслеживаться.
Если вы используете OpenMP параллельно для с динамическим расписанием, потоки в команде будут делить работу динамически, поэтому простаивающие потоки будут выполнять задачи от остальной части команды.
В общем случае, когда потоки должны взаимодействовать во время выполнения, циклы проводятся от обработки.
Огромное спасибо! –
- 1. Лучший способ совместного использования объектов между потоками?
- 2. Почему IPC-механизм между потоками?
- 3. Быстрый механизм связи между потоками
- 4. Java: лучший способ совместного использования Блокировка между различными потоками
- 5. Отношения между потоками (задачи)
- 6. Есть ли прецедент, где задачи выполняются хуже, чем потоки?
- 7. Как распределить задачи между потоками в ThreadPoolExecutor
- 8. Предоставляет ли Zerobrane механизм «включения»?
- 9. OpenMP и ядра/потоки
- 10. Задачи совместного использования Amazon SWF между различными рабочими процессами
- 11. Выполняются ли потоки на нескольких процессорах?
- 12. Выполняются ли задачи после запуска исключения?
- 13. Состояние совместного использования между JButtons
- 14. Захват события, когда все потоки выполняются в рамках Executor
- 15. Состояние совместного использования между ViewModels
- 16. Qt блокирующие потоки и связь между потоками
- 17. Задачи и потоки не выполняются внутри статических конструкторов в Linqpad.
- 18. Сигнализация между потоками в Python
- 19. Связь между потоками ядра в Linux
- 20. повышение :: ASIO совместного использования сокетов между потоками в HTTP Server 3 Примера
- 21. Есть ли способ совместного использования хранилища основных данных между процессами?
- 22. Поскольку все пользовательские потоки сопоставляются с потоками ядра, то потоки пользователей выполняются в режиме ядра?
- 23. Предоставляет ли iText механизм перекрытия полей?
- 24. Поддерживает ли OpenMP механизм кражи работы?
- 25. Связь между потоками java: остановка всех потоков при завершении задачи
- 26. Как потоки выполняются в Java
- 27. Механизм OpenMP для равномерного распределения потоков
- 28. Как выполняются потоки?
- 29. HazelCast предоставляет любой механизм обновления?
- 30. Python: обмен списком между потоками
Изучение [осуществления совместного использования может научить вас многому) (http://stackoverflow.com/a/30591616/2542702). –