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