CP2K on Jean Zay

Introduction

CP2K is a quantum chemistry and solid physics software for simulating solids, liquids, molecules, periodic systems, etc. It is based on the density functional theory and a combination of plane wave and Gaussian functions as orbital base.

Useful sites

Available versions

VersionModules to load Commentaries
6.1 popt cp2k/6.1-mpi-popt MPI version
6.1 popt cuda cp2k/6.1-mpi-cuda-popt MPI/CUDA version
6.1 psmp cuda cp2k/6.1-mpi-cuda-psmp Hybrid MPI/OpenMP/CUDA version

Example of usage on the CPU partition

cp2k.slurm
#!/bin/bash
#SBATCH --nodes=1            # Number of nodes
#SBATCH --ntasks-per-node=40 # Number of tasks per node
#SBATCH --cpus-per-task=1    # Number of OpenMP threads per task
#SBATCH --hint=nomultithread # Disable hyperthreading
#SBATCH --job-name=Si_bulk8          # Jobname
#SBATCH --output=%x.o%j            # Output file %x is the job name, %j the job i.d.
#SBATCH --error=%x.o%j            # Error file
#SBATCH --time=10:00:00      # Expected runtime HH:MM:SS (max 100h)
##
## Please, refer to comments below for
## more information about these 4 last options.
##SBATCH --account=<account>@cpu       # To specify cpu accounting: <account> = echo $IDRPROJ
##SBATCH --partition=<partition>       # To specify partition (see IDRIS web site for more info)
##SBATCH --qos=qos_cpu-dev      # Uncomment for job requiring less than 2 hours
##SBATCH --qos=qos_cpu-t4      # Uncomment for job requiring more than 20h (only one node)
 
# Cleans out the modules loaded in interactive and inherited by default
module purge
 
# Load the necessary modules
module load cp2k/6.1-mpi-popt
 
# Execute command
srun cp2k.popt -o ${SLURM_JOB_NAME}.out ${SLURM_JOB_NAME}.inp

Comments:

  • All jobs have resources defined in Slurm per partition and per QoS (Quality of Service) by default. You can modify the limits by specifying another partition and / or QoS as shown in our documentation detailing the partitions and Qos.
  • For multi-project users and those having both CPU and GPU hours, it is necessary to specify the project accounting (hours allocation for the project) for which to count the job's computing hours as indicated in our documentation detailing the project hours management.