CentOS 6.9 老爷机离线安装 CP2K 2024.1
昨天刚刚成功在 CentOS 6.9 的老爷机里编译了 CP2K 2024.1,我们组有两个集群,老集群上至 x58,下至 x99,一共有 X5650、E5-2670 和 E5-2630v4。虽然都是快入土的 CPU,但好在数量多,为了不和其他人抢新集群跑 AIMD,就跑去把老集群吃干抹净了。
主要流程如下
1. CentOS 6.9 yum 源里的 gcc 版本太低了,好在还有 devtoolset 能装上更高版本的 gcc,于是先在本地开了一个 CentOS 6.9 虚拟机,用 yum downloadonly 下载了 devtoolset 包,再传到服务器上安装,就有办法用上 gcc 9.1.1 了。
2. 在本地 clone 下来一个 CP2K-2024.1,在 toolchain/build 下塞进去需要的包。其中 gcc-13.2.0 先解压之后,./contrib/download_prerequisites 把东西先下好,再重新打包回 gcc-13.2.0.tar.gz,最后把整个 CP2K 2024.1 文件夹打包好传上服务器。
3. CentOS 6.9 的 glibc 版本太低了,如果 --with-cmake=install 的话,装了也用不了,自己另外在机器上装了一个 cmake 3.25.2,可以使用。另外得确保系统上有个能用的 Python3,有些依赖包里有脚本需要 Python3 来运行。
4. 加载好 devtoolset 里的 gcc-9.1.1,自己装的 cmake 3.25.2,以及 Python3,编译 toolchain。
- ./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install --with-gcc=install --with-intel=no --with-cmake=system
复制代码
5. 编译好 toolchain 生成 arch file 后 copy 到 arch 文件夹下,在 local.psmp 和 local.ssmp 的 LIBS 一行最后添加 -lrt,最后 make -j 32 ARCH=local VERSION="ssmp psmp" 便大功告成。
- LIBS = -lsymspg -l:libplumed.a -ldl -lstdc++ -lz -ldl -lgsl -lelpa_openmp -lcosma_prefixed_pxgemm -lcosma -lcosta -lscalapack -lxsmmf -lxsmm -ldl -lpthread -llibgrpp -lxcf03 -lxc -lint2 -lfftw3_mpi -lfftw3 -lfftw3_omp -lmpi -l:libopenblas.a -lvori -lstdc++ -lstdc++ -lrt
复制代码
随便跑了一下 H2O-64,也没有调优,双路 X5650 一圈 SCF 1.7 s,E5-2670 和 E5-2630v4 都在 0.9 s 左右,组里最快的 6336Y 0.3 s,反正 AIMD 放那边慢慢跑就是了 。
|