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

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

  • 27.11.2015
  • 11
  • 1084

Содержание

Введение

Выдержка из текста работы

Заключение

Список литературы

фото автора

Автор: 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
Узнайте стоимость
написания вашей работы
Похожие материалы
  • Дипломная работа:

    Нелинейное программирование с сепарабельными функциями

    32 страниц(ы) 

    Введение--------------------------------------------------------------------------------------3
    1. Теоретические аспекты-----------------------------------------------------------------5
    1.1. Общие сведения о численных методах оптимизации---------------------5
    1.2. Методы нелинейного программирования------------------------------------6
    1. 3. Алгоритмы решения задач с ограничениями------------------------------9
    1.4. Сепарабельное программирование-------------------------------------------10
    1.5. Описание метода Дэвидона – Флетчера – Пауэлла--------------------18
    2. Выбор актуальной оптимизационной задачи-------------------------------------22
    2.1Сущность и актуальность задачи---------------------------------------------23
    2.2. Предварительная постановка задачи---------------------------------------23
    3. Строгая постановка и решение прикладной оптимизационной задачи-----24
    3.1. Строгая постановка задачи----------------------------------------------------24
    3.2. Реализация метода решения оптимизационной задачи вручную------25
    3.3. Реализация метода решения оптимизационной задачи на ЭВМ-------25
    4. Анализ результатов решения оптимизационной задачи и оценка степени достижения цели---------------------------------------------------------------------------26
    Заключение---------------------------------------------------------------------------------27
    Список литературы------------------------------------------------------------------------28
    Приложение. Листинг программы-----------------------------------------------------29
  • Контрольная работа:

    История и перспективы развития языков программирования

    25 страниц(ы) 

    Введение 3
    1. История развития языков программирования 6
    1.1. Языки программирования низкого уровня 6
    1.2. Языки программирования высокого уровня 7
    1.2.1. Принципы структурного программирования 9
    1.2.2. Принципы объектно-ориентированного программирования 10
    1.3. Совершенствование языков и систем программирования 12
    2. Стандартизация языков программирования 16
    3. Современные тенденции и перспективы развития языков программирования 18
    Заключение 22
    Литература 25
  • Курсовая работа:

    Языки программирования

    30 страниц(ы) 

    Введение 3
    1 История развития языков программирования 5
    1.1 Машинный язык 6
    1.2 Ассемблер 7
    1.3 Первые языки программирования высокого уровня 10
    1.4 Алгоритмические языки программирования 10
    1.5 Языки объектно-ориентированного программирования 11
    1.6 Языки программирования для компьютерных сетей 11
    1.7 Языки программирования на платформе .NET 12
    2 Обзор современных языков программирования 13
    2.1 Си и его разновидности 13
    2.2 Паскаль 20
    2.3 Фортран 22
    2.4 Бейсик 24
    Выводы и предложения 27
    Список литературы 28
    Приложения 29
  • Дипломная работа:

    Алгоритмы принятия решения для учебных задач в программированном обучении

    83 страниц(ы) 

    ВВЕДЕНИЕ 3
    ГЛАВА 1. ПСИХОЛОГИЧЕСКИЕ ПЕДАГОГИЧЕСКИЕ ОСНОВЫ ПРОГРАММИРОВАНОГО ОБУЧЕНИЯ
    1.1. Педагогические и психологические основы процесса обучения
    1.1.1. Традиционное обучение: сущность, достоинства и недостатки 7
    1.1.2. Проблемное обучение: сущность, достоинства и недостатки 11
    1.2. Теория программированного обучения
    1.2.1. Сущность программированного обучения 21
    1.2.2. Особенности программированного обучения 23
    1.2.3. Типы обучающих программ 28
    1.2.4. Развитие программированного обучения в отечественной науке
    и практике 31
    1.2.5. Достоинства и недостатки программированного обучения 32
    Выводы 34
    ГЛАВА 2. ЭКСПЕРИМЕНТ ПО ИСПОЛЬЗОВАНИЮ АЛГОРИТМОВ ПРИНЯТИЯ РЕШЕНИЙ В ПРОГРАММИРОВАННОМ ОБУЧЕНИИ
    2.1. Алгоритмы и организация интерфейса в программированном обучении
    2.1.1. Программированное обучение – вид современных педагогических технологий 37
    2.1.2. Визуальный интерфейс. Способы описания формальных языков 37
    2.1.3. Интеллектуальный интерфейс 44
    2.1.4. Алгоритмы в программированном обучении 47
    2.2 Экспериментально-практическая часть
    2.2.1 Этап подготовки Алгоритм выбора заданий 56
    2.2.2. Алгоритм перехода к следующему заданию Адаптивность 57
    2.2.3. Алгоритм учебного диалога 58
    2.2.4. Алгоритм оценивания результата задания. 59
    ПРИЛОЖЕНИЯ 66
    ЗАКЛЮЧЕНИЕ 78
    ЛИТЕРАТУРА 80
  • Курсовая работа:

    Современные системы программирования

    30 страниц(ы) 

    Введение….3
    1 Понятие системы программирования….5
    1.1 Основные этапы в формировании состава систем программирования….5
    1.2 Понятие и структура системы программирования….7
    2 Примеры современных систем программирования….13
    Заключение….….25
    Глоссарий….…27
    Список использованных источников…29
    Приложения….30
  • Контрольная работа:

    Государственное программирование как высшая форма государственного регулирования

    27 страниц(ы) 

    Введение 3
    1 Понятие программирования, его сущность 5
    2 Классификации государственных программ 14
    3. Процедура разработки государственной программы 22
    Заключение 26
    Список литературы 28
