Об этом курсе
Недавно просмотрено: 2,528

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Прибл. 28 часа на выполнение

Предполагаемая нагрузка: 9 недель исследования, 1-2 часов / неделю...

Русский

Субтитры: Русский

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Прибл. 28 часа на выполнение

Предполагаемая нагрузка: 9 недель исследования, 1-2 часов / неделю...

Русский

Субтитры: Русский

Программа курса: что вы изучите

Неделя
1
2 ч. на завершение

Добро пожаловать на курс «Введение в параллельное программирование с использованием OpenMP и MPI»

Добро пожаловать на курс параллельного программирования! Надеемся вам будет интересно. Пожалуйста, внимательно прочитайте все инструкции.

...
1 видео ((всего 1 мин.)), 11 материалов для самостоятельного изучения
11 материала для самостоятельного изучения
О Национальном исследовательском Томском государственном университете10мин
О преподавателях10мин
О команде курса10мин
Необходимое программное обеспечение10мин
Инструкция по установке MS Visual Studio 2015 Community edition в операционной системе Windows10мин
Инструкция по установке Intel® Parallel Studio XE Professional 2016 на компьютер с операционной системой Windows10мин
Инструкция по установке HPC Pack 2008 SDK SP2 на компьютер с операционной системой Windows10мин
Инструкция по установке и настройке MPI в Windows10мин
Список литературы и дополнительных материалов к курсу10мин
Анкета слушателя10мин
Доступ к кластеру ТГУ Cyberia10мин
1 ч. на завершение

Введение в параллельный мир

На этой неделе мы рассмотрим историю развития высокопроизводительных вычислительных систем. Разберемся, как устроена память в компьютере и какие есть у нее особенности. Также мы с вами узнаем, как устроена оперативная память в многопроцессорных вычислительных системах, и рассмотрим их основные архитектуры. Рассмотрим несколько примеров задач, для решения которых необходимо применять суперЭВМ, и некоторые инструменты создания параллельных программ.

...
5 видео ((всего 43 мин.)), 2 материалов для самостоятельного изучения, 1 тест
5 видео
1.2. Иерархическая организация памяти в компьютере8мин
1.3. Основные архитектуры многопроцессорных вычислительных систем. Их классификация10мин
1.4. Обзор задач, требующих использования СуперЭВМ7мин
1.5. Инструменты создания параллельных программ7мин
2 материала для самостоятельного изучения
Перемножение матриц10мин
Суперкомпьютерные технологии в науке, образовании и промышленности10мин
1 практическое упражнение
Тестовые вопросы20мин
Неделя
2
4 ч. на завершение

Основы OpenMP

Добро пожаловать на вторую неделю курса! На этой неделе мы рассмотрим особенности программирования для систем с общей памятью. Разберемся с такими понятиями, как поток и многопоточность. Мы начнем изучение технологии OpenMP, научимся создавать параллельную область. На примерах рассмотрим директивы, которые позволяют управлять процессом исполнения кода в параллельной области.

