НОЦ «СКТ–Юг»
Здесь буду выкладывать материалы Научно образовательного центра Суперкомпьютерных технологий до тех пор, пока не будет создан официальный сайт проекта. С каждым днём здесь будет всё больше материалов — заходите периодически.
Введение
Презентация от Дубова Дениса Владимировича, старшего преподавателя кафедры Прикладной математики и программирования ЮФУ:
- Введение в параллельное программирование (PDF-файл, 5.3 Мбайта, скачан 18 раз);
- Обзор средств программирования многопроцессорных систем (PDF-файл, 908 Кбайт, скачан 14 раз);
- Введение в ОС Linux и командную оболочку bash (PDF-файл, 1.1 Мбайта, скачан 17 раз);
- Средство сборки проектов GNU make (PDF-файл, 420 Кбайт, скачан 8 раз);
- Парадигмы параллельного программирования (PDF-файл, 647 Кбайт, скачан 14 раз).
Ещё одна презентация от Дубова Дениса Владимировича:
- Модели взаимодействия процессов (PDF-файл, 342 Кбайта, скачан 7 раз);
- Методы распределённого программирования (PDF-файл, 345 Кбайт, скачан 8 раз);
- Примеры задач параллельного программирования (PDF-файл, 551 Кбайт, скачан 9 раз).
- Классификация параллельных вычислительных систем.
- Свойства параллельных алгоритмов.
OpenMP
Замечательная презентация по OpenMP от Дмитрия Лапина — директора Центра коллективного пользования супервычислительными ресурсами ТТИ ЮФУ:
Презентация от Дубова Дениса Владимировича: Введение в программный интерфейс OpenMP (PDF-файл, 576 Кбайт, скачан 10 раз).
Руководство по настройке OpenMP в Visual Studio.
MPI
-
Презентация от Дубова Дениса Владимировича:
- Среда параллельного программирования MPI (PDF-файл, 1.1 Мбайта, скачан 11 раз);
- Производные типы данных в MPI (PDF-файл, 318 Кбайт, скачан 6 раз).
Ещё одна презентация от Дубова Дениса Владимировича: Введение в MPI (PDF-файл, 916 Кбайт, скачан 9 раз).
Руководство по настройке MPICH в Windows.
Практические задания по MPI (PDF-файл, 196 Кбайт, скачан 9 раз).
Языки программирования со встроенной поддержкой параллелизма
- В последнем стандарте языка C++ (сентябрь 2011) формализована модель памяти и добавлена библиотечная поддержка многопоточного программирования для вычислительных систем с общей памятью. Подробности здесь.
- Stackless Python (вариант Питона, не использующий Си-шный стек) имеет много интересных возможностей, связанных с отсутствием стека. В частности, это микропотоки. Подробности здесь.
- Язык программирования Go от Google поддерживает параллельные вычисления на основе исчисления процессов Communicating sequential processes. Подробности здесь.
- Функциональный язык программирования Erlang поддерживает параллельную обработку данных с использованием «легковесных потоков» и модели акторов. Подробнее здесь.
- Мультипарадигмальный (императивный + функциональный) язык программирования Scala работает на виртуальных машинах Java и .NET. Он поддерживает параллелизм, основанный на модели акторов, а также передачу сообщений в рамках модели Communicating sequential processes. Подробнее здесь.
- Язык программирования Oz поддерживает как параллельное, так и распределённое программирование. Подробности здесь.
- Occam — процедурный язык программирования, поддерживающий параллелизм на основе Communicating sequential processes. Подробности здесь.