리소스를 효율적으로 사용하기 위해 슈퍼 컴퓨터를 사용하는 방법을 배우고 있습니다. 파이썬 스크립트를 가지고 있는데, 주어진 난수로 텍스트 파일을 생성한다고 가정 해 봅시다.슈퍼 컴퓨터 : 슈퍼 컴퓨터에서 실행되는 간단한 프로그램 예
myfile.py는
# Imports
import random,os
outdir = 'outputs'
if not os.path.exists(outdir):
os.makedirs(outdir)
with open (outdir+'/temp.txt','w') as f :
a = random.randint(0,9)
f.write(str(a))
이 로컬 컴퓨터에 하나의 텍스트 파일을 생성합니다.
이 프로그램의 여러 인스턴스를 사용할 수있는 방법이 있습니까? 여러 노드를 사용하고 여러 출력을 얻을 수 있습니까?
C 프로그램에서 mpiexec에 대한 템플릿을 얻었지만 파이썬 프로그램에 대한 템플릿을 찾을 수 없습니다.
#PBS -N my_job
#PBS -l walltime=0:10:00
#PBS -l nodes=4:ppn=12
#PBS -j oe
cd $PBS_O_WORKDIR
mpicc -O2 mpi-hello.c -o mpi-hello
cp $PBS_O_WORKDIR/* $PFSDIR
cd $PFSDIR
mpiexec ./mpi-hello
cp $PFSDIR/* $PBS_O_WORKDIR
참고 :이 같은 bash는 스크립트를 작성할 수 있습니다 여러 개의 코어를 사용하여 단일 노드에서 :
for i in `seq 1 10`;
do
python myfile.py && cp temp.txt outputs/out$i.txt &
done
는하지만 노드 다른 활용하고자합니다.
필수 출력 : 출력/out1.txt, out2.txt, out3.txt 등
일부 관련 링크
은 다음과 같습니다https://www.osc.edu/sites/osc.edu/files/documentation/Batch%20Training%20-%2020150312%20-%20OSC.pdf
https://www.osc.edu/~kmanalo/multithreadedsubmission
감사합니다 아주 아주 많은 코드가 뭔가를 할 수있다. 오하이오 슈퍼 컴퓨팅 센터에서이 코드를 테스트 해 보겠습니다. –
또한 최종 출력에 다른 출력을 복사 할 것인가? 아마도 pbsdcp가 필요 하겠지만 어떻게 될지 모르겠다. –
@BhishanPoudel, 귀하의 질문을 이해하지 못합니다. – efirvida