Организация параллельных потоков. Часть 2 | страница 2
Всё это нужно, чтобы студент не просто освоил стандартные, шаблонные действия с конкретным программным продуктом. В любом деле нужны специалисты с кругозором и эрудицией, с пониманием и способностью самостоятельно развиваться. А это требует чего-то большего, чем только узкопрофессиональные знания и конкретные умения.
На сегодняшний день в интернете имеется множество онлайн курсов.
Первый пример — Национальный Открытый Университет ИНТУИТ:
Основной ресурс с отечественными массовыми открытыми онлайн-курсами (МООК) — «Открытое образование»:
Международная платформа МООК «Курсера»:
Задание. Найдите на перечисленных сайтах курсы по следующим ключевым словам и перечислите их в отчёте:
— параллельные;
— parallel;
— высокопроизводительные;
— high performance computing;
— суперкомпьютеры;
— supercomputer;
— OрenMP;
— HPC;
— многоядерные;
— multicore.
1.2. Оформление отчёта
Отчёт по работе оформляем точно так же, как и в предыдущих работах [10]. Отчёт делаем в виде рабочей книги Excel. Это многостраничная книга с оглавлением.
Вначале, как и положено, должен быть титульный лист со всеми данными о работе и исполнителе.
Затем идёт оглавление со ссылками на все страницы.
Далее — задание.
Следом — шаги выполнения работы.
Текст программы вставляем как текст, а не как картинку.
На каждом листе — заголовок и пояснения о том, что заложено в данной программе. Что она должна делать и как это реализовано. Здесь же копия экрана и пояснения по поводу результатов работы.
Поскольку листов в отчёте будет много, названия листов (на вкладках) содержат только номера страниц. Подробные названия нужны в верхней части листа и в оглавлении.
Задание. Создайте файл отчёта и заполните титульный лист.
2. Технология OpenMP
В данной работе мы знакомимся с технологией автоматического распараллеливания программ OpenMP.
Название расшифровывается следующим образом:
Open Multi-Processing.
Распараллеливание программ поддерживается для двух языков программирования
— Fortran;
— С/С++.
2.1. Ключевые понятия
В результате использования данной технологии компилятор автоматически генерирует многопоточные программы. Такие программы дают эффект ускорения при запуске на многоядерных системах с общей памятью.
Многоядерные компьютеры — это так называемые «системы с общей памятью». Другое название — разделяемая память. Английское название: SHARED MEMORY.
Имеется в виду совместное использование оперативной памяти: любой поток имеет доступ к общим глобальным переменным процесса. Более красивая официальная формулировка звучит так: «общий доступ параллельных потоков к виртуальному адресному пространству текущего процесса».