Skip to content

Lecture notes for the High Performance Computing course read at the Saint-Petersburg State University in 2022 (in Russian language)

Notifications You must be signed in to change notification settings

geaned/hpc-2022-spbsu

Repository files navigation

hpc-2022-spbsu

Курс читал @eugenyk

Содержание курса

Лекция 1:

  • Введение в курс параллельного программирования
  • Каким бывает параллелизм
  • Межпоточное и межпроцессорное взаимодействие
  • Закон Амдала

Лекция 2:

  • Способы создания потока, их сравнение
  • Завершение работы потока
  • Механизм завершения потока в libc и Java
  • Работа с примитивами синхронизации
  • Классификация примитивов синхронизации: начало

Лекция 3:

  • Kernel space и user space
  • Класификация примитивов синхронизации: продолжение

Лекция 4:

  • Классификация ошибок параллельного программирования

Лекция 5:

  • Виды синхронизации
  • Thread-local storage

Лекция 6:

  • Поиск ошибки в многопоточном приложении
  • Приближенное устройство современного процессора
  • Коротко о volatile

Лекция 7:

  • Барьеры памяти и модели памяти
  • Проблема ABA
  • Линеаризуемость
  • Очередь Майкла-Скотта

Лекция 8:

  • Lock-free и wait-free алгоритм снятия снэпшота

Лекция 9:

  • Kernel-space RCU
  • User-space RCU
  • Flat combining
  • Архитектура thread pool в Java

Лекция 10:

  • Профилировка приложений
  • LD preload
  • Профилировка приложений: продолжение

Лекция 11:

  • OpenMP
  • TBB, аллокаторы, parallel pipeline
  • Консенсус

Лекция 12:

  • Асинхронный ввод-вывод
  • Асинхронные серверы

Лекция 13:

  • Транзакционная память
  • MPI

Лекция 14:

  • Организация параллельных вычислений
  • Шаблон double-check
  • JIT-оптимизации

OpenCL --- лекция 1:

  • Обзор технологии
  • Архитектура видеокарты
  • Простые алгоритмы и паттерны

OpenCL --- лекция 2:

  • Операция scan
  • Битоническая сортировка
  • Оптимизации

Дополнительная литература

About

Lecture notes for the High Performance Computing course read at the Saint-Petersburg State University in 2022 (in Russian language)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published