• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

High Performance Computing

2025/2026
Academic Year
RUS
Instruction in Russian
Delivered at:
Department of Informatics
Course type:
Elective course
When:
1 year, 3, 4 module

Instructor


Akhtyamov, Pavel

Программа дисциплины

Аннотация

Количество ядер в современных процессорах уже измеряется десятками, в графических ускорителях – тысячами, а в суперкомпьютерах – миллионами. Многоядерные вычислительные системы широко применяются в машинном обучении, науках о материалах, биоинформатике, автоматизации проектирования, вычислительной химии и физике. Эффективно использовать эту значительную вычислительную мощность – непростая задача, требующая применения современных подходов, составляющих основное содержание предлагаемого спецкурса. Курс состоит из шести разделов. Первая вводная часть курса посвящена таким базовым концепциям параллельных вычислений, а также обзору современного устройства процессоров, ускорителей, способов организации оперативной памяти и высокопроизводительных сетей передачи данных. В небольшой второй части курса изучаются векторные устройства микропроцессоров и способам разработки программ для них. Основное внимание уделено архитектуре и программной поддержке технологии AVX. В третьей части рассматриваются средства разработки многопоточных программ. На примере различных алгоритмов изучаются такие инструменты, как POSIX Threads, современные расширения C++ (стандарты 11,14,17,20) для параллельных вычислений. Четвертая часть посвящена архитектуре и средствам разработки программ для графических ускорителей (GPU). Основное внимание уделяется программному стеку CUDA. Современные высокоуровневые средства разработки многопоточных программ для центральных процессоров и ускорителей рассматриваются в пятом разделе. Изучаются инструменты OpenMP, OpenACC и OpenCL. В пятой, заключительной части, рассматриваются технологии разработки программ для наиболее мощных высокопроизводительных систем – вычислительных кластеров. Основное внимание уделено самому распространенному средству разработки программ для таких систем – библиотеке MPI, интеграции MPI и CUDA. Является дисциплиной по выбору.