Запуск расчетов:
Запуск массива задач в среде scilab с различными параметрами
$ ~/submit-tp -v pbs -q long -r 6-7 -f ./impkvart01.sh -j scilab-impedanec
3096.pbs-tp.hpc.cc.spbu.ru
$
Исполняемый скрипт:
$ cat impkvart01.sh
#/bin/sh!
export PATH=$PATH:/usr/local/scilab-5.3.0/bin
worckdir=`mktemp -d`;
cd $worckdir
cat << EOF > startall
exec('$HOME/mathlab/all09.03.sce');
stacksize('max');
rt=stacksize()
SQS03('$HOME/math/B23_0708.ts',200,1000,100,0.$PBS_ARRAYID);
tr=stacksize()
exit
EOF
scilab -nwni -f startall
mv $worckdir $HOME/${PBS_JOBNAME}.outdir
echo $HOME/${PBS_JOBNAME}.outdir
Рассмотрим исполняемый скрипт детально.
В начале идет объявление переменных окружения для используемого пакета Scilab:
export PATH=$PATH:/usr/local/scilab-5.3.0/bin
Создание временной директорий и преход в нее (это будет происходить уже на рабочем узле кластера):
worckdir=`mktemp -d`;
cd $worckdir
Создание исполняемого скрипта scilab, с переменным параметром $PBS_ARRAYID
, который в нашем случае будет принимать значения 6 и 7:
cat << EOF > startall
exec('$HOME/mathlab/all09.03.sce');
stacksize('max');
rt=stacksize()
SQS03('$HOME/math/B23_0708.ts',200,1000,100,0.$PBS_ARRAYID);
tr=stacksize()
exit
EOF
Запуск созданного скрипта:
scilab -nwni -f startall
Перемещение результатов с рабочего узла кластера в домашнюю директорию пользователя:
mv $worckdir $HOME/${PBS_JOBNAME}.outdir
Вывод имени каталога с результатом:
echo $HOME/${PBS_JOBNAME}.outdir
В итоге мы получаем 2 файла стандартного вывода:
-rw------- 1 zar users 36 Feb 6 14:48 scilab-impedanec.o3096-6
-rw------- 1 zar users 36 Feb 6 14:47 scilab-impedanec.o3096-7
В которых прописаны имена итоговых каталогов:
$ cat scilab-impedanec.o3096-6
/home/zar/scilab-impedanec-6.outdir
$
В итоговом каталоге мы видим результаты вычислений и сам сгенерированный скрипт, который запускался в scilab:
$ ll /home/zar/scilab-impedanec-6.outdir
total 6750
-rw-r--r-- 1 zar users 4995 Feb 6 14:47 R357.1000.100
-rw-r--r-- 1 zar users 147 Feb 6 14:34 startall
-rw-r--r-- 1 zar users 1717355 Feb 6 14:47 XYSQS00-IM.357.1000.100
-rw-r--r-- 1 zar users 1717355 Feb 6 14:47 XYSQS00-RE.357.1000.100
-rw-r--r-- 1 zar users 1717355 Feb 6 14:47 YXSQS00-IM.357.1000.100
-rw-r--r-- 1 zar users 1717355 Feb 6 14:47 YXSQS00-RE.357.1000.100
Содержимое файла /home/zar/scilab-impedanec-6.outdir/startall
:
exec('/home/zar/mathlab/all09.03.sce');
stacksize('max');
rt=stacksize()
SQS03('/home/zar/math/B23_0708.ts',200,1000,100,0.6);
tr=stacksize()
exit
Мы видим, что последний параметр, который у нас и был переменным в папке с префиксом "-6
" равен 0.6. В папке с префиксом "-7
" — соответственно 0.7 .