2014-04-05 5 views
0

클러스터에서 matlab 함수를 parralel로 시작하기 위해 slurm sbatch를 사용하고 있습니다.slurm sbatch를 사용하여 클러스터 작업에 매개 변수 지정

MATLAB 함수에 숫자 매개 변수를 할당하려면 sbatch 파일의 올바른 구문은 무엇입니까? 나는 다음과 같은 (그리고 모두들)을 시도

:

#!/bin/bash 

#SBATCH --partition=debug 
#SBATCH --time=0-00:15:00 
#SBATCH --cpus-per-task=12 
#SBATCH -n1 

VAR1=50 
VAR2=40 

BASE_MFILE_NAME=RUNAGT 
MATLAB_MFILE=.m 

    srun --exclusive --cpus-per-task=12 matlab2013b/bin/matlab -nodesktop -nosplash -nodisplay -r "RUNAGT(${SLURM_ARRAY_TASK_ID},VAR1,VAR2);exit" -logfile testV${SLURM_ARRAY_TASK_ID}.log & 
wait 

$ {SLURM_ARRAY_TASK_ID}이 작동하고 있지만, MATLAB은 VAR1 및 VAR2를 인식하지 못합니다.

오류 : 정의되지 않은 함수 또는 변수 'VAR1'.

답변

2

$을 앞에 두지 않으므로 변수를 읽지 않는다고 생각합니다. 당신은 srun 라인이되어야합니다 :

srun --exclusive --cpus-per-task=12 matlab2013b/bin/matlab -nodesktop -nosplash -nodisplay -r "RUNAGT(${SLURM_ARRAY_TASK_ID},${VAR1},${VAR2});exit" -logfile testV${SLURM_ARRAY_TASK_ID}.log &