计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1917|回复 Reply: 3
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] 记在超算上用spack安装cp2k 2024.1的过程

[复制链接 Copy URL]

197

帖子

1

威望

1104

eV
积分
1321

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本贴旨在分享一些cp2k的安装过程和经验,想了解安装成功的请直接跳转第二次尝试

本系超算上系统是rocky linux 8.9并且没有module系统,整个系统里只有intel oneapi一套和gnu 8.5.0,openmpi也是用gcc 8.5.0编译的。很不巧cp2k 2024.1对gcc 8的支持只有8.3和8.4。在与管理员协商升级/添加 gcc其他版本无果后,无奈只能借助其他办法安装cp2k。
第一次尝试:
使用cp2k的toolchain单独安装gcc 13.2.0 + openmpi 4.1.5
  1. cd cp2k-2024.1/tools/toolchain
  2. ./install_cp2k_toolchain.sh --with-gcc=install --with-openmpi=install --with-plumed=install --with-sirius=no --with-intel=no --with-intelmpi=no
复制代码
编译之后运行社长CP2K第一性原理程序在CentOS中的简易安装方法 - 第一性原理 (First Principle) - 计算化学公社 (keinsci.com)中的例子,可以正常运行,只不过每一个电子步都会输出如下内容
  1. *** WARNING in fm/cp_fm_elpa.F:522 :: Setting real_kernel for ELPA failed ***
复制代码
cp2k的google groups也有相关的讨论*** WARNING in fm/cp_fm_elpa.F:522 :: Setting real_kernel for ELPA failed *** (google.com),总体来说这个不影响计算结果,可以不管。但是我在之后运行自己的AIMD算例时,在第四步之后就会卡住,没有任何报错,不输出新的结果,PBS提交脚本和*.ener文件如下,计算节点的CPU是AMD 9554。寻找许久没有找到解决办法,遂放弃,准备重装cp2k
  1. #!/bin/bash
  2. #PBS -N test_cp2k
  3. #PBS -S /bin/bash
  4. #PBS -j oe
  5. #PBS -q noor2
  6. #PBS -m e
  7. #PBS -l walltime=24:00:00,nodes=1:ppn=128

  8. source /home/user/software/cp2k-2024.1/tools/toolchain/install/setup

  9. export PATH=$PATH:/home/user/software/cp2k-2024.1/exe/local

  10. ulimit -s unlimited
  11. export OMP_NUM_THREADS=4


  12. cd $PBS_O_WORKDIR

  13. mpirun --hostfile $PBS_NODEFILE -np 128 cp2k.popt cubic.inp > cubic.out
复制代码
  1. #     Step Nr.          Time[fs]        Kin.[a.u.]          Temp[K]            Pot.[a.u.]        Cons Qty[a.u.]        UsedTime[s]
  2.          0            0.000000         0.917743086       600.000000000     -1536.936008871     -1535.938339394         0.000000000
  3.          1            1.000000         0.847687021       554.198903744     -1536.861005674     -1535.933450887        99.965670460
  4.          2            2.000000         0.718846252       469.965677422     -1536.720137543     -1535.924582538        18.499465991
  5.          3            3.000000         0.646875245       422.912634897     -1536.646454437     -1535.926571368        28.414587454
复制代码
第二次尝试
由于超算上没有module和singularity,因此这一次尝试使用spack安装cp2k。其中借鉴了帖子使用包管理器spack安装cp2k的方法分享 - 第一性原理 (First Principle) - 计算化学公社 (keinsci.com)的部分步骤。以下是我自己的安装过程、
1. spack安装直接借鉴上面提到的帖子就可以,记得把以下内容写到~/.bashrc文件里,方便后续操作
  1. export SPACK_ROOT=${HOME}/soft/spack
  2. source ${SPACK_ROOT}/share/spack/setup-env.sh
复制代码
之后可以输入
  1. spack --help
复制代码
查看是否安装成功,安装成功的话会显示以下内容
  1. usage: spack [-hkV] [--color {always,never,auto}] COMMAND ...

  2. A flexible package manager that supports multiple versions,
  3. configurations, platforms, and compilers.

  4. These are common spack commands:

  5. query packages:
  6.   list                  list and search available packages
  7.   info                  get detailed information on a particular package
  8.   find                  list and search installed packages

复制代码
2. 查看自己系统中有哪些版本的编译器
  1. spack compiler find
  2. spack compilers
复制代码
如果像我一样没有适合编译cp2k的编译器版本的,就需要自己安装合适版本的编译器。能够编译cp2k的编译器在这里看dev:compiler_support [CP2K Open Source Molecular Dynamics ]
3. 安装gcc 13.2.0
  1. spack install gcc@13.2.0
复制代码
安装成功之后记得
  1. spack load gcc@13.2.0