...
5 видео ((всего 40 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
5 видео
2.2. Технология OpenMP, особенности и ее компоненты8мин
2.3. Задание параллельной области и опции, влияющие на ее выполнение8мин
2.4. Модель памяти. Классы переменных в OpenMP7мин
2.5. Режимы выполнения многопоточных программ. Вложенный параллелизм8мин
2 материала для самостоятельного изучения
Ответ на вопрос10мин
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы20мин
Неделя
3
5 ч. на завершение

Директивы распределения работы и синхронизации работы

Добро пожаловать на третью неделю курса! Надеемся, что вы получаете удовольствие от курса и обучения. На этой неделе мы изучим директивы OpenMP, которые позволяют распределять работу между потоками. Рассмотрим различные способы синхронизации выполнения потоков, научимся создавать критические секции и работать с общими переменными с использованием атомарных операций, а также изучим механизмы синхронизации на основе «замков».

...
5 видео ((всего 34 мин.)), 3 материалов для самостоятельного изучения, 2 тестов
5 видео
3.2. Распределение нескольких структурных блоков между потоками4мин
3.3. Распределение работы на основе независимых задач7мин
3.4. Синхронизация выполнения различных потоков. Простые директивы7мин
3.5. Синхронизация выполнения различных потоков. Замки5мин
3 материала для самостоятельного изучения
Параллельная программа сложения векторов10мин
Параллельная обработка линейного списка10мин
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы26мин
Неделя
4
1 ч. на завершение

Векторные вычисления с помощью OpenMP 4.0

Приветствуем вас на четвертой неделе курса! На этой недели мы разберемся с тем, что такое векторизация и зачем она нужна. Рассмотрим, как можно векторизовать код для современных процессоров, и познакомимся с новыми возможностями стандарта OpenMP 4.0.

...
4 видео ((всего 43 мин.)), 1 материал для самостоятельного изучения, 1 тест
4 видео
4.2. Векторизация исполняемого кода для современных процессоров9мин
4.3. Новые возможности в стандарте OpenMP 4.09мин
4.4. Примеры использования векторизации13мин
1 материал для самостоятельного изучения
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы18мин
Неделя
5
5 ч. на завершение

Анализ и оптимизация программ с использованием современных программных пакетов

Вот вы и добрались до пятой недели курса! На этой неделе мы с вами рассмотрим основные опции компилятора Intel и то, как можно попробовать автоматически распараллелить программу. Мы также изучим основные возможности программного пакета Intel Parallel Studio, который упрощает и помогает создавать параллельные программы.

...
4 видео ((всего 59 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
4 видео
5.2. Основные возможности Intel Parallel Studio6мин
5.3. Поиск ошибок работы с памятью с использованием Intel® Parallel Inspector16мин
5.4. Профилирование программ с использованием Intel® Parallel Amplifier27мин
2 материала для самостоятельного изучения
Использование опций компилятора10мин
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы20мин
Неделя
6
1 ч. на завершение

Системы с распределённой памятью. Основы MPI

Приветствуем вас на шестой неделе курса! Вы узнаете историю создания стандарта MPI и задачи, для решения которых он был разработан. Мы дадим основные термины и определения, используемые в рамках модели передачи сообщений. На нескольких примерах параллельных программ будут описаны шесть функций библиотеки MPI, использования которых уже достаточно для написания первых параллельных программ.

...
5 видео ((всего 28 мин.)), 1 материал для самостоятельного изучения, 1 тест
5 видео
6.2. Основные понятия и определения, состав MPI. Синтаксис функций MPI4мин
6.3. Первая параллельная программа с использованием MPI5мин
6.4. Ускорение работы параллельной программы7мин
6.5. О построении параллельных алгоритмов5мин
1 материал для самостоятельного изучения
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы24мин
Неделя
7
1 ч. на завершение

Прием и передача сообщений между отдельными процессами

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

...
5 видео ((всего 24 мин.)), 1 материал для самостоятельного изучения, 1 тест
5 видео
7.2. Блокирующие обмены5мин
7.3. Неблокирующие обмены3мин
7.4. Параллельные алгоритмы суммирования6мин
7.5. Примеры параллельных программ, демонстрирующие использование функций MPI, изученных в модуле 73мин
1 материал для самостоятельного изучения
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы20мин
Неделя
8
4 ч. на завершение

Коллективные операции

Добро пожаловать на предпоследнюю неделю курса! На этой неделе мы изучим операции коллективного взаимодействия процессов, рассмотрим входные и выходные параметры для коллективных функций, опишем особенности их использования в зависимости от поставленной задачи.

...
5 видео ((всего 21 мин.)), 1 материал для самостоятельного изучения, 2 тестов
5 видео
8.2. Функции сбора данных со всех процессов4мин
8.3. Функции распределения данных по всем процессам3мин
8.4. Функции редукции4мин
8.5. Примеры параллельных программ, демонстрирующие использование функций MPI, изученных в модуле 84мин
1 материал для самостоятельного изучения
Исходные коды примеров из видеолекций10мин
1 практическое упражнение
Тестовые вопросы20мин
Неделя
9
4 ч. на завершение

Производные типы данных. Группы и коммуникаторы

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

...
5 видео ((всего 27 мин.)), 2 материалов для самостоятельного изучения, 2 тестов
5 видео
9.2. Создание групп и коммуникаторов5мин
9.3. Виртуальные топологии. Декартова топология. Организация пересылок данных в декартовой топологии5мин
9.4. Виртуальные топологии. Топология графа4мин
9.5. Примеры параллельных программ, демонстрирующие использование функций MPI, изученных в модуле 94мин
2 материала для самостоятельного изучения
Исходные коды примеров из видеолекций10мин
Анкета завершившего курс10мин
1 практическое упражнение
Тестовые вопросы16мин

Преподаватели

Avatar

Николай Николаевич Богословский (Nikolay N. Bogoslovskiy)

Кандидат физико-математических наук, доцент (Сandidate of Physics and Mathematics, Associate Professor)
Кафедра вычислительной математики и компьютерного моделирования ММФ (Department of Calculus Mathematics and Computer Modelling, Mechanics and Mathematics Faculty)
Avatar

Евгений Александрович Данилкин (Evgeniy A. Danilkin)

Кандидат физико-математических наук, доцент (Сandidate of Physics and Mathematics, Associate Professor)
Кафедра вычислительной математики и компьютерного моделирования ММФ (Department of Calculus Mathematics and Computer Modelling, Mechanics and Mathematics Faculty)

О Национальный исследовательский Томский государственный университет

National Research Tomsk State University is the largest classical university in the Asian part of Russia. For over 135 years TSU has been training the scientific and managerial elite, based on the integration of academic process and fundamental scientific research. It is a renowned center of education, science, innovations and attraction for creative talents, a generator of advanced ideas, and a paragon of adherence to the best traditions of Russian higher education. There are 23 departments and learning institutes, 1 University branch, Institute of Distance Education, Institute of Innovations in Education operating at TSU, and more than 17,000 students studying at the University, with 135 subject areas and specialties to choose from. TSU offers 136 Master’s programmes in 55 areas of academic studies and counting. The number of international students is constantly increasing, now with more than 1300 TSU students coming from countries such as the USA, UK, Germany, France, Australia, Italy, Poland, Mongolia, China, Vietnam, Korea, Columbia, Turkey and others....

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

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

Остались вопросы? Посетите Центр поддержки учащихся.