Project

General

Profile

Actions

PGI » History » Revision 1

Revision 1/2 | Next »
Владимир Кихтенко, 03/16/2012 05:31 PM


Использование компилятора 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
    

Updated by Владимир Кихтенко about 13 years ago · 1 revisions