复制代码
然后输入gcc -v看一下是不是13.2.0版本。当然spack也提供了很多安装的选项和语法,可以在spack的github看,也可以使用以下命令查看
  1. spack info gcc@13.2.0
复制代码
4. 安装openmpi
先用
  1. spack info openmpi
  2. 或者
  3. spack versions openmpi
复制代码
查看有哪些版本,选择一个安装就好。我在这里选择的是openmpi 5.0.2。使用gcc 13.2.0编译openmpi 5.0.2的命令如下
  1. spack install openmpi@5.0.2 %gcc@13.2.0
复制代码
安装成功之后记得再用以下命令检查一下
  1. spack find openmpi
复制代码
5. 安装带plumed和elpa的cp2k 2024.1
  1. spack find cp2k
复制代码
可以看到
  1. Preferred version:
  2.     2024.1    https://github.com/cp2k/cp2k/releases/download/v2024.1/cp2k-2024.1.tar.bz2
复制代码
因此默认的就是2024.1,想安装其他版本也可以。利用gcc 13.2.0编译,openmpi 5.0.2并行安装cp2k的命令如下:
  1. spack install cp2k %gcc@13.2.0 +plumed +elpa ^openmpi@5.0.2
复制代码
然后等待安装成功就好。想使用cp2k只需要以下命令
  1. spack load cp2k
复制代码
最后提交的任务脚本如下
  1. #!/bin/bash
  2. #PBS -N test_cp2k
  3. #PBS -S /bin/bash
  4. #PBS -j oe
  5. #PBS -q amd_user2
  6. #PBS -m e
  7. #PBS -l walltime=24:00:00,nodes=1:ppn=64

  8. export SPACK_ROOT=/home/user/software/spack
  9. source ${SPACK_ROOT}/share/spack/setup-env.sh

  10. spack load cp2k

  11. ulimit -s unlimited
  12. export OMP_NUM_THREADS=4


  13. cd $PBS_O_WORKDIR

  14. mpirun --hostfile $PBS_NODEFILE -np 64 cp2k.psmp cubic.inp > cubic.out
复制代码

6.测试&总结
每个电子步依然有warning的问题,但是在跑AIMD算例的时候不会再有卡住的情况。整体来说,利用spack安装cp2k还是非常省心和简单的,安装其他复杂的软件或者管理多版本编译器等也可以使用spack,使用体验很不错。

评分 Rate

参与人数
Participants 1
威望 +1 收起 理由
Reason
sobereva + 1

查看全部评分 View all ratings

2301

帖子

1

威望

5475

eV
积分
7796

Level 6 (一方通行)

2#
发表于 Post on 2024-3-13 11:36:58 | 只看该作者 Only view this author
本帖最后由 abin 于 2024-3-13 15:49 编辑

温馨提示:
只适用于具有稳定互联网连接的场所.

所以, 在多数超算平台, 可能没法使用. 出于安全考虑, 超算平台可能会禁止对外联网.

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

186

帖子

1

威望

505

eV
积分
711

Level 4 (黑子)

3#
发表于 Post on 2024-3-13 14:22:59 | 只看该作者 Only view this author
超算平台没有必要手动安装MPI,他们一般有自己特定的libfabric和MPI编译条件,直接用现成的就行。有IB等非TCP互联的平台手动编译MPI可能链接不到正确配置的fabric库上,导致跨节点异常。
当然自己手动从libfabric安起也可以,不过就要面对ofi/verbs/psm等一堆通信实现选择,比较麻烦。

2301

帖子

1

威望

5475

eV
积分
7796

Level 6 (一方通行)

4#
发表于 Post on 2024-3-13 15:56:19 | 只看该作者 Only view this author
本帖最后由 abin 于 2024-3-13 15:58 编辑

接着楼上发言, 引申一下.

付费的超算平台, 当然期望用户自己搞.
尤其是多节点并行的计算.

通信协议选择不当, 计算会很慢的. 慢, 就多花时间呗, 时间多, 就多掏钱呗.

“ofi/verbs/psm等一堆通信实现选择” 这个很关键的.

而这一堆东西, 严重硬件依赖的.

还是楼上说的那句, 建议使用超算平台提供的指定版本的MPI.
除非他们提供的那玩意不能用.

别的超算我不了解.
就高校的所谓仪器设备管理处管辖的超级计算平台, 是按照贵重仪器设备管理的,
不能轻易修改当前配置, 在上面更新或者安装东西的, 相当于变更固定资产.
这玩意是固定资产, 不能瞎做变动的.  管理规则就是如此.

再说, 还涉及安全和责任.  公家的设备, 管理规则如此, 弄不好一堆麻烦, 谁乐意摆弄呀.
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 23:47 , Processed in 0.176947 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list