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. |
CP2K
Overview
CP2K is a program to perform atomistic and molecular simulations of solid state, liquid, molecular, and biological systems. It provides a general framework for different methods such as e.g., density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW) and classical pair and many-body potentials.
Version 2.5.1 is installed on the CSF. It was compiled with Intel Compilers 12.0.5 & MKL (with -msse4.1 and -axAVX) and support for MPI (no OpenMP). This software will not run on the AMD nodes, it is optimised for the Intel hardware.
Version 2.6.0 is also available. Note that this version was not compiled on the CSF, instead the pre-compiled binary from the CP2K download site was installed. This version will only run on a maximum of 16 cores in smp.pe.
Version 4.1 is available for distributed parallel use on all nodes, but will only run usefully across Infiniband-connected nodes, at least in modes like Quickstep which are very latency-sensitive. It is built with the add-ons libint, libderiv, libxsmm, libxc, and ELPA; it may be possible to add others if required. (The way it is built sidesteps a bad performance problem on Infiniband which you might see elsewhere.) There is a pure MPI binary, cp2k.popt, and an MPI+OpenMP one, cp2k.psmp, but running the latter properly still needs some investigation. See the parallel submission recipe below for running the popt version.
Restrictions on use
The software is open source under the GNU General Public License.
Set up procedure
To access the software you must first load the appropriate modulefile.
For version 4.1:
module load apps/gcc/cp2k/4.1
Potentials and bases can then be found in the directory pointed to by $CP2K_DATA.
For version 2.6.0:
module load apps/binapps/cp2k/2.6.0
For version 2.5.1 on a single node jobs (2 to 24 cores)
module load apps/intel-12.0/cp2k/popt/2.5.1
For version 2.5.1 jobs requiring two or more compute nodes ( 48+ cores in multiples of 24)
module load apps/intel-12.0/cp2k/popt/2.5.1-ib
Running the application – version 2.6.1
Serial batch job submission
A serial version of CP2K has not been installed. CP2K should be run on 2 or more cores – see below.
Parallel batch job submission – 2 to 24 cores
This version will only run on 2 or more processors up to a maximum of 24.
- Load the appropriate modulefile
- Create a directory (preferably in scratch) for your job.
- Place all relevant files, e.g. input, in the directory.
- Create a job submission script/textfile, e.g:
#!/bin/bash #$ -S /bin/bash ##Set current dir as the work directory #$ -cwd ## Inherit login node including modulefile settings #$ -V ## Submit to single node parallel environment and request up to 16 cores #$ -pe smp.pe 4 ## Run the executable specifying your input file. ## The variable $NSLOTS automatically uses the no. of cores requested in the pe. export OMP_NUM_THREADS=$NSLOTS cp2k.ssmp -i C.inp
- Submit the job with:
qsub scriptname
. Replacing ‘scriptname’ with the name of your file.>/li>
Running the application – version 2.5.1 and 4.1 (multi-node)
Please do not run CP2K on the login node. Jobs should be submitted to the compute nodes via batch.
Serial batch job submission
A serial version of CP2K has not been installed. CP2K should be run on 2 or more cores – see below.
Parallel batch job submission – 2 to 24 cores
- Load the appropriate modulefile
- Create a directory (preferably in scratch) for your job.
- Place all relevant files, e.g. input, in the directory.
- Create a job submission script/textfile, e.g:
#!/bin/bash #$ -S /bin/bash ##Set current dir as the work directory #$ -cwd ## Inherit login node including modulefile settings #$ -V ## Submit to single node parallel environment and request up to 16 cores #$ -pe smp.pe 8 ## Run the executable specifying your input file. ## The variable $NSLOTS automatically uses the no. of cores requested in the pe. mpirun -np $NSLOTS cp2k.popt -i H2O-32.inp
- Submit the job with:
qsub scriptname
. Replacing ‘scriptname’ with the name of your file.>/li>
Parallel batch job submission – 48 or more cores in multiples of 24
- You should have tested that your job scales well on 2-24 cores before using 48+
- Load the appropriate modulefile
- Create a directory (preferably in scratch) for your job.
- Place all relevant files, e.g. input, in the directory.
- Create a job submission script/textfile, e.g:
#!/bin/bash #$ -S /bin/bash ##Set current dir as the work directory #$ -cwd ## Inherit login node including modulefile settings #$ -V ## Multi-node environment uses 48 cores or more and in multiples of 24 #$ -pe orte-24-ib.pe 48 ## Run the executable specifying your input file. ## The variable $NSLOTS automatically uses the no. of cores requested in the pe. mpirun -np $NSLOTS cp2k.popt -i H2O-32.inp
- Submit the job with:
qsub scriptname
. Replacing ‘scriptname’ with the name of your file.
Further info
Updates
None.