cp2k
Table of Content
Versions and Availability
About the Software
CP2K is a quantum chemistry and solid state physics software package that can perform atomistic simulations of solid state, liquid, molecular, periodic, material, crystal, and biological systems
Usage
CP2K is normally run via a PBS batch job.
To run cp2k, you will need keys for cp2k,
▶ Open Example?
Sample PBS Script
The example assumes a cp2k softenv key has been set using +CP2K-3.0-mvapich2-2.0.1-Intel-14.0.2.
#!/bin/sh # #PBS -q workq #PBS -M whatever@whereever.foo #PBS -A my_allocation_code #PBS -l nodes=2:ppn=8 #PBS -l cput=06:00:00 #PBS -l walltime=06:00:00 #PBS -V #PBS -o cp2k_test.out #PBS -e cp2k_test.err #PBS -N cp2k_test export WORK_DIR=/work/uname/cp2ktest export NPROCS=`wc -l $PBS_NODEFILE |gawk '//{print $1}'` cd $WORK_DIR cd $PBS_O_WORKDIR mpirun -np $NPROCS -hostfile $PBS_NODEFILE cp2k.psmp input > output 2>&1
The script is submitted using qsub:
$ qsub script_name
▶ QSub FAQ?
Portable Batch System: qsub
qsub
All HPC@LSU clusters use the Portable Batch System (PBS) for production processing. Jobs are submitted to PBS using the qsub command. A PBS job file is basically a shell script which also contains directives for PBS.
Usage
$ qsub job_script
Where job_script is the name of the file containing the script.
PBS Directives
PBS directives take the form:
#PBS -X value
Where X is one of many single letter options, and value is the desired setting. All PBS directives must appear before any active shell statement.
Example Job Script
#!/bin/bash # # Use "workq" as the job queue, and specify the allocation code. # #PBS -q workq #PBS -A your_allocation_code # # Assuming you want to run 16 processes, and each node supports 4 processes, # you need to ask for a total of 4 nodes. The number of processes per node # will vary from machine to machine, so double-check that your have the right # values before submitting the job. # #PBS -l nodes=4:ppn=4 # # Set the maximum wall-clock time. In this case, 10 minutes. # #PBS -l walltime=00:10:00 # # Specify the name of a file which will receive all standard output, # and merge standard error with standard output. # #PBS -o /scratch/myName/parallel/output #PBS -j oe # # Give the job a name so it can be easily tracked with qstat. # #PBS -N MyParJob # # That is it for PBS instructions. The rest of the file is a shell script. # # PLEASE ADOPT THE EXECUTION SCHEME USED HERE IN YOUR OWN PBS SCRIPTS: # # 1. Copy the necessary files from your home directory to your scratch directory. # 2. Execute in your scratch directory. # 3. Copy any necessary files back to your home directory. # Let's mark the time things get started. date # Set some handy environment variables. export HOME_DIR=/home/$USER/parallel export WORK_DIR=/scratch/myName/parallel # Set a variable that will be used to tell MPI how many processes will be run. # This makes sure MPI gets the same information provided to PBS above. export NPROCS=`wc -l $PBS_NODEFILE |gawk '//{print $1}'` # Copy the files, jump to WORK_DIR, and execute! The program is named "hydro". cp $HOME_DIR/hydro $WORK_DIR cd $WORK_DIR mpirun -machinefile $PBS_NODEFILE -np $NPROCS $WORK_DIR/hydro # Mark the time processing ends. date # And we're out'a here! exit 0
Resources
- CP2K home page with links to documentation and other items.
Last modified: September 10 2020 11:58:50.