Содержание
- 2. Технология разработки параллельных программ для МВС с общей памятью (OpenMP) OpenMP (Open Multi-Processing) — открытый развивающийся
- 3. Модель программирования OpenMP Разветвление-объединение (fork-join) Работа программы начинается с одного (корневого) потока, или нити, треда (thread
- 4. Модель программирования OpenMP Программа OpenMP начинается как единственный начальный корневой тред выполнения (номер =0). Встретив в
- 5. Из OpenMp Tutorial computing.llnl.gov/tutorials/openMP/
- 6. Терминология Поток (выполнения), или нить, или тред (thread of the execution) – последовательность выполняющихся команд. Программа,
- 7. Синтаксис и семантика OpenMP Директива компилятора – указание компилятору на особенности обработки исходного кода при компиляции.
- 8. Синтаксис и семантика OpenMP Библиотечные функции – позволяют: получать сведения (get) о параметрах тредов в программе,
- 9. Синтаксис и семантика OpenMP Переменные окружения – переменные операционной системы хранят данные ее настройках, позволяют управлять
- 10. Структура программы OpenMP int main () { //последовательная область, выполняется корневой тред . . . //Начало
- 11. Простейшая программа. Настройки для работы с OpenMP. Создать новый проект по шаблону «Консольное приложение Win32»
- 12. Простейшая программа. Настройки для работы с OpenMP. В Мастере выбрать «Пустой проект»
- 13. Простейшая программа. Настройки для работы с OpenMP. Выбрать Проект – Добавить новый элемент
- 14. Текст программы:
- 15. Дальнейшая настройка
- 16. Дальнейшая настройка
- 17. Новый результат: Задание: 1) измените параметр, например omp_set_num_threads( 10 ); 2) Закомментируйте эту строку. Какие будут
- 18. Пример: вывод номера треда
- 19. Переменные. Локализация (область видимости) Модель данных в OpenMP: общая область памяти - для всех тредов, локальные
- 20. Переменные. Локализация (область видимости) Переменные, использующиеся в параллельных областях программы, разделяются на два основных класса: shared
- 21. Переменные. Локализация (область видимости) Правила видимости переменных: все переменные, определенные вне параллельной области – общие; все
- 22. Пример: локализация переменных глобальная локальная
- 23. Основная директива для создания параллельной области int main () { //последовательная область, выполняется корневой тред .
- 24. #pragma omp parallel [опции ...] newline { } if (scalar_expression) num_threads (integer_expression) private (list) firstprivate (list)
- 25. if (scalar_expression) – распараллеливание по условию. Если значение выражения ≠ 0, то осуществляется распараллеливание. Иначе операторы
- 27. Скачать презентацию