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

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

Многопоточное программирование средствами 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
Узнайте стоимость
написания вашей работы

У нас можно заказать

(Цены могут варьироваться от сложности и объема задания)

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

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

от 100 руб.

срок: от 1 дня

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

Реферат

от 700 руб.

срок: от 1 дня

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

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

от 1500 руб.

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

Дипломная на заказ

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

от 8000 руб.

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

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

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

от 1500 руб.

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

Решение задач на заказ

Решение задач

от 100 руб.

срок: от 1 дня

Лабораторная работа на заказ

Лабораторная работа

от 200 руб.

срок: от 1 дня

Доклад на заказ

Доклад

от 300 руб.

срок: от 1 дня

682 автора

помогают студентам

42 задания

за последние сутки

10 минут

время отклика

Похожие работы
  • Дипломная работа:

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

    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