cp2k属于开源软件,安装包可以从官网下载download [CP2K Open Source Molecular Dynamics ]
1、安装gcc和intel编译器。
2、解压下载的cp2k包,并进入tools/toolchain中,执行install_cp2k_toolchain.sh脚本时,它会去下载想着的包,速度比较慢,如果需要可以从我这里下载(cp2k安装工具链安装包-Linux文档类资源-CSDN下载),下载完成后,将包都放在toolchain/build中(如果没有build目录可以新建一个)。
3、执行./install_cp2k_toolchain.sh --with-gcc=system --with-mkl=system --with-mpich=install
意思:用我们linux自己安装的gcc、mkl,并且使用第二步中安装的mpich进行编译(我尝试用intelmpi编译,但最后失败了)。
4、这个编译安装的过程时间比较长,如果成功了最后会出现成功的提示:
Done!
Now copy:等等。
5、这里我们就按照提示的步骤进行,
cp toolchain/install/arch/* cp2k/arch ,将工具链安装好的arch文件复制到安装包的arch中,后面要用。
source toolchain/install/setup,让安装好的工具链的环境生效。
cd cp2k ,进行cp2k的主目录
make -j 128 ARCH=local VERSION="ssmp sdbg psmp pdbg" 开始编译
错误1:编译libxsmm出现错误
Error: no such instruction: `vcvtne2ps2bf16 %zmm9,%zmm11,%zmm5
这们的错误,由于依赖的库版本低,解决方法为:
1、升级 binutils,可以选择用 scl-devtoolset 同时解决 GCC 和 binutils 的版本问题
2、给 make 加参数 INTRINSICS=1
操作如下:在 scripts/stage4/install_libxsmm.sh 第 70 行以及第 76 添加 INTRINSICS=1