Другие работы автора
  • Курсовая работа:

    Разработка схемы электрической принципиальной реверсивного управления электродвигателем

    13 страниц(ы) 

    Введение 2
    1. Описание принципа работы схемы 3
    2. Выбор элементов электроавтоматики 4
    2.1. Электродвигатель 4А71В4У3….4
    2.2. Выбор магнитного пускателя….4
    2.3. Расчёт теплового реле…6
    2.4. Выбор световой сигнализации….7
    2.5. Выбор кнопок управления….7
    2.6. Трансформатор .8
    2.7. Выбор автоматического выключателя .9
    2.8. Выбор предохранителей 10
    Заключение….11
    Список используемой литературы 12
    Приложение А – Схема электрическая принципиальная
    Приложение В – Перечень элементов схемы
  • Курсовая работа:

    Проектирование одноступенчатого редуктора

    21 страниц(ы) 

    Исходные данные . . . . . . . . .3
    1 Определение основных кинематических и энергетических параметров редуктора. . . . . . . . .4
    1.1 Определение КПД редуктора . . . . . .4
    1.2 Определение требуемой мощности электродвигателя . .4
    1.3 Выбор электродвигателя . . . . . . .4
    1.4 Определение передаточного числа редуктора . . .4
    1.5 Определение частоты вращения и крутящих моментов на валах редуктора. . . . . . . . .5
    2 Расчет тихоходной передачи . . . . . . .5
    2.1 Проектировочный расчет тихоходной передачи . . .5
    2.1.1 Выбор материала. . . . . . . . .5
    2.1.2 Определение допускаемых контактных напряжений . .5
    2.1.3 Определение допускаемых напряжений изгиба . . .6
    2.1.4 Определение межосевого расстояния тихоходной передачи. . . . . . . . . .6
    2.1.5 Определение модуля передачи . . . . .7
    2.1.6 Определение размеров колес тихоходной ступени . .7
    2.1.7 Определение сил в зацеплении тихоходной передачи .8
    2.2 Проверка зубьев тихоходной передачи на выносливость по контактным напряжениям и напряжениям изгиба . . .8
    2.2.1 Проверка зубьев тихоходной передачи на выносливость по контактным напряжениям . . . . .8
    2.2.2 Проверка зубьев тихоходной передачи на выносливость по напряжениям изгиба . . . . . .9
    3 Проектировочный расчет быстроходной передачи . . .9
    3.1 материала . . . . . . . . .9
    3.2 Выбор Определение допускаемых контактных напряжений и напряжений изгиба. . . . . . . . .9
    3.3 Определение межосевого расстояния . . . . .10
    3.4 Определение модуля быстроходной передачи . . .10
    3.5 Определение размеров колес быстроходной передачи . .11
    3.6 Определение сил в зацеплении быстроходной передачи. . .12
    4 Расчет валов. Подбор подшипников . . . . . .12
    4.1 Расчет быстроходного вала. . . . . . . .12
    4.2 Расчет промежуточного вала. . . . . . .12
    4.3 Расчет тихоходного вала. . . . . . . .13
    4.4 Определение конструктивных размеров зубчатых колес. . .13
    4.4.1 Определение конструктивных размеров зубчатого колеса
    тихоходного вала. . . . . . . . .13
    4.4.2 Определение конструктивных размеров зубчатого
    колеса промежуточного вала. . . . . . .13
    4.5 Подбор и проверка шпонок. . . . . . .13
    4.5.1 Подбор и проверка шпонок для колеса на тихоходном валу. .
    4.5.2 Подбор и проверка шпонок для колеса на промежуточном валу. . . . . . . . . .14
    4.5.3 Подбор шпонок на концевых участках валов. . . . .14
    4.6 Расчет промежуточного вала, выбор расчетной схемы вала, определение опорных реакций, построение эпюр изгибающих и крутящих моментов. . . . . . . . .15
    4.6.1 Исходные данные, выбор расчетной схемы вала . .15
    4.6.2 Определение опорных реакций, изгибающих и крутящих моментов. . . . . . . . . .16
    4.6.3 Проверочный расчет промежуточного вала . . .19
    4.7 Подбор и расчет подшипников промежуточного вала . .20
    5 Определение размеров элементов корпуса . . . .21
    6 Описание конструкции редуктора . . . . . .21
    Список литературы. . . . . . . . . .22
  • Контрольная работа:

    Разработка алгоритма работы и программы для устройства сопряжения с ПЭВМ

    6 страниц(ы) 

    Разработка алгоритма работы и программы для устройства сопряжения с ПЭВМ
    При программировании ЦАП стремиться к минимальному коэффициенту нелинейных искажений.
    f(t)= а•sin(с•t)•sin(в•с•t)
    Запрограммировать ЦАП 2
    Разрядность шины данных равна 10
    Изменение напряжения на выходе: от -5.12 В до +5.12 В.
    Содержание работы:
    -Расчет двоичных кодов, подаваемых на вход ЦАП
    -Расчет цены младшего разряда
    -Получение на выходе ЦАП напряжения, изменяющегося во времени в соответствии с функцией
    -Алгоритм программы
    -Текст программы
  • Контрольная работа:

    Технические измерения и приборы. Датчик давления МТ 100М

    16 страниц(ы) 

    Введение 2
    1. Назначение и описание датчика давления МТ100М 3
    2. Технические данные 5
    3. Устройство и работа датчиков давления МТ100М 7
    4. Указания мер безопасности и подготовка к работе датчика давления МТ100М 9
    5. Измерение параметров, настройка, методы проверки прибора 11
    6. Расчет минимального допускаемого напряжения питания при заданной нагрузке 12
    Заключение 15
    Список используемой литературы 16
  • Реферат:

    Принятие христианства в Древней Руси и его влияние на историческую судьбу России

    17 страниц(ы) 

    У ИСТОКОВ ХРИСТИАНСТВА 3
    СЛАВЯНЕ ДО КРЕЩЕНИЯ 4
    РУСЬ ВЫБИРАЕТ ПРАВОСЛАВИЕ 5
    КРЕЩЕНИЕ РУСИ 6
    СЛАВЯНСКОЕ ПРАВОСЛАВИЕ 8
    ПЕРВЫЕ ПРЕДСТАВЛЕНИЯ СЛАВЯН О НОВОЙ РЕЛИГИИ 9
    ОТПЕЧАТОК ЭПОХ В РЕЛИГИОЗНЫХ ВЕРОВАНИЯХ 10
    РОЛЬ ХРИСТИАНСТВА В СТАНОВЛЕНИИ ГОСУДАРСТВА И КУЛЬТУРЫ 11
    СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 17
  • Контрольная работа:

    Решение задач с использованием MS Office. Электронная таблица MS Excel

    13 страниц(ы) 

    Задача № 1 3
    Задача № 2 4
    Задача № 3 5
    Задача № 4 7
    Используемая литература: 13
  • Контрольная работа:

    Преобразователи энергии в системах управления технологическим процессом

    13 страниц(ы) 

    Задание
    Воспользовавшись паспортными данными электрической машины, выполнить следующее.
    1. Построить механические и электромеханические характеристики электрической машины по её паспортным данным
    =f(M). M=f(S). =f(I)
    -- текущее значение угловой частоты вращения ротора,
    M -- текущее значение момента двигателя,
    S --текущее значение скольжения двигателя,
    I -- текущее значение тока двигателя.
    2. Определить
    Sн – величину номинального скольжения двигателя,
    Sк – величину критического скольжения двигателя,
    Мн – величину номинального момента двигателя,
    Мп – величину пускового момента двигателя,
    Мк – величину критического момента двигателя,
    Ммин – величину минимального момента двигателя,
    IН -- номинальную величину тока двигателя,
    IП -- величину пускового тока двигателя,
    -- угловую частоту вращения ротора, соответствующую скорости идеального холостого хода двигателя,
    -- угловую частоту вращения ротора, соответствующую номинальной скорости двигателя,
    – угловую частоту вращения ротора, соответствующую величине критического скольжения двигателя.
    3. Определить величину электрических и механических потерь машины при номинальном режиме работы двигателя.
    4. Определить параметры схемы замещения:
    Z1 , Z21 – полные сопротивления цепей статора и ротора,
    R1, R21 – активные сопротивления цепей статора и ротора,
    X1 , X21 – реактивные сопротивления цепей статора и ротора,
    Z21, R21, X21 – сопротивления ротора приведённые к цепи статора.
    При этом следует учесть - в практике считают, что существует примерные равенства
    Z1 = Z21 = 0,5Z, R1 = R21 , X1 = X21.
    5. Построить механические и электромеханические характеристики электрической машины при снижении напряжения сети на 15% номинального значения.
  • Курсовая работа:

    Проектирование локальных вычислительных сетей

    28 страниц(ы) 

    1. Постановка задачи и описание объекта проектирования
    2. Методика расчета конфигурации локальной вычислительной сети
    2.1 Выбор сетевого протокола
    2.2 Выбор топологии сети, компоновка схемы ЛВС
    2.3 Выбор методов защиты сети
    2.4 Выбор типов соединений и оборудования
    2.5 Определение длины сегментов, количество рабочих станций в каждом сегменте
    2.6 Расчет корректности сети
    2.7 Выбор сетевого программного обеспечения
    3. Экономический расчет стоимости сети
    3.1 Стоимость сетевого оборудования и кабелей
    3.2 Стоимость сетевого программного обеспечения
    3.3 Стоимость установки и настройки
    3.4 Общая сумма затрат на сеть
  • Контрольная работа:

    Физические основы электроники

    11 страниц(ы) 

    Задание 1
    Цепь состоит из последовательно соединенного диода VD, резистора R и источника напряжения питания Е. Рассчитать ток I через цепь и напряжение на элементах цепи: на диоде Uд, на резисторе UR. BAX диода взять из справочника.
    R = 100 Ом
    Е = 5 В
    Задание 2
    Провести аналитический расчет для цепи, рассмотренной в предыдущем задании используя кусочно-линейную аппроксимацию ВАХ Iд(Uд). Сравнить результаты со значениями, полученными графическим методом.
    Задание 3
    Привести эквивалентную схему стабилитрона, полученную методом кусочно-линейной аппроксимации. Выполнить аналитический расчет цепи со стабилитроном. Представить проведенные расчеты и построения.