Scripts for QE: Difference between revisions

From Wiki
Jump to navigation Jump to search
No edit summary
Bob (talk | contribs)
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
go back to [[Main Page]], [[Group Pages]], [[Núria López and Group]], [[Scripts_for_VASP]]
go back to [[Main Page]], [[Group Pages]], [[Núria López and Group]], [[Scripts_for_VASP]]


Here is a script for submitting a Quantum Espresso (QE) job
[[Media:QE_Beamer.pdf|Introduction to Quantum Espresso]]
The main program for single point calculations and geometry/cell optimisation is pw.x.


To submit to CSUC collserola, usually for small jobs (max 24 cores per node), shorter waiting queue for small jobs.
- [[Examples for Quantum Espresso]]
<pre>
#!/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
- [[Submitting a Quantum Espresso job]]


- [[Useful links for Quantum Espresso]]


INDIR=$ESPRESSO_TMPDIR # directory with your input and the .UPF files
- [[How to cite Quantum Espresso]]
INPUT=INPUT.in
OUTPUT=OUTPUT.out


date
- [[Some scripts for file format conversion]]
 
# Set up the environment
. /opt/modules/default/init/bash
module load quantumespresso/5.4.0
 
unset OMP_NUM_THREADS
 
export ESPRESSO_PSEUDO=$HOME/espresso_pseudo  #May be redefined because of module loading
export ESPRESSO_TMPDIR=$HOME/espresso_tmp
 
EXE=/prod/QuantumESPRESSO/5.4.0/bin/pw.x
 
# Change to the work directory and copy all the necessary files to this folder
 
cd $TMPDIR
cp $INDIR/$INPUT $INDIR/*.UPF $TMPDIR
# 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
</pre>
 
To submit to CSUC pirineus, usually for very big jobs that requires a lot of nodes and therefore longer waiting queue
<pre>
#!/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/5.4.0
 
export ESPRESSO_PSEUDO=$HOME/espresso_pseudo
export ESPRESSO_TMPDIR=$HOME/espresso_tmp
 
unset OMP_NUM_THREADS
##pseudo_dir= $INDIR/  #this should be in your input file not submit script
export ESPRESSO_PSEUDO=$INDIR/
EXE=/prod/QuantumESPRESSO/5.4.0/bin/pw.x
 
# Change to the work directory and copy all the necessary files to this folder
 
cd $TMPDIR
cp $INDIR/$INPUT $INDIR/*.UPF $TMPDIR
# 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
</pre>
Jobs are sent to CSUC queue with the command
<pre>
bsub< jobname.lsf
</pre>
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
<pre>
#!/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/5.1-gnu64-4.7/bin/pw.x < INPUT.in > OUTPUT.out
 
#--------------------------- End execution ---------------------------
</pre>
 
Jobs are sent CESVIMA queue with
<pre>
jobsubmit jobname.sh
</pre>
 
 
To submit an environ job to MareNostrum4
 
<pre>
#!/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
</pre>

Latest revision as of 10:03, 26 March 2018