«Многопоточное программирование средствами Open MP» - Контрольная работа
- 11
- 1111
Автор: zcah4ez1
Содержание
Преимущества многопоточности
Опасности многопоточности
Производительность
Принципиальная схема программирования в OpenMP
Прагмы OpenMP
Процедуры OpenMP
Переменные среды OpenMP
Примеры использования OpenMP
Директивы в OpenMP
Введение
Многопоточность
Четкое разделение логики многопоточности и бизнес-логики должно быть приоритетным для разработчиков, пишущих приложения с массовым параллелизмом. Для этого существует множество причин: простота разработки, простота отладки, а также простота внесения изменений в приложение. При разработке на C/C++ или FORTRAN’е популярным решением этой проблемы является использование OpenMP. OpenMP – это API
Выдержка из текста работы
Многопоточность
< Четкое разделение логики многопоточности и бизнес-логики должно быть приоритетным для разработчиков, пишущих приложения с массовым параллелизмом. Для этого существует множество причин: простота разработки, простота отладки, а также простота внесения изменений в приложение. При разработке на C/C++ или FORTRAN’е популярным решением этой проблемы является использование OpenMP. OpenMP – это API для написания эффектного и эффективного многопоточного кода.
В сущности, OpenMP используется путем введения набора инструкций в коде в форме комментариев или аннотаций. Сначала код пишется последовательным, а затем в нужные места добавляются аннотации. А когда код компилируется после этого (OpenMP совместимым компилятором), эти аннотации учитываются, и код компилируется так, чтобы использовать потоки согласно этим аннотациям.
Преимущества многопоточности
Такой метод параллельного программирования очень выгоден. Так как программа кодируется для последовательного запуска, а для распараллеливания используются всего лишь аннотации, в случае компилирования кода на обычном компиляторе он всего лишь будет их игнорировать. Этот же код можно скомпилировать и с помощью компилятора OpenMP и запустить параллельно в несколько потоков. Это означает, что разработчику не нужно будет изменять код, если программу нужно запускать на машинах с разной архитектурой: и с поддержкой многопоточности, и без такой поддержки.
Другим преимуществом OpenMP является то, что порции кода могут аннотироваться инкрементально, с очень небольшим изменением кода. Это позволяет чаще тестировать код на правильность функционирования, что важно, поскольку разработчик мог бы распараллелить многие порции кода, что затем вызвало бы различия в исполнении кода; такие случаи компилятор редко обнаруживает, и их обязательно нужно обнаруживать путем тестирования.
Заключение
Каждый поток выполняет структурный блок программы, включенный в параллельный регион. В общем случае синхронизации между потоками нет, и заранее предсказать завершение потока нельзя. Управление синхронизацией потоков и данных осуществляется программистом внутри программы. После завершения выполнения параллельного структурного блока программы все параллельные потоки за исключением главного прекращают свое существование.
Список литературы
1. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. Петров И.В.
2. Программируемые логические контроллеры: практическое руководство для начинающего инженера. Минаев И.Г.
3. Юров В. Assembler учебник.
| Тема: | «Многопоточное программирование средствами Open MP» | |
| Раздел: | Программирование, Базы данных | |
| Тип: | Контрольная работа | |
| Страниц: | 11 | |
| Стоимость текста работы: | 500 руб. |
Напишем авторскую работу по вашему заданию.
- Необходимый уровень антиплагиата
- Прямое общение с исполнителем вашей работы
- Бесплатные доработки и консультации
- Минимальные сроки выполнения
- Пишем сами, без нейросетей
Мы уже помогли 24535 студентам
Средний балл наших работ
- 4.89 из 5
Предыдущая работа
Организация и планирование производстваСледующая работа
Программное обеспечение СУТП