1、安装环境:Centos 7.9系统安装在虚拟机上,并未使用任何mkl, 使用的是openblas,因此也不需要额外安装任何mkl;gcc版本9.3.1;openmpi并行。
2、安装其他gcc版本;因为Centos 7自带的版本比较低,所以需要安装其他版本,这里推荐用centos-release-scl。在联网下进行如下操作
yum install centos-release-scl #安装工具
#安装完成后,无报错
yum install devtoolset-9-gcc* #安装gcc9版本,如果想安装其他版本改一下“9”这个数字
#安装完成后,无报错
scl enable devtoolset-9 bash #启用gcc9版本 gcc -v 查看版本
2.1 如果服务器不能联网,需要离线安装,等我过几天试试
3 准备安装的库文件;可以看下图
关于这些文件的详情可以参考这个官方网站
4 具体安装步骤
当所有的都准备好后
4.1 解压 cp2k-8.2.tar.bz2
tar -xvf cp2k-8.2.tar.bz2
4.2 进入cp2k的toolchain文件夹, 然后建立build文件夹
cd cp2k-8.2/tools/toolchain
mkdir build
4.3 将库文件的压缩包复制到当前的build 文件夹下
#新开一个终端;然后进入到准备好的库文件夹下
cp * /你解压cp2k的文件路径/cp2k-8.2/tools/toolchain/build
4.3 复制完成后;退回到toolchain;然后开始安装库文件
#第一个打开的终端
cd .. #退回到toolchain
#scl enable devtoolset-9 bash #启用gcc9,如果已启用则不管;gcc -v 查看版本,可以验证一下
./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install #开始安装库文件,./install_cp2k_toolchain.sh -h 可以看有哪些安装选项。具体文件的作用可以参考官方文档
4.4 当所有安装完成且无任何报错后,会出现如下界面
4.5 当库文件安装完成,按照输出下信息操作
cp /home/zhang/opt/test/cp2k-8.2/tools/toolchain/install/arch/* ../../arch #将安装的arch文件复制到cp2k的主目录下的arch文件夹下,这个文件会指导该如何编译
source /home/zhang/opt/test/cp2k-8.2/tools/toolchain/install/setup #加载库文件的环境变量
cd ../../ #退回到cp2k的主目录下
make -j 4 ARCH=local VERSION="ssmp psmp" #开始编译这里只编译ssmp和psmp
4.6 当编译完成且无任何报错后
make -j 4 ARCH=local VERSION="ssmp psmp" test #测试编译完的软件是否成功
4.7 如果测试成功,会有如图所示;然后就可以写入环境变量
图先欠着
vim ~/.bashrc
source /home/zhang/opt/test/cp2k-8.2/tools/toolchain/install/setup
export PATH=$PATH:/home/zhang/opt/test/cp2k-8.2/exe/local
4.8 然后重新打开终端,就可以愉快的使用啦
5 注意事项
5.1 在4.4步骤时可会报错,因为他需要Python3,所有你的安装Python3..
5.2 可能在psmp的版本测试不通过,这可能是由于COMSE引起的。如果出现错误就不要安装它(我就是被这个搞了好久,主要是谁能想得到嘛)
方法有两种:1、打开arch 下的lcoal.psmp 文件删掉 -D_COSMA;2 在安装库文件时选择不安装 –with-cosma=no (但可能会不起作用)
6 参考文献