Действия
PGI » История » Редакция 1
Редакция 1/2
| Следующее »
Владимир Кихтенко, 16.03.2012 17:31
Использование компилятора Portland¶
Для использования компилятора pgi требуется включить модуль окружения pgi64
$ module load pgi64После этого становятся доступными
pgcc
, pgf77
, pgf90
и прочие компиляторы. При запуске программ скомпилированных ими лучше тоже подключать модуль pgi64.
PGI + MPI¶
В настоящее время на кластере поддерживаются две библиотеки MPI: OpenMPI и MPICH (идущая в комплекте с PGI). Рекомендуется использовать OpenMPI, т.к. в MPICH отсутствует поддержка Infiniband.
Последовательность действий для компиляции и запуска MPI программы следующая:
- Загрузить модуль окружения для выбранной библиотеки MPI и компилятора. При использовании PGI модуль pgi64 будет загружен автоматически.
$ module load openmpi/pgi # или mpich/pgi, или openmpi/gcc
Если подключить сразу два модуля, то ничего хорошего скорее всего не выйдет. Проверить список подключенных модулей можно командойmodule list
, а отключить все подключенные модули командойmodule purge
.
- Скомпилировать программу с помощью обертки для компилятора
mpicc
,mpif77
илиmpif90
. При этом будет вызван выбранный компилятор. Оберткам можно передавать все специфичные для выбранного компилятора опции.$ mpicc mysource.c -o myprogram
Если сборка производится с помощьюmake
, то возможно потребуется явно указать на использование обертки компилятора (mpicc, mpif77, ...) с помощью переменныхCC, FC, F77, F90, CXX
и т.п.
- В скрипт для запуска задачи через систему очередей добавить загрузку модуля окружения (
module load <выбранный модуль>
). Поставить задачу в очередь. Подробнее про систему очередей$ qsub -l nodes=4 mystartscript.sh
Обновлено Владимир Кихтенко больше 12 лет назад · 1 изменени(я, ий)