CP2K (2026.1) Installation

Source: https://ccportal.ims.ac.jp/en/node/3927

Environment: AlmaLinux 8

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 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください