СтудСфера.Ру - помогаем студентам в учёбе

У нас можно недорого заказать курсовую, контрольную, реферат или диплом

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

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

  • 11 страниц(ы)

Содержание

Введение

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

Заключение

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

фото автора

Автор: 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

Не нашли, что искали?

Воспользуйтесь поиском по базе из более чем 40000 работ

Наши услуги
Дипломная на заказ

Дипломная работа

от 8000 руб.

срок: от 6 дней

Курсовая на заказ

Курсовая работа

от 1500 руб.

срок: от 3 дней

Отчет по практике на заказ

Отчет по практике

от 1500 руб.

срок: от 2 дней

Контрольная работа на заказ

Контрольная работа

от 100 руб.

срок: от 1 дня

Реферат на заказ

Реферат

от 700 руб.

срок: от 1 дня

Другие работы автора
  • Реферат:

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

    17 страниц(ы) 

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

    Расчет стальной балки на изгиб

    9 страниц(ы) 

    Задание
    Определить реакции опор балки, поперечные силы Q, изгибающие моменты М и построить эпюры Q и М. Найти размеры поперечного сечения,
    если известно, что:
    схема а) стальная круглая балка [σ]=120 МПа
    схема б) швеллер [σ]=110 МПа
    Известны нагрузки F=45 кН, М0=35 кН*м, q=20 кН/м, а=1,8 м.
    Схема а)
  • Реферат:

    Обязательства в гражданском праве. Вещное право

    17 страниц(ы) 

    ОБЩИЕ ПОЛОЖЕНИЯ, СИСТЕМА И ВИДЫ ОБЯЗАТЕЛЬСТВ. 3
    ОСНОВАНИЯ ВОЗНИКНОВЕНИЯ ОБЯЗАТЕЛЬСТВ. 6
    ИСПОЛНЕНИЕ ОБЯЗАТЕЛЬСТВ. 7
    ОБЕСПЕЧЕНИЕ ИСПОЛНЕНИЯ И ПРЕКРАЩЕНИЕ ОБЯЗАТЕЛЬСТВ. 11
    ПОНЯТИЕ И ОСОБЕННОСТИ ВЕЩЕЙ КАК ОБЪЕКТОВ ГРАЖДАНСКОГО ПРАВА 12
    КЛАССИФИКАЦИЯ ВЕЩЕЙ В ГРАЖДАНСКОМ ПРАВЕ 13
    ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА 17
  • Курсовая работа:

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

    11 страниц(ы) 

    Введение 2
    1. Маршрутно-операционный технологический процесс изготовления детали 3
    2. Операционный эскиз токарной операции на токарном станке с ЧПУ 6
    3. Аналитический расчет режимов резания на чистовой переход 7
    Заключение 10
    Список используемой литературы 11
  • Контрольная работа:

    Инструментальные средства программирования в СУТП. Архитектура микроконтроллеров

    15 страниц(ы) 

    Введение….3
    1. Архитектура микроконтроллеров MCS-51….4
    1.1. Блок управления и синхронизации….4
    2. Архитектура микроконтроллеров ARM….7
    2.1. Основные характеристики ядра ARM7….7
    3. Архитектура микроконтроллера AVR….10
    3.1. Микропроцессор….10
    3.2. Память….10
    3.2.1. Память программ (Flash ROM или Flash ПЗУ)….10
    3.2.2. Память данных….11
    3.2.3. Регистровая память (РОН и РВВ)….11
    3.2.4. Энергонезависимая память данных (EEPROM)….11
    3.2.5. Оперативная память (ОЗУ или RAM)….11
    3.3. Периферия….11
    3.3.1. Порты ввода/вывода (I/O)…11
    3.3.2. Прерывания (INTERRUPTS)….12
    3.3.3. Таймеры/счетчики (TIMER/COUNTERS)….12
    3.3.4. Сторожевой таймер (WDT)….12
    3.3.5. Аналоговый компаратор (AC)….13
    3.3.6. Аналого-цифровой преобразователь (A/D CONVERTER)….13
    3.3.7. Универсальный последовательный приемопередатчик (UART или USART)….13
    3.3.8. Последовательный периферийный интерфейс SPI….13
    3.3.9. Двухпроводной последовательный интерфейс TWI….13
    3.3.10. Интерфейс JTAG….13
    3.3.11. Тактовый генератор…14
    3.3.12. Система реального времени (RTC)….14
    3.4. Питание….14
    3.4.1. Сброс при снижении напряжения питания (BOD)…14
    Заключение….15
    Список литературы….16

  • Контрольная работа:

    Безопасность жизнедеятельности. Теория и практика

    18 страниц(ы) 

    1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

    Энергетические затраты человека при различных видах деятельности. Методы оценки тяжести труда…. 3

    2. РАСЧЕТНАЯ ЧАСТЬ
    Тема 1: Обеспечение комфортных условий жизнедеятельности. Качество воздушной среды. Микроклимат помещений… 6
    Тема 2: Производственное освещение. Расчет искусственного освещения методом коэффициента использования светового потока… 10
    Тема 3: Производственный шум…. 13
    Тема 4: Электромагнитные поля и излучения…. 14
    Тема 5: Ионизирующие излучения…. 16
    Список используемой литературы… 19
  • Контрольная работа:

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

    13 страниц(ы) 

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

    Статический, кинематический, динамический расчеты трехстепенного манипулятора

    19 страниц(ы) 

    Задание. На рисунке 1 изображен трехстепенной манипулятор. Законы движения приведены в таблице 1. Длины, веса и моменты инерции звеньев приведены в таблице 2.



    Рисунок 1
    Таблица 1
    t, c S1, м S2, м , рад XM, H YM, H ZM, H
    1 0.1+0.18sin(t/4) 0.06(-cos(t/4)+2) t3- t2 4 -3 5
    Таблица 2
  • Контрольная работа:

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

    11 страниц(ы) 

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

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

    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 Общая сумма затрат на сеть