Использование Cray Chapel на кластере Jet
На вычислительном кластере Jet установлен компилятор с языка Cray Chapel версии 1.6.0. Конфигурация runtime-системы:
CHPL_HOST_PLATFORM: linux64 CHPL_HOST_COMPILER: gnu CHPL_TARGET_PLATFORM: linux64 CHPL_TARGET_COMPILER: gnu CHPL_COMM: gasnet CHPL_COMM_SUBSTRATE: udp CHPL_GASNET_SEGMENT: everything CHPL_TASKS: fifo CHPL_THREADS: pthreads CHPL_LAUNCHER: amudprun CHPL_TIMERS: generic CHPL_MEM: default CHPL_MAKE: gmake CHPL_ATOMICS: intrinsics CHPL_GMP: none
Настройка среды окружения
Для использования компилятора с языка Cray Chapel необходимо настроить переменные среды окружения.
Добавьте в файл ~/.bashrc
строку "source /opt/etc/chapel-vars.sh
".
$ cat ~/.bashrc if [ -f /etc/bashrc ]; then . /etc/bashrc fi source /opt/etc/mpich2-vars.sh source /opt/etc/chapel-vars.sh
Компиляция программы на языке Cray Chapel
Для компиляции программ на языке Cray Chapel предназначена команда chpl
. Ниже приведен пример компиляции программы prog.chpl
:
$ chpl -o prog ./prog.chpl
Запуск Chapel программ через систему очередей TORQUE
Для запуска Chapel программы через систему управления ресурсами TORQUE в job-файле следует использовать утилит chplrun
. Указанная команда запустит на каждом выделенном вычислительном узле одну область (locale).
Ниже приведен пример job-файла prog.job
. На каждом из 4 узлов будет запущена одна область (locale) с 8 потоками (используются все процессорные ядра узла, не смотря на действительное значение ppn).
$ cat ./prog.job #PBS -N MyChapelJob #PBS -l nodes=4:ppn=6 #PBS -j oe cd $PBS_O_WORKDIR chplrun ./prog
Для ограничения количества используемых потоков на узле следует использовать опцию --numThreadsPerLocale
. В нижеследующем примере на каждом из 5 узлов будет запущена область (locale) с 4 потоками.
$ cat ./prog.job #PBS -N MyChapelJob #PBS -l nodes=5:ppn=8 #PBS -j oe cd $PBS_O_WORKDIR chplrun ./prog --numThreadsPerLocale=4
- В опциях
ppn
и--numThreadsPerLocale
рекомендуется указаывать одинаковые значения - В каталоге
/opt/examples/chapel
размещен пример Chapel программы, скрипт для её компиляции и job-файл
Последнее изменение: October 25, 2012, at 03:51 AM mkurnosov