技术文章
CP2K 2026.1 安装(CMake)
2025.2 之后改用 CMake。toolchain 编完后,DBCSR 版本号对不上是常见坑。
CP2K 2025.2 以上改用 CMake。路径按 /opt/software/... 示例。需先准备适配自己处理器的 MPI(oneAPI 或 OpenMPI)。
依赖
Red Hat / Rocky:
sudo dnf makecache
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y gcc gcc-gfortran zlib zlib-devel unzip vim wget curl make openssl-devel
Debian / Ubuntu:
sudo apt-get update
sudo apt-get install -y gcc gfortran zlib1g zlib1g-dev unzip vim build-essential wget curl make libssl-dev
源码
指定版本并拉全子模块:
git clone -b support/v2026.1 --recursive https://github.com/cp2k/cp2k.git /opt/software/cp2k-2026.1
GitHub 过慢时,原文走 gh-proxy,分支还是 support/v2026.1:
# git clone -b support/v2026.1 --recursive https://gh-proxy.com/https://github.com/cp2k/cp2k.git /opt/software/cp2k-2026.1
Toolchain
cd /opt/software/cp2k-2026.1/tools/toolchain
注意:AMD 编译的 OpenMPI 可能不被这份 toolchain 接受,不要用 --with-openmpi=system 硬接。
Intel MPI + MKL(原文写 onempi):
./install_cp2k_toolchain.sh \
--with-intelmpi=system \
--with-mkl=system \
--with-intel=system \
--with-sirius=no \
--with-plumed=install \
--with-elpa=no \
-j$(nproc)
GCC + 自编译 OpenMPI:
./install_cp2k_toolchain.sh \
--with-gcc=system \
--with-openmpi=install \
--with-sirius=no \
--with-plumed=install \
--with-elpa=no \
-j$(nproc)
source /opt/software/cp2k-2026.1/tools/toolchain/install/setup
DBCSR 版本对不上
cmake 配置时可能报:找不到与请求版本 2.6 兼容的 DBCSR,实际看到的是 toolchain 编出来的 2.9.0。可先备份再改版本文件:
cd /opt/software/cp2k-2026.1/tools/toolchain/install/dbcsr-2.9.0/lib/cmake/dbcsr
cp DBCSRConfigVersion.cmake DBCSRConfigVersion.cmake.bak.$(date +%F_%H%M%S)
sed -i 's/set(PACKAGE_VERSION ".*")/set(PACKAGE_VERSION "2.9.0")/' DBCSRConfigVersion.cmake
sed -i 's/set(PACKAGE_VERSION_UNSUITABLE TRUE)/set(PACKAGE_VERSION_UNSUITABLE FALSE)/' DBCSRConfigVersion.cmake
cd /opt/software/cp2k-2026.1
cp CMakeLists.txt CMakeLists.txt.bak.$(date +%F_%H%M%S)
sed -i 's/find_package(DBCSR 2.6 REQUIRED)/find_package(DBCSR 2.9.0 REQUIRED)/' CMakeLists.txt
路径和版本号以你机器上 dbcsr-* 目录为准。
编译
cd /opt/software/cp2k-2026.1
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCP2K_USE_MPI=ON \
-DCP2K_USE_PLUMED=ON \
-DCP2K_USE_FFTW3=ON \
-DCP2K_USE_LIBINT2=ON \
-DCP2K_USE_LIBXC=ON \
-DCP2K_USE_COSMA=ON \
-DCP2K_USE_SPGLIB=ON
cmake --build build -j$(nproc)
验收
ls /opt/software/cp2k-2026.1/build/bin
./build/bin/cp2k.psmp --version
写入 ~/.bashrc:
vim ~/.bashrc
source /opt/software/cp2k-2026.1/tools/toolchain/install/setup
export PATH=/opt/software/cp2k-2026.1/build/bin:$PATH
source ~/.bashrc