Submitting a Quantum Espresso job

From Wiki
Revision as of 16:00, 8 January 2018 by 10.0.7.16 (talk)
Jump to navigation Jump to search

Go back to Scripts_for_QE

To submit to CSUC collserola, usually for small jobs (max 24 cores per node), shorter waiting queue for small jobs.

#!/bin/bash
# specifies the name of your job
# BSUB -J jobname
#
# send standard output here
# BSUB -o quantum_espresso.log  
#
# send standard error here
# BSUB -e quantum_espresso.err 
#
# pick a queue
# BSUB -q parallel8
#
# pick the machine
# BSUB -R collserola
#
# Indicate the number of cores
# BSUB -n 8
# All process should be executed in the same node
# BSUB -R span[hosts=1] 
#
# Send an email notice once the job is finished
# BSUB -N -u MYEMAIL@iciq.es

export ESPRESSO_PSEUDO=$HOME/espresso_pseudo


INDIR=$ESPRESSO_TMPDIR # directory with your input and the .UPF files
INPUT=INPUT.in
OUTPUT=OUTPUT.out

date

# Set up the environment
. /opt/modules/default/init/bash
module load quantumespresso/6.1

export ESPRESSO_PSEUDO=$HOME/espresso_pseudo

unset OMP_NUM_THREADS

EXE="/prod/QuantumESPRESSO/6.1/bin/pw.x -environ"

# Change to the work directory and copy all the necessary files to this folder

cd $TMPDIR
cp $INDIR/$INPUT $INDIR/*.UPF $TMPDIR
cp $INDIR/environ_water.in $TMPDIR/environ.in

	
# Run the job

mpijob $EXE < $INPUT > $OUTPUT

# Create a new directory in the $SCRATCH directory, each new directory for each job specifying the JobID, and copy the output to this directory

mkdir -p $SCRATCH/output_$LSB_JOBID
cp -r * $SCRATCH/output_$LSB_JOBID

# move in HOME and delete in scratch
mv $SCRATCH/output_$LSB_JOBID $HOME/.

date

To submit to CSUC pirineus, usually for very big jobs that requires a lot of nodes and therefore longer waiting queue

#!/bin/ksh
# specifies the name of your job
# BSUB -J jobname
#
# send standard output here
# BSUB -o quantum_espresso.log  
#
# send standard error here
# BSUB -e quantum_espresso.err 
#
# pick a queue
# BSUB -q parallel32 
#
# pick the machine
# BSUB -R pirineus
#
# Indicate the number of cores
# BSUB -n 32
# All process should be executed in the same node
# BSUB -R span[hosts=1] 
#
# Send an email notice once the job is finished
# BSUB -N -u MYEMAIL@iciq.es

INDIR=$HOME/WORKDIRECTORY # directory with your input and the .UPF files
INPUT=INPUT.in
OUTPUT=OUTPUT.out

date

# Set up the environment
. /opt/modules/default/init/bash
module load quantumespresso/6.1

export ESPRESSO_PSEUDO=$HOME/espresso_pseudo

unset OMP_NUM_THREADS

EXE="/prod/QuantumESPRESSO/6.1/bin/pw.x -environ"

# Change to the work directory and copy all the necessary files to this folder

cd $TMPDIR
cp $INDIR/$INPUT $INDIR/*.UPF $TMPDIR
cp $INDIR/environ_water.in $TMPDIR/environ.in

	
# Run the job

mpijob $EXE < $INPUT > $OUTPUT

# Create a new directory in the $SCRATCH directory, each new directory for each job specifying the JobID, and copy the output to this directory

mkdir -p $SCRATCH/output_$LSB_JOBID
cp -r * $SCRATCH/output_$LSB_JOBID

# move in HOME and delete in scratch
mv $SCRATCH/output_$LSB_JOBID $HOME/.

date

Jobs are sent to CSUC queue with the command

bsub< jobname.lsf

Do not forget the "<" or you will see the message that your job was submitted to the default "short" queue but in reality nothing happened.

To submit a job to CESVIMA pmagerit

#!/bin/bash
#----------------------- Start job description -----------------------
#@ total_tasks = 32
#@ wall_clock_limit = 48:00:00
#@ output = out-%j.log
#@ error = err-%j.log
#@ initialdir = /home/iciq23/iciq23336/espresso_tmp/

#------------------------ End-job description ------------------------
    
#-------------------------- Start execution --------------------------
    
# Run our program
module load gcc/4.7
srun /sw/openmpi/Quantum-ESPRESSO/6.1/bin/pw.x < INPUT.in > OUTPUT.out
   
#--------------------------- End execution ---------------------------

Jobs are sent CESVIMA queue with

jobsubmit jobname.sh


To submit an environ job to MareNostrum4

#!/bin/bash
#SBATCH --ntasks=48
#SBATCH --tasks-per-node=48
#SBATCH --time=48:00:00 ## hour
#SBATCH --cpus-per-task=1
#SBATCH --error=qe%J.err

module load quantumespresso/6.1-environ
INPUT=c00014.in
OUTPUT=c00014.out1

export ESPRESSO_PSEUDO=$HOME/espresso_pseudo
export ESPRESSO_TMPDIR=$HOME/espresso_tmp/vacuum

cp environ_vacuum.in environ.in

time srun  pw.x -environ < $INPUT > $OUTPUT

To submit an environ job to MareNostrum4

sbatch script.lsf

WARNING: The previous script does not use the scratch directory of MareNostrum4. You risk to reach your disk quota quickly. The following script use the scratch but the variable SCRATCH must be defined in your .bashrc first! (export SCRATCH=/gpfs/scratch/iciq72/iciq72520 in my case)

#!/bin/bash
#SBATCH --ntasks=48
#SBATCH --tasks-per-node=48
#SBATCH --time=1:00:00 ## hour
#SBATCH --cpus-per-task=1
#SBATCH --error=qe%J.err

module load quantumespresso/6.1-environ
PREFIXfolder=h2o_water
INPUT=h2o_water.in
OUTPUT=h2o_water.out

export ESPRESSO_PSEUDO=$HOME/espresso_pseudo
export ESPRESSO_TMPDIR=$SCRATCH/espresso_tmp/water  #all temp files goes there
export WORKDIR=$HOME/espresso_tmp/water
cp environ_water.in environ.in

# Run the job in SCRATCH
time srun  pw.x -environ < $INPUT > $OUTPUT

# copy back in HOME the pot.save folder
cp -r $ESPRESSO_TMPDIR/$PREFIXfolder.save $WORKDIR/.