Этот репозиторий содержит материалы к семинарам по курса "Параллельное программирование" и "Основы распараллеливания программ", читаемых в московском физико-техническом институте.
Для компиляции необходимо использовать XeLaTeX, TeXLive 2013 или более новый.
- Области применения многопроцессорных систем. Примеры многопроцессорных и распределенных систем.
- Технология MPI. Модель MPI приложения. Базовые функции MPI.
- Общие вопросы. Состояние гонки. Примитивы синхронизации.
- Коллективные операции в MPI.
- Архитектура параллельных вычислительных систем. Общая память (SMP, UMA). MPP. NUMA.
- Разработка многопоточных приложений на Java.
- Стандарт Posix и программирование на общей памяти.
- Классификация параллельных вычислительных систем.
- Эффективность и ускорение параллельных программ. Закон Амдала.
- Основы технологии программирования OpenMP.
- Зависимости в циклах и их анализ на параллельность.
- Конвейерный параллелизм. VLIW-архитектура.
- Кэш память в многопроцессорных вычислительных системах. Когерентность кэша.
- Топология многопроцессорных вычислительных систем.
- MPI Ping-Pong
- MPI ring
- Сумма ряда 1/n!
- Сортировка
- Уравнение теплопроводности
- OpenMP ring
- Интеграл
- Циклы
- Выч. Маты
- POSIX ring.
- Найти недостающее число.
- Java: Добавить примеров.
- Java: Добавить ThreadExecutor.
- Java: Добавить suspend/resume/stop/wait/notify.
- Добавить лекцию про GPU.
- Расширить лекцию про pipeline. Добавить проблемы конвейера.
- Добавить лекцию про pthreads.
- Добавить лекцию про топологии сетей.
- Примеры использования колективных операций MPI.
Все торговые марки и логотипы, использованные в данном материале, являются собственностью их владельцев. Представленная здесь точка зрения отражает личное мнение автора, не выступающего от лица какой-либо организации.