Организация параллельных потоков. Часть 2 | страница 2



Всё это нужно, чтобы студент не просто освоил стандартные, шаблонные действия с конкретным программным продуктом. В любом деле нужны специалисты с кругозором и эрудицией, с пониманием и способностью самостоятельно развиваться. А это требует чего-то большего, чем только узкопрофессиональные знания и конкретные умения.

На сегодняшний день в интернете имеется множество онлайн курсов.

Первый пример — Национальный Открытый Университет ИНТУИТ:

https://www.intuit.ru.

Основной ресурс с отечественными массовыми открытыми онлайн-курсами (МООК) — «Открытое образование»:

https://openedu.ru/.

Международная платформа МООК «Курсера»:

https://www.coursera.org/.

Задание. Найдите на перечисленных сайтах курсы по следующим ключевым словам и перечислите их в отчёте:

— параллельные;

— parallel;

— высокопроизводительные;

— high performance computing;

— суперкомпьютеры;

— supercomputer;

— OрenMP;

— HPC;

— многоядерные;

— multicore.

1.2. Оформление отчёта

Отчёт по работе оформляем точно так же, как и в предыдущих работах [10]. Отчёт делаем в виде рабочей книги Excel. Это многостраничная книга с оглавлением.

Вначале, как и положено, должен быть титульный лист со всеми данными о работе и исполнителе.

Затем идёт оглавление со ссылками на все страницы.

Далее — задание.

Следом — шаги выполнения работы.

Текст программы вставляем как текст, а не как картинку.

На каждом листе — заголовок и пояснения о том, что заложено в данной программе. Что она должна делать и как это реализовано. Здесь же копия экрана и пояснения по поводу результатов работы.

Поскольку листов в отчёте будет много, названия листов (на вкладках) содержат только номера страниц. Подробные названия нужны в верхней части листа и в оглавлении.

Задание. Создайте файл отчёта и заполните титульный лист.

2. Технология OpenMP

В данной работе мы знакомимся с технологией автоматического распараллеливания программ OpenMP.

Название расшифровывается следующим образом:

Open Multi-Processing.

Распараллеливание программ поддерживается для двух языков программирования

— Fortran;

— С/С++.

2.1. Ключевые понятия

В результате использования данной технологии компилятор автоматически генерирует многопоточные программы. Такие программы дают эффект ускорения при запуске на многоядерных системах с общей памятью.

Многоядерные компьютеры — это так называемые «системы с общей памятью». Другое название — разделяемая память. Английское название: SHARED MEMORY.

Имеется в виду совместное использование оперативной памяти: любой поток имеет доступ к общим глобальным переменным процесса. Более красивая официальная формулировка звучит так: «общий доступ параллельных потоков к виртуальному адресному пространству текущего процесса».