Bash script: job multipli

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? :slight_smile:

Ciao,
non ho tempo per leggere gli script in questione e capire l’errore, ma ti do un suggerimento: usa la modalità debug di bash:

e controlla dove si incastra…

Ciao!

1 Mi Piace