В контексте системы Blue Gene/P, про расчеты, использующие
обычно говорят, как про высокопроизводительные вычисления (high-performance computing, HPC).
Суперкомпьютер Blue Gene/P представляет собой систему с распределенной памятью и использует явную передачу сообщений для обмена данными между процессами, которые запущены на различных вычислительных узлах. Оперативная память на узлах является разделяемой, поэтому возможно использовать интерфейс OpenMP и потоковые библиотеки.
В качестве протокола передачи сообщений на системе Blue Gene/P применяется MPI. В настоящий момент поддерживаются версии MPI-1.2 и MPI-2, однако механизм управления процессами использовать нельзя. Реализация MPI для Blue Gene/P основана на реализации, выполненной в Национальной лаборатории Argonne, при этом были внесены следующие изменения:
С точки зрения прикладного программиста, наиболее важным аспектом этих изменений является тот факт, что при межпроцессных коммуникациях будут использоваться различные сети в зависимости от вызываемой функции.
На системе Blue Gene/P в SMP- и DUAL-режимах можно использоваться механизм OpenMP для распараллеливания в условиях общей памяти вычислительного узла.
Интерфейс OpenMP можно использовать совместно с MPI: вычислительные узлы обмениваются данными с помощью MPI, а в рамках процессора распараллеливание осуществляется на основе OpenMP. Доступны компиляторы для C/C++ и Фортрана:
Чтобы задействовать OpenMP-распараллеливание, необходимо указать компилятору ключ -qsmp=omp.
Текст составлен на основе материала главы 7, «Parallel paradigms», 2-го издания книги «IBM System Blue Gene Solution: Blue Gene/P Application Development»