Wien2k Nola Bidali

WIEN2k programak fitxero berezia erabiltzen du lanak koletara bidaltzeko. Script hau bidaltzeko erabili

qsub script_file

run_lapw programa paraleloa egikaritzen duen scriptaren plantilla

#!/bin/bash
#PBS -l nodes=[val]:ppn=[val]
#PBS -l walltime=[val]
#PBS -l mem=[val]

# Vamos a nuestro home
cd $PBS_O_WORKDIR

#Creamos el fichero .machines
cat $PBS_NODEFILE |cut -c1-6 >.machines_current
aa=$(wc -l .machines_current |cut -d " " -f 1)
echo '#' > .machines

i=1
while [ $i -le $aa ];do
echo -n '1:' >>.machines
head -$i .machines_current |tail -1 >> .machines
let i=i+1
done
echo 'granularity:1' >>.machines
echo 'extrafine:1' >>.machines

#Nuestro directorio de scratch
scrt=/scratch/$USER/$(echo $PBS_O_WORKDIR |xargs basename)
outdir=bukatuta_$PBS_JOBID
export SCRATCH=$scrt/scratch

#Creamos el directorio
mkdir $scrt
mkdir $scrt/scratch

#Copiamos los archivos al directorio scratch
#Usaremos cp -r $scrt para copiar también subdirectorios.
cp $PBS_O_WORKDIR/* $scrt
cp .machines $scrt

#Nos movemos de directorio
cd $scrt

#Ejecutamos WIEN2k en paralelo
run_lapw -p
#Movemos los archivos finales
mkdir  $PBS_O_WORKDIR/$outdir
mv -f $scrt/* $PBS_O_WORKDIR/$outdir
mv -f $scrt/.machines $PBS_O_WORKDIR/$outdir

#Borramos el directorio
rmdir $scrt
rm .??*

#PBS-rekin hasten diren lerroak ilara-kudeatzailearentzako aginduak dira; hauek aukeratzen dituzte:

nodes: [opcional] Kalkulu-nodoa aukeratzeko erabil daiteke (adibidea: [name]=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 $USER aldagaiak erabiltzailearen izena bueltatzen du, $PBS_O_WORKDIR aldagaiak qsub agindua exekutatzen den lan-direktorioa eta $PBS_JOBID aldagaiak lanaren identifikazio-zenbakia.