Использование IBM X10 на кластере Jet
На вычислительном кластере Jet установлен компилятор с языка IBM X10 версии 2.3 (SVN trunk). Параметры сборки и конфигурация runtime-системы:
ant -DNO_CHECKS=true -Doptimize=true squeakyclean -Davailable.procs=8 -DX10RT_MPI=true dist
Настройка среды окружения
Для использования компилятора с языка IBM X10 необходимо настроить переменные среды окружения.
Добавьте в файл ~/.bashrc
строку "source /opt/etc/x10-vars.sh
".
$ cat ~/.bashrc if [ -f /etc/bashrc ]; then . /etc/bashrc fi source /opt/etc/mpich2-vars.sh source /opt/etc/x10-vars.sh
Компиляция программы на языке IBM X10
Для компиляции программ на языке IBM X10 предназначена команда x10c++
. Ниже приведен пример компиляции программы prog.x10
:
Следует обязательно указывать опцию "-x10rt mpi"
, которая реализует обмены между областями (Places) функциями библиотеки MPI (mpich2 1.5).
$ x10c++ -x10rt mpi -o prog ./prog.x10
Запуск X10 программ через систему очередей TORQUE
Для запуска X10 программы через систему управления ресурсами TORQUE в job-файле следует использовать утилит x10run
. Указанная команда запустит на каждом выделенном вычислительном узле одну область (Place).
Ниже приведен пример job-файла prog.job
. На каждом из 4 узлов будет запущена одна область (Place) с 1 рабочими потоком (по умолчанию для каждо области создается 1 рабочий поток, не смотря на действительное значение ppn).
$ cat ./prog.job #PBS -N MyX10Job #PBS -l nodes=4:ppn=6 #PBS -j oe cd $PBS_O_WORKDIR x10run ./prog
Для ограничения количества используемых потоков на узле следует использовать переменную среды окружения X10_NTHREADS
. В нижеследующем примере на каждом из 5 узлов будет запущена область (Place) с 4 рабочими потоками, которые будут выполнять задачи (activities).
$ cat ./prog.job #PBS -N MyX10Job #PBS -l nodes=5:ppn=8 #PBS -j oe cd $PBS_O_WORKDIR export X10_NTHREADS=4 x10run ./prog
- В опциях
ppn
иX10_NTHREADS
рекомендуется указаывать одинаковые значения - В каталоге
/opt/examples/x10
размещен пример X10 программы, скрипт для её компиляции и job-файл
Последнее изменение: October 19, 2012, at 08:57 AM mkurnosov