Исследования › Вычислительная система МВС–Экспресс › SKIF-MPI — Реализация MPI на вычислительной системе МВС-Экспресс
Вычислительная система МВС-Экспресс SKIF-MPI – реализация MPI на вычислительной системе МВС-Экспресс
Руководство пользователя.
Климов Ю. А., Лацис А. О.
Введение.
Для использования MPI следует включить в путь (в файле ~/.profile) директорию /common/skif-mpi/bin
после /common/runmvs/bin.
Трансляция программы.
Программа пользователя транслируется командой mpicc, например:
mpicc -o myprog myprog.c
Программа на C должна иметь тип исходного файла «.c», и включать файл заголовков «mpi.h».
Если программа написана с использованием OpenMP, то соответствующий аргумент следует добавить к команде трансляции, например:
mpicc –o myprog -openmp myprog.c
Запуск программы.
Программа пользователя запускается командой mpirun с ключом -ppn X, где X
– число процессов, запускаемых на одном узле вычислителя.
Допустимые значения X (число доступных программе пользователя процессоров на узле)
– от 1 до 7 на кластере МВС-Экспресс и от 1 до 16 на кластере К-10. Процессы раскладываются по узлам по X штук в порядке номеров. Например, при использовании команды mpirun -ppn 3 на первом из выделенных программе узлов будут размещены процессы 0, 1 и 2, на втором – 3, 4 и 5, и т. д. Аргументы этой команды – как у mpirun, например:
mpirun -ppn 7 -np 24 -maxtime 5 myprog
- запуск программы myprog на 5 минут на 24 процессорах. При этом на первых 3-х узлах будет задействован 3*7=21 процессор, а на 4-м узле - оставшиеся 3 процессора.
В состав узла «МВС-Экспресс» входит, помимо семи процессоров, один ускоритель CUDA.
Если предполагается, что каждый процесс программы использует CUDA
независимо от других, то такую программу можно запускать только в режиме «один процесс на узел» mpirun -ppn 1.
Аналогично на «К-10» с тремя ускорителями CUDA «три процесса на узел» mpirun -ppn 3.
В этом же режиме следует запускать программы, написанные с использованием OpenMP. При этом следует явно указывать число процессов на узле равным 7, например:
#pragma omp parallel for schedule(static) num_threads(7)
Прочие действия пользователя по управлению прохождением программ.
На вычислительных системах МВС-экспресс устанавливается та же система управления прохождением задач, что используется для кластерных версий МВС-1000.
Различия описаны выше в настоящем документе.
Все остальные сведения можно почерпнуть, из раздела: Документы, вариант для машин «K-10» или «МВС-Экспресс».
|