Многопоточное программирование средствами Open MP - Контрольная работа №36098

«Многопоточное программирование средствами 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
Отправьте нам ваше задание
Оценка задания - услуга бесплатная и ни к чему не обязывает.