이 질문은 가우시안에서 양자 화학 계산을 보다 편리하게 관리할 수 있는 스크립트를 내 호스트 컴퓨팅 클러스터에서 찾으려고 할 때 발생합니다. 그만큼사용자 매뉴얼내 호스트는 다음을 제공합니다.
Gaussian 09는 프로세서 수, 메모리 양 및 사용할 디스크 공간에 대한 프로그램 값을 전달하는 대체 방법을 제공합니다. 입력 파일에 %mem, %nprocshared 및 Maxdisk를 지정하는 대신 가우스 환경 변수 $GAUSS_PDEF, $GAUSS_MDEF 및 $GAUSS_RDEF를 사용하는 것이 더 매력적일 수 있습니다. 이러한 변수를 사용하면 ncpus, mem 및 jobfs에 대한 PBS 작업 값을 Gaussian 09에서 읽을 수 있는 환경 변수로 변환할 수 있습니다. 명령에서 'g09' 대신 bash 스크립트 'g09.sh'를 사용해 보는 것이 좋습니다. PBS 스크립트의 한 줄. 스크립트는 사용자를 위해 이 변환을 수행하고 PBS 설정을 인식하도록 프로그램을 시작합니다. 스크립트 사용법의 구문은 간단합니다.
불행하게도 클러스터에 더 이상 스크립트가 존재하지 않는 것 같습니다(실제로 / 폴더에 접근하여 /apps 및 /modules를 확인할 수 있음에도 불구하고 사용자로서 /root에서 액세스가 허용되지 않기 때문에 이를 완전히 확인할 수 없습니다. 소프트웨어와 환경 모듈을 저장합니다.
즉, 동일한 작업을 수행하는 스크립트를 작성하려면 이 정보를 기반으로 해야 합니다. 호스트가 사용하는 일반적인 PBS는 다음과 같습니다.
#!/bin/bash
#PBS -l walltime=20:00:00
#PBS -l ncpus=4
#PBS -l mem=4GB
#PBS -l jobfs=100GB
#PBS -l software=g09
#PBS -l wd
module load gaussian/g09e01
g09 < inputdeck > outputfile 2>&1
그러므로, 서약서에 명시된 바와 같이PBS 프로페셔널 사용자 가이드, -l이 있는 모든 항목은 작업에 할당될 리소스입니다.
그런 다음 mem, ncpus 및 jobfs 리소스의 값을 저장하는 환경 변수를 찾아서 $(some gaussian environment variable)=$(some PBS environment variable correspond to the resources)
. 그러나 리소스를 저장하는 유일한 PBS 환경 변수는 PBS_NCPUS이므로 이 전략은 작동하지 않을 것 같습니다.
그렇다면 PBS 지시어에서 각 리소스 유형의 값을 추출하여 가우스 환경 변수에 매핑하려면 어떻게 해야 합니까?