Ich lerne, wie man Supercomputer verwenden, um die Ressourcen gut zu nutzen. Angenommen, ich habe ein Python-Skript, das eine Textdatei mit einer bestimmten Zufallszahl erstellt.Supercomputer: Dead einfaches Beispiel für ein Programm in Supercomputer laufen
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))
Dies wird nur eine Textdatei in der lokalen Maschine erstellen.
Gibt es eine Möglichkeit, die mehrere Instanzen dieses Programms verwenden können, mehrere Knoten verwenden und mehrere Ausgänge erhalten?
Ich habe eine Vorlage für mpiexec in C-Programm, die so aussieht, aber ich konnte keine Vorlage für Python-Programm finden.
#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
Hinweis: auf einem einzelnen Knoten mehrere Kerne mit I ein Bash-Skript wie folgt schreiben:
for i in `seq 1 10`;
do
python myfile.py && cp temp.txt outputs/out$i.txt &
done
Aber ich will Knoten anders nutzen.
Erforderliche Ausgabe: Ausgänge/out1.txt, out2.txt, out3.txt etc
einige relevante Links folgen:
https://www.osc.edu/sites/osc.edu/files/documentation/Batch%20Training%20-%2020150312%20-%20OSC.pdf
https://www.osc.edu/~kmanalo/multithreadedsubmission
Dank sehr sehr für Ihre Antwort-Code kann so etwas sein. Ich werde diesen Code im Ohio Super-Computing Center testen. –
Wird es auch die verschiedenen Ausgänge in der endgültigen Ausgabe kopiert, vielleicht braucht es - pbsdcp, aber ich weiß nicht wie? –
@BhishanPoudel, ich verstehe Ihre Frage nicht – efirvida