Аннотация

Учебный курс посвящен основным принципам, методам и технологиям параллельного программирования, ориентированных на решение ресурсоёмких задач физически и нелинейной оптики в частности. В курсе будут подробно разобраны такие популярные технологии параллельного программирования как OpenMP и MPI. Практические занятия будут проводиться на базе выделенного учебного кластера, содержащего 14 процессоров Intel Xeon.

Завершающим этапом курса является работа над индивидуальным заданием, охватывающим весь материал курса. Курс открывает широкие возможности дальнейшего развития на переднем крае науки.

Введение

Современные научные и прикладные исследования в физике часто требуют проведения масштабных ресурсоемких вычислений. Стремительный рост производительности современных вычислительных систем достигается  за счет использование параллельно работающих процессоров или многоядерных систем. Традиционные суперкомпьютеры с оригинальной архитектурой значительно повышают производительность вычислений, однако имеют существенный недостаток – большую цену, чем серьёзно уступают кластерным системам. При существенном снижении стоимости производительность кластерной системы в большом классе задач остается весьма высокой. Так, согласно последнему списку наиболее мощных компьютеров мира (www.top500.org), 81% самых производительных вычислительных систем в мире выполнены по кластерной технологии с использованием стандартных вычислительных узлов.  В тоже время стандартный вычислительный узел уже давно не является однопроцессорной машиной, и эффективность использования многопроцессорной/многоядерной архитектуры для решения одной ресурсоемкой задачи зависит от применяемых средств разработки и методов распараллеливания. Технологией ставшей де-факто стандартной в научных ресурсоёмких приложениях является OpenMP, поддерживаемая всеми современными разработчиками компиляторов

Основная цель предлагаемого курса, побудить студентов-физиков к «параллельному размышлению» над численным решением физической задачи, снабдить их в рамках лекционно-практического курса технологиями и навыками распараллеливания задач. Поскольку не каждую задачу удается эффективно распараллелить, то отдельно в курсе стоит проблема анализа возможных физических задач и поиска таких алгоритмов их решения, которые допускают одновременное использование нескольких узлов кластера. Практические занятия на учебном кластере и современной суперкомпьютере позволят студентам приобрести навыки удаленного использования мощных вычислительных ресурсов и откроют широкие перспективы в научно-исследовательской работе.

Приобретаемые знания и умения

В результате курса слушатели получают знания об популярных технологиях параллельного программирования; знания о современных высокопроизводительных вычислительных системах и практические навыки работы на них.

Образовательные технологии

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

Программное обеспечение и ресурсы в интернете

Контроль успеваемости

Программа курса

Раздел

Неделя Семестр 3

Обзор технологий параллельных вычислений.

1

Введение в архитектуру высокопроизводительных систем.

2

Операционная система Linux

3-5

Введение в технологии параллельного программирования

6

Технология OpenMP

7-9

Интерфейс передачи сообщений MPI

10-12

Выполнение индивидуального задания с использованием MPI

13-17

Зачет.

18

 

Семестр 4

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

1

Выполнение курсовой работы: создание функциональных блоков программы, тесты, проверка взаимодействия блоков между собой, демонстрация базовой функциональности разрабатываемой программы. Консультации.

2-6

Промежуточная аттестация.

7

Выполнение курсовой работы: доработка выявленных недостатков программы, наращивание функциональности. Консультации.

8-15

Защита курсовой работы. Экзамен.

16

Литература