Контрольная работа
«Многопоточное программирование средствами Open MP»
- 11 страниц
Преимущества многопоточности
Опасности многопоточности
Производительность
Принципиальная схема программирования в 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
написания вашей работы
У нас можно заказать
(Цены могут варьироваться от сложности и объема задания)
682 автора
помогают студентам
42 задания
за последние сутки
10 минут
время отклика
История и перспективы развития языков программирования
Курсовая работа:
Языки программирования
Дипломная работа:
Алгоритмы принятия решения для учебных задач в программированном обучении
Курсовая работа:
Современные системы программирования
Контрольная работа:
Государственное программирование как высшая форма государственного регулирования