Ciao a tutti!
Mi trovo nella necessità di lanciare diversi job con un software (Quantum ESPRESSO) modificando un singolo valore in input. A tal proposito ho scritto due script in bash: uno crea una sottocartella per ciascun valore del parametro da modificare contenente il relativo file di input, funziona ed è fatto così:
#! /bin/bash
for k in $(seq 2 2 12)
do
mkdir kpoints_"$k"
cat > kpoints_"$k"/pw.in << EOF
[contenuto del file da replicare...]
EOF
done
L’altro dovrebbe andare in ogni cartella e sottomettere il relativo job, ed è fatto così:
#! /bin/bash
#SBATCH --partition=regular1
#SBATCH -N 4
#SBATCH --ntasks-per-node=20
#SBATCH --mem-per-cpu=4096
#SBATCH --job-name=qscript
#SBATCH --output=/home/cpaulett/QE_exercise/Etot.vs.kpoints.CeO2/script.out
#SBATCH --error=/home/cpaulett/QE_exercise/Etot.vs.kpoints.CeO2/script.err
#SBATCH --time=12:00:00
#SBATCH --mail-type=ALL
module load intel
module load openmpi3
export MODULEPATH=$MODULEPATH:/opt/contrib/cm/QE/
module load modules/qe-6.7.0
export OMP_NUM_THREADS=1
for k in $(seq 2 2 12)
do
cd kpoints_"$k"
mpirun pw.x -i pw.in > pw.out
cd ..
done
Dico dovrebbe, perchè non funziona e slurm non mi degna neanche di un minimo messaggio di errore che possa aiutarmi a capire perchè. Qualcuno saprebbe aiutarmi?