당신은 병렬 또는 순차적 중 하나를 실행, 다른 입력 paramters을 통해 루프 마스터 PBS 스크립트를 만들 수 있습니다이 단순히 각 작업 (IN
)에 대해 서로 다른 입력 번호를 executable
제공
,이를 변경해야 필요에 따라 하나 이상의 입력 매개 변수를 루프 할 수 있습니다.
# PBS -l mppwidth=2048
NIN=10 # number of input parameters
for IN in `seq -w 1 $NIN`; do
cd "sub_job_${IN}"
executable $IN # runs jobs sequentially (you might have to prefix this with aprun)
done
또는 병렬로
는 :
# PBS -l mppwidth=2048
# ^^ these should now be shared among the jobs.
NIN=10 # number of input parameters
for IN in `seq -w 1 $NIN`; do
cd "sub_job_${IN}"
executable $IN & # runs the job in the background, you might
# have to prefix this with `aprun -n .. -N ..` or something
# so that each job only uses a portion of the total
# requested CPUs.
done
wait # wait for all jobs to finish
는 각'qsub' 사이에'pbs' 스크립트를 수정 했습니까? – gauteh
@gauteh 아니오 나는하지 않았다. 내 (어리석은) 실수는 내가 일을 보낼 때 입력 파일이 읽혀질 것이라는 것을 전제로했기 때문에 이해가되지 않는다. 그러나 N 시뮬레이션을 위해 N 개의 다른 입력 파일을 가지고 있으므로 N 재 컴파일이 필요하지 않은 것으로 나타났습니다. 그래서 더 좋은 방법이 있어야한다고 생각하고있다. – solalito
컴파일시에 정의되는 것이 아니라 명령 행에서 입력 인자를 취하도록 실행 파일을 수정한다면, 아래에 설명 된 접근법을 사용할 수있다. 또한 실행 파일을 스크립트로 래핑하여 PBS 스크립트에서 다루기 쉬운 간단한 숫자보다 복잡한 입력 매개 변수를 제공 할 수 있습니다. – gauteh