The CSF2 has been replaced by the CSF3 - please use that system! This documentation may be out of date. Please read the CSF3 documentation instead. To display this old CSF2 page click here. |
Quantum ESPRESSO
Overview
Qunatum ESPRESSO (QE) is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials.
Version 6.1 is installed on the CSF.
Restrictions on use
There are no access restrictions on the CSF. The software is released under the GNU GPL.
You are requested to cite use of the software using the citation given in the online documentation.
Set up procedure
To access the software you must first load one of the following modulefiles:
# For serial and single-node MPI parallel jobs module load apps/intel-15.0/quantum-espresso/6.1-mpi # For multi-node MPI parallel jobs module load apps/intel-15.0/quantum-espresso/6.1-mpi-ib # For serial and single-node OpenMP parallel jobs apps/intel-15.0/quantum-espresso/6.1-omp
Note that quantum espresso MPI versions have been compiled with OpenMP. But the version of MPI on the CSF (OpenMPI) does not support multiple threads. So we automatically limit the OpenMP threads to 1 when using the MPI versions.
Running the application
Please do not run QE on the login node. Jobs should be submitted to the compute nodes via batch.
There are various executables provided by QE available for use. These are named app.x
where app
is the name of the tool – for example bands.x
or pw.x
. These should be used in your jobscript as shown below.
Serial batch job submission
Make sure you have the modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings app.x -inp myinput.in > myinput.out # # where app is the name of your QE executable (e.g., bands.x)
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Single-node MPI Parallel batch job submission
For a single-node (small) MPI parallel job use the smp.pe
parallel environment as shown.
Make sure you have the correct modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings #$ -pe smp.pe 24 # Number of cores (must be between 2 and 24) # $NSLOTS is automatically set to the number on the -pe line above mpirun -n $NSLOTS app.x -inp myinput.in > myinput.out # # where app is the name of your QE executable (e.g., bands.x)
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Multi-node MPI Parallel batch job submission
For a multi-node (large) parallel job use the orte-24-ib.pe
parallel environment as shown.
Make sure you have the correct modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings #$ -pe orte-24-ib.pe 48 # Number of cores (must be at least 48 and a multiple of 24) # $NSLOTS is automatically set to the number on the -pe line above mpirun -n $NSLOTS app.x -inp myinput.in > myinput.out # # where app is the name of your QE executable (e.g., bands.x)
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Single-node OpenMP Parallel batch job submission
For a single-node (small) OpenMP parallel job use the smp.pe
parallel environment as shown.
Make sure you have the correct modulefile loaded then create a batch submission script, for example:
#!/bin/bash #$ -S /bin/bash #$ -cwd # Job will run from the current directory #$ -V # Job will inherit current environment settings #$ -pe smp.pe 24 # Number of cores (must be between 2 and 24) # $NSLOTS is automatically set to the number on the -pe line above. # We must set OMP_NUM_THREADS to indicate how many CPU cores to use export OMP_NUM_THREADS=$NSLOTS app.x -inp myinput.in > myinput.out # # where app is the name of your QE executable (e.g., bands.x)
Submit the jobscript using:
qsub scriptname
where scriptname is the name of your jobscript.
Further info
Updates
None.