|
本人使用的linux 系统是centos 7(Release: 7.9.2009)。 通过使用gfortran编译器和cp2k软件包里的toolchain工具可以成功编译2023.2版本。
使用程序自动下载的配套编译软件和mpi (mpich),编译出来的psmp运行效率和intel编译器基本相同,差异在1%以内。
而且更稳定。我在centos 8下用ifort编译的2023.2版本,有时算优化结构会卡住,偶尔算单点也会卡。
用以下1到6步骤编译的程序计算同样的体系,测试了下,都没发生卡住的现象。
先把步骤贴出来:
0)linux环境先清干净,不要使用conda以及intel的编译环境。
1)下载cp2k.2023.2版本,解压缩,cd 到解开后的目录下, 建一个新的目录: mkdir ./tools/toolchain/build
2) 将安装过程中需要的软件下载到./tools/toolchain/build。 这里需要28个软件。如果网络比较快,也可以略过这个步骤,程序会自动下载。
3) 执行命令:
./install_cp2k_toolchain.sh --install-all
4) 第三步正常结束,会有提示,按照提示执行:
source /解压缩的目录/tools/toolchain/install/setup
5) 查看arch目录下的配置文件,我选择Linux-gnu-x86_64.psmp,因此执行
make ARCH=Linux-gnu-x86_64 VERSION="psmp"
6) 第5步安装正常结束,需要检查是否正确,运行命令:
make -j 64 ARCH=Linux-gnu-x86_64 VERSION=psmp test
一般不会出现错误,4605个测试文件,顶多一两个warning或error,可看下是什么原因,一般可以忽略。但是这一步不能略去,以保证程序的可靠性。
这里说下第2步需要的28个软件。对比centos 8,
centos 7版本要多5个文件:pexsi_v1.2.0.tar.gz,QUIP-0.9.10.tar.gz,scotch_6.0.0.tar.gz,superlu_dist_6.1.0.tar.gz
如果机器上有CUDA显卡,还会多一个大文件:libtorch-cxx11-abi-shared-with-deps-1.12.1+cpu.zip。
其他26个文件是:
gcc-13.1.0.tar.gz, mpich-4.0.3.tar.gz, cmake-3.26.3-linux-x86_64.sh,COSMA-v2.6.6.tar.gz,COSTA-v2.2.2.tar.gz,elpa-2022.11.001.tar.gz
fftw-3.3.10.tar.gz, gsl-2.7.tar.gz,hdf5-1.12.0.tar.bz2,libint-v2.6.0-cp2k-lmax-5.tgz,libvdwxc-0.4.0.tar.gz,libvori-220621.tar.gz,
libxc-6.2.2.tar.gz,libxsmm-1.17.tar.gz,OpenBLAS-0.3.23.tar.gz,plumed-src-2.8.2.tgz,scalapack-2.2.1.tgz,SIRIUS-7.4.3.tar.gz,SpFFT-1.0.6.tar.gz
spglib-1.16.2.tar.gz,SpLA-1.5.5.tar.gz,Tiled-MM-v2.2.tar.gz
在centos 7上不要试图用intel的编译器来编译2023.2,至少我试过十几种组合,都没成功过。有时编译通过,但测试时会产生大量不通过的的情况,无法使用。
这种方法安装的包比较全面,含有:
omp libint fftw3 libxc pexsi elpa parallel scalapack cosma quip xsmm max_contr=4 plumed2 has_ieee_exceptions spglib sirius libvori libbqb libvdwxc
运行程序同样需要设置编译时用的环境,如下:
source /解压缩的目录/tools/toolchain/install/setup
export OMP_NUM_THREADS=1
mpirun -np 64 /解压缩的目录/exe/Linux-gnu-x86_64/cp2k.psmp -i opt.inp >opt.out
|
评分 Rate
-
查看全部评分 View all ratings
|