Programak ilaretara bidaltzeko agindu hau erabiltzen da qsub:
qsub script_file
script artxiboak TORQUE ilara-kudeatzailearentzako sasiaginduak eta exekutatzeko aginduak ditu, lana abian jartzeko. Datozen ataletan zenbait script daude zehaztuta. Behin lana ilarara bidalita, pantailan prozesuaren identifikazio-zenbakia jasoko dugu, adibidez:
159.lgua00
Exekutatu ondoren, egiaztatu script.e159 artxiboaren edukia, kasu honetan akatsik badagoen ikusteko. Programaren irteera estandarra hemen dago: scrip.o159.
- Serieko lanakSerieko lanetan komeni da tokiko diskoko espazioa erabiltzea, /scratch partizioa. Irakurri eta idatzi arinago egiten da, lanaren onerako. Gainera, idazteko eta irakurtzeko ez da sarea (NFS) erabiltzen eta, beraz, gainerako nodoetan arinago egiten da lan eta sarea ez da betetzen.Scriptak agindu hau medio bidaltzen dira ilara-sistemara:qsub script_file
edo modu interaktiboan:
qsub script_file
Arkitektura edo nodo mota aukeratzeko begiratu otras directivas.
a.out programak exekutatzen duen script-eredu bat hau da:
#!/bin/bash
#PBS -l walltime=[val]
#PBS -l mem=[val]
#PBS -l nodes=1:ppn=1
#Konpiladore edo libreriak zehaztu nahi badira,
#kendu # urrengo lerroan eta editatu egokienak
#source /opt/intel/mkl10/tools/environment/mklvars64.sh
#source /opt/intel/fc/10.1.017/bin/ifortvars.sh
#Gure scratch direktorioa
scrt=/scratch/$USER/$PBS_JOBIDmkdir $scrt
#Artxiboak scratch direktorioan kopiatu.
#cp -r erabiliko dugu azpidirektorietan ere kopiatzeko.
cp $PBS_O_WORKDIR/* $scrt#Direktorioz aldatu
cd $scrt#Programa exekutatu
./a.out#Azkeneko artxiboak gure home delakora bidali
outdir=aukeratu_izena
mkdir $PBS_O_WORKDIR/$outdir
mv -f $scrt/* $PBS_O_WORKDIR/$outdir#Direktorioa ezabatu
rmdir $scrt
#PBS-rekin hasten diren lerroak ilara-kudeatzailearentzako aginduak dira; hauek aukeratzen dituzte:
nodes: [opcional] Kalkulu-nodoa aukeratzeko erabil daiteke (adibidea: nodes=cn14).
mem: Kalkulatzeko gordetako RAM memoria, mb edo gb-tan neurtua (adibide: [val]=100mb).
walltime: Mikroprozesadorean erreserbatutako denbora, ordua/minutua/segundoa formatuan (adibidea: [val]=24:00:00).
#-rekin hasten diren gainerako lerroak komentarioak dira.
Scriptean aukeratu behar da emaitzak non gorde nahi ditugun eta aukeratu_izena-gatik ordezkatu. $USER aldagaiak erabiltzailearen izena bueltatzen du, $PBS_O_WORKDIR aldagaiak qsub agindua exekutatzen den lan-direktorioa eta $PBS_JOBID aldagaiak lanaren identifikazio-zenbakia.
a.out programa ez badago $PATHaren direktorioren batean ez badago (adibidez: /usr/local/bin), baizik gure direktorioan, ./a.out erabili behar da.
Exekutatu ondoren, egiaztatu script.eXXX artxiboaren edukia, akatsik badagoen ikusteko.
PBSrako aginduak komandoan bertan adieraz daitezke, scriptean beharrean; lana bidaltzeko hau erabili behar da:
- Lana paraleloanLana 4 prozesadore edo 8 prozesadore nodo bakoitzeko bidaltzea komeni da; era horretan, itxaron denborak txikitzen dira. Halaber, komeni da lanak tokian-tokian idaztea, nodotan, ahal denean behintzat.Lana nodo batean bakarrik badago edo, nodo gehiagotan egonda ere, mikroprozesadoreek ez badituzte artxiboak partekatzen, lana tokiko diskoan bakarrik idatz daiteke. Scriptak agindu hau medio bidaltzen dira ilara-sistemara:qsub script_file
edo modu interaktiboan:
qsub script_file
Arkitektura edo nodo mota aukeratzeko begiratu otras directivas.
a.out programak paraleloan exekutatzen duen script-eredu bat hau da:
#!/bin/bash
#PBS -l nodes=[val]:ppn=[val]
#PBS -l walltime=[val]
#PBS -l mem=[val]
#Programa Inteleko 8.0 konpiladoreekin konpilatua izan bada,
#ifort edo icc, kendu # urrengo lerroan
#source /software/etc/intel8.sh#Gure scratch direktorioa
scrt=/scratch/$USER/$PBS_JOBIDmkdir $scrt
#Artxiboak scratch direktorioan kopiatu.
#cp -r erabiliko dugu azpidirektorioak ere kopiatzeko.
cp $PBS_O_WORKDIR $scrt#Direktorioz aldatu
cd $scrt#Programa exekutatu
mpirun a.out#Azkeneko artxiboak mugitu
outdir=aukeratu_izena
mkdir $PBS_O_WORKDIR/$outdir
mv -f $scrt/* $PBS_O_WORKDIR/$outdir#Direktorioa ezabatu
rmdir $scrt
#PBS-rekin hasten diren lerroak ilara-kudeatzailearentzako aginduak dira; hauek aukeratzen dituzte:
nodes: Programa exekutatuko den nodo-kopurua (adibidea: [val]=2).
ppn: Programak nodo bakoitzeko erabiliko duen mikroprozesadore-kopurua (adibidea: [val]=4).
mem: Kalkulatzeko gordetako RAM memoria, mb edo gb-tan neurtua (adibide: [val]=100mb).
walltime: Mikroprozesadorean erreserbatutako denbora, ordua/minutua/segundoa formatuan (adibidea: [val]=24:00:00).
Scriptean aukeratu behar da emaitzak non gorde nahi ditugun eta aukeratu_izena-gatik ordezkatu. $USER aldagaiak erabiltzailearen izena bueltatzen du, $PBS_O_WORKDIR aldagaiak qsub agindua exekutatzen den lan-direktorioa eta $PBS_JOBID aldagaiak lanaren identifikazio-zenbakia.
Paraleloko lanaren adibidea, tokiko diskoa erabilita: .
Lana nodo bat baino gehiagoan ibiliko bada eta prozesuek artxiboak partekatzen badituzte, gscratch-en exekutatu behar dira, gscratch nodo guztiek partekatzen duten sistema da (begiratu configurazioan). Hori egiten duen scripta hau da:
#!/bin/bash
#PBS -l nodes=[val]:ppn=[val]
#PBS -l walltime=[val]
#PBS -l mem=[val]
#Programa Inteleko 8.0 konpiladoreekin konpilatua izan bada,
#ifort edo icc, kendu # urrengo lerroan
#source /software/etc/intel8.sh#Gure scratch direktorioa
scrt=/gscratch/$USER/$PBS_JOBIDmkdir $scrt
#Artxiboak scratch direktorioan kopiatu.
#cp -r erabiliko dugu azpidirektorioak ere kopiatzeko.
cp $PBS_O_WORKDIR $scrt#Direktorioz aldatu
cd $scrt#Programa exekutatu
mpirun a.out#Azkeneko artxiboak mugitu
outdir=aukeratu_izena
mkdir $PBS_O_WORKDIR/$outdir
mv -f $scrt/* $PBS_O_WORKDIR/$outdir#Direktorioa ezabatu
rmdir $scrt
Paraleloko lanaren adibidea, honen bidez: NFS.
Exekutatu ondoren, egiaztatu script.eXXX artxiboaren edukia, akatsik badagoen ikusteko.
PBSrako aginduak komandoan bertan adieraz daitezke, scriptean beharrean; lana bidaltzeko hau erabili behar da:
qsub -l nodes=[val]:ppn=[val],mem=[val],cput=[val] script