Теперь рассмотрим работу скрипта submit-crystal14-dir.sh . Формат его запуска:
/usr/local/submit/submit-crystal14-dir.sh <cores> [task] [task_dir] [scratch_dir]
(для кластера Т-Платформы)
Параметры запуска:
<cores> - число процессорных ядер, задействованных для задачи.
[task] - необязательный параметр, имя входных файлов задачи.
Если указан данный параметр, необходимо также указать и параметр [task_dir].
[task_dir] - необязательный параметр, рабочая директория (со входными файлами).
[scratch_dir] - необязательный параметр, временная директория, используемая для расчетов на кластере.
Единственным обязательным параметром является параметр <cores> - пользователь должен указать число резервируемых процессорных ядер. Если никакие другие параметры не указаны, скрипт будет использовать текущую директорию как рабочую: в ней должны находиться входные файлы, в ней же будут созданы и выходные файлы. При этом имя директории должно соответствовать имени входных файлов (директория <task> со входными файлами вида <task>.d12 и т.п.).
Если пользователь указывает параметр [task], он также должен указать и параметр [task_dir]. Параметр [task_dir] - это рабочая директория со входными файлами, в то время как параметр [task] - это имя входных файлов. В этом случае скрипт использует директорию [task_dir] как рабочую, а файлы с именем [task] как входные файлы задачи (например, файлы [task].d12 и [task].d3).
Параметр [scratch_dir] - необязательный параметр, который может быть указан, если пользователь хочет изменить временную директорию (однако обычно этого не требуется: временные директории по умолчанию задаются с учетом особенностей работы того или иного ресурса). Для вычислений Crystal используются временные директории на узлах кластера (scratch - директории), по окончании вычисления все необходимые выходные файлы копируются из временной директории в рабочую директорию.
Примеры.
cd ~/test01
/usr/local/submit/submit-crystal14-dir.sh 4
Указанные команды поставят в очередь на кластере Т-Платформы новую задачу (расчет test01 на 4 ядрах кластера: сначала будет запущен Pcrystal, по окончании - Pproperties). Рабочей директорией для данной задачи будет являться ~/test01 . В указанной директории должны находится входные файлы с таким же именем (test01), например,
В этой же директории будут располагаться и выходные файлы, здесь же будут находится файлы со стандартным выводом задачи (stdout) и ошибками (stderr), если таковые были (файл может быть пустым). Пример содержимого директории test01:
CRYSTAL.e69366 nodes.par test01.f25 test01.out
CRYSTAL.o69366 test01.d12 test01.f9 test01.ppan
machines.LINUX test01.d3 test01.f98 test01_dat.PROF
Рассмотрим еще один пример.
/usr/local/submit/submit-crystal14-dir.sh 4 test ~/new
Данная команда похожа на предыдущую. Разница заключается лишь в имени входных файлов и рабочей директории. Теперь это директория ~/new : в ней должны находиться входные файлы с именем test (например, файл test.d12).
По окончании выходные файлы (например, test.out) будут расположены в этой же директории (~/new).