다음 코드를 사용하여 클러스터에 작업을 제출하고 있지만 이 코드가 무엇을 의미하는지 모르겠습니다. 가능하다면 누군가 다음 코드의 의미를 한 줄씩 설명해 주실 수 있나요?
#!/bin/bash
#PBS -N NAME_OF_JOB
#PBS -l nodes=1:ppn=20
#PBS -l matlab_user=1
#PBS -l matlab_lic=20
#PBS -l min_walltime=1:00
#PBS -q small
#PBS -S /bin/bash
##PBS -V
##PBS -m abe
#PBS -j oe
#
cd $PBS_O_WORKDIR
cat $PBS_NODEFILE
export PATH=/opt/software/matlabr2014a/mdcs/bin:$PATH
matlab -nodisplay -r "code1" -logfile code1.log
감사해요
답변1
가능하다면 누군가 다음 코드의 의미를 한 줄씩 설명해 주실 수 있나요?
"#PBS"로 시작하는 명령은 Summit Explorer의 일괄 작업에 대한 지침입니다. PBS 설명서를 알려줄 수 있는 클러스터 관리자가 있어야 합니다. 아니면 인터넷에서 찾은 내용은 다음과 같습니다.https://rcc.its.psu.edu/user_guides/system_utilities/pbs/#overview
다른 라인은 다음과 같습니다:
cd $PBS_O_WORKDIR
환경 변수 $PBS_O_WORKDIR에 정의된 디렉터리로 변경합니다.
cat $PBS_NODEFILE
환경 변수 $PSB_NODEFILE에 정의된 이름의 파일을 화면에 인쇄합니다.
export PATH=/opt/software/matlabr2014a/mdcs/bin:$PATH
/opt/software/matlabr2014a/mdcs/bin 디렉토리(아마 matlab 실행 파일이 있는 위치)를 포함하도록 $PATH 변수(시스템이 실행 파일을 찾는 위치)를 업데이트합니다.
matlab -nodisplay -r "code1" -logfile code1.log
MATLAB을 실행하면 함수 또는 서브루틴 "code1"이 실행되고 출력이 로그 파일 "code1.log"로 전송됩니다.
답변2
이 명령은 작업 스케줄러에서 사용됩니다. 몇 가지 형식이 있는데 이건 제가 매우 익숙한 토크 형식인 것 같습니다.
토크 -http://docs.adaptivecomputing.com/torque/5-1-0/help.htm
이것은 Torque 5 문서입니다. 2.x, 4.x 또는 5.x를 실행 중일 수 있습니다. http://docs.adaptivecomputing.com/torque/5-1-0/help.htm#topics/torque/commands/qsub.htm?Highlight=-m%20abe
#PBS -N NAME_OF_JOB => Sets a name that can be identified in `qstat` or `checkjob`
#PBS -l nodes=1:ppn=20 => Requests 20 tasks, (1 node with 20 processors, 2 nodes with 10 processors ect...)
#PBS -l matlab_user=1
#PBS -l matlab_lic=20
#PBS -l min_walltime=1:00 => The job should run for at least 1 minute
#PBS -q small => => queue or class you administrator has configured
#PBS -S /bin/bash => Shell to use
##PBS -V => Commented out, exports environment variables to batch job
##PBS -m abe => Commented out, specifies when mail should be sent (abort, begin, end)
#PBS -j oe => Combine stdout and stderror into one directory
cd $PBS_O_WORKDIR => Environment variable of where the job runs
cat $PBS_NODEFILE => prints out the output of the spool.