Source: https://ccportal.ims.ac.jp/en/node/3927
Environment: AlmaLinux 8
Contents
Compilation (SHARED_LIB=ON)
cd /usr/local/cp2k
sudo wget https://github.com/cp2k/cp2k/releases/download/v2026.1/cp2k-2026.1.tar.bz2
sudo tar xvjf cp2k-2026.1.tar.bz2
sudo cd cp2k-2026.1/tools/toolchain
scl enable gcc-toolset-13 bash
INSTDIR=/usr/local/cp2k/2026.1
sudo mv cp2k-2026.1 2026.1
cd 2026.1/tools/toolchain
sudo ./install_cp2k_toolchain.sh --mpi-mode=openmpi \
--math-mode=openblas \
--with-gcc=system \
--with-cmake=system \
--with-openmpi=system \
--with-mpich=no \
--with-intelmpi=no \
--with-libxc=install \
--with-libint=install \
--with-fftw=install \
--with-acml=no \
--with-mkl=no \
--with-openblas=install \
--with-scalapack=install \
--with-libxsmm=install \
--with-elpa=install \
--with-deepmd=no \
--with-plumed=install \
--with-sirius=install \
--with-gsl=install \
--with-libvdwxc=install \
--with-spglib=install \
--with-hdf5=install \
--with-spfft=install \
--with-spla=install \
--with-cosma=install \
--with-libvori=install \
--with-libtorch=no \
--with-libsmeagol=install \
--with-dftd4=install \
--with-tblite=install \
--with-trexio=install \
--with-greenx=install \
--with-gmp=install \
--with-ace=install \
-j 37
# ==================== Installing SIRIUS ====================
# CMake Error at CMakeLists.txt:16 (cmake_policy):
# Policy "CMP0144" is not known to this version of CMake.
cmake --version
# cmake version 3.26.5
export PATH=/usr/local/cmake/4.1.0/bin:$PATH
sudo ./install_cp2k_toolchain.sh --mpi-mode=openmpi \
--math-mode=openblas \
--with-gcc=system \
--with-cmake=system \
--with-openmpi=system \
--with-mpich=no \
--with-intelmpi=no \
--with-libxc=install \
--with-libint=install \
--with-fftw=install \
--with-acml=no \
--with-mkl=no \
--with-openblas=install \
--with-scalapack=install \
--with-libxsmm=install \
--with-elpa=install \
--with-deepmd=no \
--with-plumed=install \
--with-sirius=install \
--with-gsl=install \
--with-libvdwxc=install \
--with-spglib=install \
--with-hdf5=install \
--with-spfft=install \
--with-spla=install \
--with-cosma=install \
--with-libvori=install \
--with-libtorch=no \
--with-libsmeagol=install \
--with-dftd4=install \
--with-tblite=install \
--with-trexio=install \
--with-greenx=install \
--with-gmp=install \
--with-ace=install \
-j 37
ldd install/trexio-2.6.0/lib/libtrexio.so | grep hdf5
# libhdf5.so.103 => /lib64/libhdf5.so.103 (0x0000148fd384e000)
sudo rm -rf install/trexio-2.6.0/
HDF5_VER=1.14.6
TREXIO_VER=2.6.0
INSTALLDIR="${PWD}/install"
cd build/trexio-${TREXIO_VER}
sudo make distclean
sudo ./configure \
--prefix="${INSTALLDIR}/trexio-${TREXIO_VER}" \
--with-hdf5="${INSTALLDIR}/hdf5-${HDF5_VER}" \
CPPFLAGS="-I${INSTALLDIR}/hdf5-${HDF5_VER}/include" \
LDFLAGS="-L${INSTALLDIR}/hdf5-${HDF5_VER}/lib -Wl,-rpath,${INSTALLDIR}/hdf5-${HDF5_VER}/lib"
sudo make -j 37
sudo make install
cd ../fftw-3.3.10
sudo make distclean
sudo ./configure \
--prefix=/usr/local/cp2k/2026.1/tools/toolchain/install/fftw-3.3.10 \
--enable-mpi \
--enable-openmp \
--enable-shared \
--enable-sse2 \
--enable-avx \
--enable-avx2 \
--enable-avx512
sudo make -j 37
sudo make install
cd ../../
ldd install/trexio-2.6.0/lib/libtrexio.so | grep hdf5
# libhdf5.so.310 => /usr/local/cp2k-2026.1/tools/toolchain/install/hdf5-1.14.6/lib/libhdf5.so.310 (0x00001503c3617000)
source install/setup
cd ../../
sudo rm -rf build
sudo mkdir build
cd build
sudo cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${INSTDIR} \
-DBUILD_SHARED_LIBS=ON \
-DCP2K_USE_ACCEL=NONE \
-DCP2K_ENABLE_DBM_GPU=OFF \
-DCP2K_ENABLE_GRID_GPU=OFF \
-DCP2K_ENABLE_PW_GPU=OFF \
-DCP2K_USE_MPI=ON \
-DCP2K_USE_MPI_F08=ON \
-DCP2K_USE_COSMA=ON \
-DCP2K_USE_ELPA=ON \
-DCP2K_ENABLE_ELPA_OPENMP_SUPPORT=ON \
-DCP2K_USE_SPLA=ON \
-DCP2K_USE_SPLA_GEMM_OFFLOADING=OFF \
-DCP2K_USE_LIBXSMM=ON \
-DCP2K_USE_FFTW3=ON \
-DCP2K_USE_LIBXC=ON \
-DCP2K_USE_LIBINT2=ON \
-DCP2K_USE_LIBVDWXC=ON \
-DCP2K_USE_DFTD4=ON \
-DCP2K_USE_TBLITE=ON \
-DCP2K_USE_SIRIUS=ON \
-DCP2K_USE_SIRIUS_DFTD4=ON \
-DCP2K_USE_SIRIUS_VCSQNM=ON \
-DCP2K_USE_SIRIUS_NLCG=ON \
-DCP2K_USE_ACE=OFF \
-DCP2K_USE_DEEPMD=OFF \
-DCP2K_USE_PLUMED=ON \
-DCP2K_USE_PEXSI=OFF \
-DCP2K_USE_LIBSMEAGOL=ON \
-DCP2K_USE_GREENX=ON \
-DCP2K_USE_HDF5=ON \
-DCP2K_USE_SPGLIB=ON \
-DCP2K_USE_VORI=ON \
-DCP2K_USE_TREXIO=ON \
-DCMAKE_INSTALL_RPATH="/usr/local/cp2k/2026.1/lib64" \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON
sudo cmake --build . -j 37
sudo cmake --build . --target install -j 37
Running
Energy (B3LYP/6-31G(d))
methane.xyz
5 Methane H 0.5288 0.1610 0.9359 C 0.0000 0.0000 0.0000 H 0.2051 0.8240 -0.6786 H 0.3345 -0.9314 -0.4496 H -1.0685 -0.0537 0.1921
CH4_energy.inp
&GLOBAL
PROJECT methane_b3lyp
RUN_TYPE ENERGY
PRINT_LEVEL MEDIUM
&END GLOBAL
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME EMSL_BASIS_SETS
POTENTIAL_FILE_NAME POTENTIAL
CHARGE 0
MULTIPLICITY 1
&MGRID
CUTOFF 400
REL_CUTOFF 60
NGRIDS 5
&END MGRID
&QS
METHOD GAPW
EPS_DEFAULT 1.0E-12
&END QS
&XC
&XC_FUNCTIONAL B3LYP
&END XC_FUNCTIONAL
&XC_GRID
XC_SMOOTH_RHO NN50
XC_DERIV NN50_SMOOTH
&END XC_GRID
&END XC
&SCF
SCF_GUESS ATOMIC
MAX_SCF 100
EPS_SCF 1.0E-8
&OT ON
MINIMIZER DIIS
PRECONDITIONER FULL_ALL
&END OT
&OUTER_SCF ON
MAX_SCF 20
EPS_SCF 1.0E-8
&END OUTER_SCF
&PRINT
&RESTART OFF
&END RESTART
&END PRINT
&END SCF
&PRINT
&MO_CUBES OFF
&END MO_CUBES
&MULLIKEN ON
&END MULLIKEN
&HIRSHFELD ON
&END HIRSHFELD
&END PRINT
&END DFT
&SUBSYS
&CELL
ABC 10.0 10.0 10.0
PERIODIC NONE
&END CELL
&TOPOLOGY
COORD_FILE_NAME methane.xyz
COORDINATE XYZ
CONNECTIVITY OFF
&END TOPOLOGY
&KIND C
BASIS_SET 6-31G*
POTENTIAL ALL
&END KIND
&KIND H
BASIS_SET 6-31G*
POTENTIAL ALL
&END KIND
&END SUBSYS
&END FORCE_EVAL
$ /usr/local/cp2k/2026.1/bin/cp2k.psmp -i CH4_energy.inp -o CH4_energy.out $ grep "Total energy:" CH4_energy.out Total energy: -40.47812358217958
Structural optimization (energy minimization)
CH4_minimization.inp
&GLOBAL
PROJECT methane_b3lyp_opt
RUN_TYPE GEO_OPT
PRINT_LEVEL MEDIUM
&END GLOBAL
&MOTION
&GEO_OPT
TYPE MINIMIZATION
OPTIMIZER BFGS
MAX_ITER 200
MAX_FORCE 4.5E-4
RMS_FORCE 3.0E-4
MAX_DR 3.0E-3
RMS_DR 1.5E-3
&BFGS
TRUST_RADIUS 0.3
&END BFGS
&END GEO_OPT
&PRINT
&TRAJECTORY
FORMAT XYZ
&EACH
GEO_OPT 1
&END EACH
&END TRAJECTORY
&VELOCITIES OFF
&END VELOCITIES
&FORCES ON
&EACH
GEO_OPT 1
&END EACH
&END FORCES
&RESTART_HISTORY
&EACH
GEO_OPT 5
&END EACH
&END RESTART_HISTORY
&RESTART ON
&END RESTART
&END PRINT
&END MOTION
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME EMSL_BASIS_SETS
POTENTIAL_FILE_NAME POTENTIAL
CHARGE 0
MULTIPLICITY 1
&MGRID
CUTOFF 400
REL_CUTOFF 60
NGRIDS 5
&END MGRID
&QS
METHOD GAPW
EPS_DEFAULT 1.0E-12
&END QS
&XC
&XC_FUNCTIONAL B3LYP
&END XC_FUNCTIONAL
&XC_GRID
XC_SMOOTH_RHO NN50
XC_DERIV NN50_SMOOTH
&END XC_GRID
&END XC
&SCF
SCF_GUESS ATOMIC
MAX_SCF 100
EPS_SCF 1.0E-8
&OT ON
MINIMIZER DIIS
PRECONDITIONER FULL_ALL
&END OT
&OUTER_SCF ON
MAX_SCF 20
EPS_SCF 1.0E-8
&END OUTER_SCF
&PRINT
&RESTART OFF
&END RESTART
&END PRINT
&END SCF
&PRINT
&MO_CUBES OFF
&END MO_CUBES
&MULLIKEN ON
&EACH
GEO_OPT 1
&END EACH
&END MULLIKEN
&HIRSHFELD ON
&EACH
GEO_OPT 1
&END EACH
&END HIRSHFELD
&END PRINT
&END DFT
&SUBSYS
&CELL
ABC 10.0 10.0 10.0
PERIODIC NONE
&END CELL
&TOPOLOGY
COORD_FILE_NAME methane.xyz
COORDINATE XYZ
CONNECTIVITY OFF
&END TOPOLOGY
&KIND C
BASIS_SET 6-31G*
POTENTIAL ALL
&END KIND
&KIND H
BASIS_SET 6-31G*
POTENTIAL ALL
&END KIND
&END SUBSYS
&END FORCE_EVAL
$ export OMP_NUM_THREADS=1 $ mpirun -np 4 /usr/local/cp2k/2026.1/bin/cp2k.psmp -i CH4_minimization.inp -o CH4_minimization.out $ grep "Total energy:" CH4_minimization.out Total energy: -40.47812358218015 Total energy: -40.47825251290585 Total energy: -40.47826101039904 Total energy: -40.47826104637182 Total energy: -40.47826104636347
GROMACS + CP2K Installation (MPI, double precision)
Source: https://ccportal.ims.ac.jp/en/node/3916
scl enable devtoolset-13 bash
INSTALL_PREFIX=/usr/local/gromacs/2026.1_mpi_d_cp2k
CP2KROOT=/usr/local/cp2k/2026.1
CP2KROOT_TC=/usr/local/cp2k/2026.1/tools/toolchain
HDF5_ROOT=/usr/local/cp2k/2026.1/tools/toolchain/install/hdf5-1.14.6
source /usr/local/cp2k/2026.1/tools/toolchain/install/setup
mkdir build_cp2k
cd build_cp2k
/usr/local/cmake/4.1.0/bin/ccmake .. \
-DCMAKE_PREFIX_PATH="${CP2KROOT_TC}/install/fftw-3.3.10" \
-DGMX_DEFAULT_SUFFIX=OFF \
-DGMX_BINARY_SUFFIX=_mpi_d_cp2k \
-DGMX_LIBS_SUFFIX=_mpi_d_cp2k \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DGMX_MPI=ON \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_THREAD_MPI=OFF \
-DGMX_CP2K=ON \
-DBUILD_SHARED_LIBS=OFF \
-DGMXAPI=OFF \
-DGMX_INSTALL_NBLIB_API=OFF \
-DCP2K_DIR=${CP2KROOT}/lib64 \
-DGMX_FFT_LIBRARY=fftw3 \
-DGMX_EXTERNAL_BLAS=ON \
-DGMX_BLAS_USER=${CP2KROOT_TC}/install/openblas-0.3.30/lib/libopenblas.so \
-DGMX_EXTERNAL_LAPACK=ON \
-DGMX_LAPACK_USER=${CP2KROOT_TC}/install/openblas-0.3.30/lib/libopenblas.so \
-DGMX_USE_PLUMED=ON \
-DGMX_NNPOT=OFF \
-DHDF5_ROOT=${HDF5_ROOT} \
-DHDF5_C_LIBRARY_hdf5=${HDF5_ROOT}/lib/libhdf5.so \
-DHDF5_C_INCLUDE_DIR=${HDF5_ROOT}/include \
-DCMAKE_PREFIX_PATH=${HDF5_ROOT}
grep -i hdf5 CMakeCache.txt | grep -i library
make -j 37
unset OMP_NUM_THREADS
make check -j 37
#The following tests FAILED:
# 9 - QMMMAppliedForcesUnitTest (Failed) GTest UnitTest
sudo make install
gmx_mpi_d_cp2k --version
:-) GROMACS - gmx_mpi_d_cp2k, 2026.1 (double precision) (-:
Executable: /usr/local/gromacs/2026.1_mpi_d_cp2k/bin/gmx_mpi_d_cp2k
Data prefix: /usr/local/gromacs/2026.1_mpi_d_cp2k
Working dir: /home/user/data/CP2K/gromacs-2022-cp2k-tutorial/nma
Command line:
gmx_mpi_d_cp2k --version
GROMACS version: 2026.1
Precision: double
Memory model: 64 bit
MPI library: MPI
MPI version: Open MPI v4.1.8, package: Open MPI user@mas-i9wx Distribution, ident: 4.1.8, repo rev: v4.1.8, Feb 04, 2025
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 128)
GPU support: disabled
SIMD instructions: AVX_512
CPU FFT library: fftw-3.3.10-sse2-avx-avx2-avx2_128-avx512
GPU FFT library: none
Multi-GPU FFT: none
RDTSCP: enabled
TNG support: enabled
Hwloc support: disabled
Tracing support: disabled
Colvars support: enabled (version 2025-10-13)
CP2K support: enabled (version CP2K version 2026.1)
Torch support: disabled
Plumed support: enabled
C compiler: /usr/local/open-mpi/4.1.8/bin/mpicc GNU 13.3.1
C compiler flags: -fexcess-precision=fast -funroll-all-loops -march=skylake-avx512 -Wno-missing-field-initializers -O3 -DNDEBUG
C++ compiler: /usr/local/open-mpi/4.1.8/bin/mpicxx GNU 13.3.1
C++ compiler flags: -fexcess-precision=fast -funroll-all-loops -march=skylake-avx512 -Wno-missing-field-initializers -Wno-stringop-truncation -Wno-old-style-cast -Wno-cast-qual -Wno-suggest-override -Wno-suggest-destructor-override -Wno-zero-as-null-pointer-constant -Wno-cast-function-type-strict SHELL:-fopenmp -O3 -DNDEBUG
BLAS library: External - user-supplied
LAPACK library: External - user-supplied
Test (N-methylalanine in vacuum)
Source: https://zenn.dev/meguru_compchem/articles/72044145e092b3 and https://github.com/bioexcel/gromacs-2022-cp2k-tutorial
source /usr/local/gromacs/2026.1_mpi_d_cp2k/bin/GMXRC
git clone https://github.com/bioexcel/gromacs-2022-cp2k-tutorial.git
cd gromacs-2022-cp2k-tutorial/nma
gmx_mpi_d_cp2k pdb2gmx -f nma.pdb <<EOF
1
1
EOF
gmx_mpi_d_cp2k grompp -f em.mdp -p topol.top -c conf.gro -o nma-em
time gmx_mpi_d_cp2k mdrun -v -deffnm nma-em -ntomp 8
# real 13m25.061s (100 steps)
time mpirun -np 8 gmx_mpi_d_cp2k mdrun -v -deffnm nma-em -ntomp 1
# real 10m32.998s (100 steps)
time mpirun -np 16 gmx_mpi_d_cp2k mdrun -v -deffnm nma-em -ntomp 1
# real 8m52.430s (100 steps)
gmx_mpi_d_cp2k grompp -f md-nvt.mdp -o nma-nvt
time mpirun -np 16 gmx_mpi_d_cp2k mdrun -v -deffnm nma-nvt -ntomp 1
Core t (s) Wall t (s) (%)
Time: 7807.185 487.949 1600.0
(ns/day) (hour/ns) (ms/step) (Matom*steps/s)
Performance: 0.018 1341.994 4831.180 0.000
Test (EGFP protein in water)
cd gromacs-2022-cp2k-tutorial/egfp
gmx_mpi_d_cp2k pdb2gmx -f 4eul.pdb <<EOF
1
1
EOF
gmx_mpi_d_cp2k editconf -f conf.gro -o box.gro -bt cubic -d 1
gmx_mpi_d_cp2k solvate -cp box.gro -o solv.gro -p topol.top
gmx_mpi_d_cp2k grompp -f em.mdp -c solv.gro -o egfp-genion -maxwarn 2
gmx_mpi_d_cp2k genion -s egfp-genion -p topol.top -o ions.gro -neutral -pname NA -nname CL <<EOF
13
EOF
gmx_mpi_d_cp2k grompp -f em.mdp -c ions.gro -o egfp-em
gmx_mpi_d_cp2k mdrun -v -deffnm egfp-em -ntomp 9
gmx_mpi_d_cp2k grompp -f md-mm-nvt.mdp -c egfp-em.gro -o egfp-mm-nvt
/usr/local/gromacs/2026.1_cuda_torchcu128/bin/gmx mdrun -v -deffnm egfp-mm-nvt -ntmpi 1 -ntomp 9
# 226.825 ns/day
gmx_mpi_d_cp2k make_ndx -f ions.gro <<EOF
a 938-956
name 17 QMatoms
q
EOF
gmx_mpi_d_cp2k grompp -f md-qmmm-nvt.mdp -c egfp-mm-nvt.gro -t egfp-mm-nvt.cpt -n index.ndx -o egfp-qmmm-nvt -maxwarn 1
mpirun -np 16 gmx_mpi_d_cp2k mdrun -v -deffnm egfp-qmmm-nvt -ntomp 1
Core t (s) Wall t (s) (%)
Time: 15669.242 979.328 1600.0
(ns/day) (hour/ns) (ms/step) (Matom*steps/s)
Performance: 0.009 2693.421 9696.315 0.005