You are here
Quantum ESPRESSO
Table of Contents
Introduction
Quantum ESPRESSO is a suite of programs for electronic structure and materials modelling. Among other things, it includes PWscf.
A few points about using Quantum ESPRESSO on various WestGrid systems are given below. Please write to support@westgrid.ca if you have questions about running this software on WestGrid machines.
Like other jobs on WestGrid systems, Quantum ESPRESSO jobs are run by submitting an appropriate script for batch scheduling using the qsub command. See documentation on running batch jobs for more information.
Runnning Quantum ESPRESSO on Bugaboo
On Bugaboo, the most recent ESPRESSO executables in the default PATH. Older versions can be used by loading the corresponding module.
Pseudopotentials are in/usr/local/espresso-pseudopotentials - that directory should be specified using the pseudo_dir specification in the input file.
Examples and documentation are in subdirectories of /usr/local/espresso .
Runnning Quantum ESPRESSO on Grex
On Grex are installed the recent 5.x versions as well as the previous stable release, version 4.3.2. The codes were compiled with Intel compilers, Open MPI and the Intel Math Kernel Library (MKL). Both versions have the GUI (pwgui program) installed. Version 5.x comes with most if not all optional packages (such as NEB, W90, XSpectra, etc.) included.
The executable paths and shared libraries required to run the code are initialized using module commands for an appropriate Espresso version:
module load espresso/5.2.1
or
module load espresso/4.3.2-1
Note that these ESPRESSO modules load compiler and MPI modules, as well as the Tcl software that is requied for the GUI automatically. On Grex there is no ESPRESSO in the default PATH so it is recommended to use the above mentioned module commands in your scripts. Also note that exectables are not prefixed (i.e., PW is just pw.x , CP is cp.x etc.). For more information on using modules on WestGrid systems, click here. An example PWScf batch script (for ausuf.in benchmark; the input, pseudos and job file can be found at /global/software/espresso-5.2.1-intel14-ompi165/examples/torque ) is here:
#!/bin/bash
#PBS -S /bin/bash
#PBS -l procs=16,pmem=1000mb,walltime=8:00:00
#PBS -r n
#PBS -N ausurf-test
#PBS -m bea
##PBS -M my@emalil
# Adjust the mem and ppn above to match the requirements of your job
# remove -M line in case you dont want notification to spam you, or add real one there
#
cd $PBS_O_WORKDIR
echo Nodes I am on:
cat $PBS_NODEFILE
#
echo "Current working directory is `pwd`"
echo "Running on `hostname`"
#
module load espresso/5.2.1
which pw.x
#
echo "Starting run at: `date`"
#
mpiexec pw.x -in ausurf.in > ausurf.${PBS_JOBID}.out
#
echo "Finished run at: `date`"
Runnning Quantum ESPRESSO on Lattice and Parallel
Version 5.0.3 of the Quantum ESPRESSO suite of programs has been installed on Lattice and Parallel. The code was compiled with Intel 12.1.4 compilers, Open MPI 1.6.5 and the Intel Math Kernel Library (MKL). FFTW 3.2.2 libraries are also used.
The full code distribution was installed under /global/software/espresso/espresso503. For documentation, pseudopotentials, tests and examples, please look in subdirectories there. The pwgui program was not built.
A basic bash job script for running Quantum ESPRESSO on Lattice or Parallel is shown below. Note the use of the module load espresso/5.0.3 to initialize the command PATH and library environment before running ESPRESSO commands. The module also defines the location of psuedopotential files in the directory specified by the ESPRESSO_PSEUDO environment variable.
#!/bin/bash
#PBS -S /bin/bash
module load espresso/5.0.3
# If necessary, define ESPRESSO_PSEUDO to override
# the location of pseudopotentials defined
# in the module. For example,
# ESPRESSO_PSEUDO=$PBS_O_WORKDIR
PW=`which pw.x`
# Change the name of the input file to match your case
INPUT=./input
cd $PBS_O_WORKDIR
echo "Current working directory is `pwd`"
echo "PBS_NODEFILE is:"
cat $PBS_NODEFILE
NCORES=`/bin/awk 'END {print NR}' $PBS_NODEFILE`
echo "Running on $NCORES cores."
echo "Starting $PW at `date`"
mpiexec -n $NCORES $PW -input $INPUT
echo "Finished with exit code $? at `date`"
Runnning Quantum ESPRESSO on Orcinus
Version 4.1.2 of Quantum ESPRESSO has been built with Intel compilers and Open MPI libraries and installed in /global/software/espresso-4.1.2. Psuedopotentials are available in /global/software/espresso-4.1.2/pseudo . A basic bash job script for running Quantum ESPRESSO on Orcinus is:
#!/bin/bash
#PBS -S /bin/bash
module load intel
PW="/global/software/espresso-4.1.2/bin/pw.x"
export ESPRESSO_PSEUDO="/global/software/espresso-4.1.2/pseudo"
cd $PBS_O_WORKDIR
echo "Current working directory is `pwd`"
echo "PBS_NODEFILE is:"
cat $PBS_NODEFILE
NCORES=`/bin/awk 'END {print NR}' $PBS_NODEFILE`
echo "Running on $NCORES cores."
echo "Starting $PW at `date`"
mpiexec -n $NCORES ${PW} -input ./input
echo "Finished with exit code $? at `date`"
Version 4.3.2
Version 4.3.2 of Quantum ESPRESSO has been built with Intel 12.1 compilers, along with MKL 1.3 and Open MPI 1.4.4 libraries and installed in /global/software/espresso-4.3.2. Psuedopotentials are available in /global/software/espresso-4.3.2/pseudo. Please note that you should use
module load intel-2011
in your script instead of the module load intel that was used with version 4.1.2. Also, not that the binaries in /global/software/espresso-4.3.2/bin have a prefix, qe_, so, for example, instead of pw.x, use qe_pw.x . Here is a sample job script incorporating those features.
#!/bin/bash
#PBS -S /bin/bash
module load intel-2011
PW="/global/software/espresso-4.3.2/bin/qe_pw.x"
export ESPRESSO_PSEUDO="/global/software/espresso-4.3.2/pseudo"
cd $PBS_O_WORKDIR
echo "Current working directory is `pwd`"
echo "PBS_NODEFILE is:"
cat $PBS_NODEFILE
NCORES=`/bin/awk 'END {print NR}' $PBS_NODEFILE`
echo "Running on $NCORES cores."
echo "Starting $PW at `date`"
mpiexec -n $NC ${PW} -input ./input
echo "Finished with exit code $? at `date`"
If using the graphical user interface, pwgui, found in /global/software/espresso-4.3.2/PWgui-4.3, you should initialize your environment using:
module load activeTcl
For More Information
2014-05-21 - Added Lattice/Parallel section.