计算化学公社

标题: 在集群上安装cp2k-2026.1和cp2k-2024.1,出现报错 [打印本页]

作者
Author:
Ying_Zhang    时间: 5 day ago
标题: 在集群上安装cp2k-2026.1和cp2k-2024.1,出现报错
本帖最后由 Ying_Zhang 于 2026-3-5 17:49 编辑

1.首先采用sob老师的方法,编译了cp2k-2026.1版本,在集群加载了该compllier,
  1. module load compilers/gnu/13.2
复制代码
然后继续编译,一切都很顺利,但是最后输入该命令
  1. cp2k.psmp -v
复制代码
查看cp2k编译后的相关版本,出现如下信息如图1,尝试提交任务出现图2报错。

查了chatGPT以后,采用如下命令可以正常运行
  1. mpirun --mca mtl ^ofi --mca pml ob1 --mca btl self,vader,tcp  -np $SLURM_NTASKS cp2k.psmp -i $INPUT_FILE -o $OUTPUT_FILE
复制代码
所以一直拿这个命令提及任务,但是查了发现该命令只能采用传统TCP运行,会降低计算速度。查了该报错原因是因为Toolchain的OpenMPI 5.0.9,而集群的libfabric version (1.7) 过低,所以不能采用OFI。联系管理员,他说这个不容易升级,要和别的管理员讨论。然后重新编译--with-openmpi=install改成--with-openmpi=system,降低OpenMPI的版本到4.x,去匹配集群的低版本libfabric。结果报错更多,还不能运行计算。所以想问一下,除了升级libfabric,还有别的解决方法吗,主要是想使用高速的CP2K计算,目前使用的TCP,估计会降低计算速率。
2. 基于上述问题,我又重新编译一版自身低OpenMPI版本的CP2K,cp2k-2024.1。加载
  1. module load compilers/gnu/11.1
复制代码
然后编译,最后也输入
  1. cp2k.psmp -v
复制代码
但是出现该报错,也如图3。
By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default. The intent is to use UCX for these devices. You can override this policy by setting the btl_openib_allow_ib MCA parameter to true. Local host: strand-fe2 Local adapter: hfi1_0 Local port: 1

WARNING: There was an error initializing an OpenFabrics device. Local host: strand-fe2 Local device: hfi1_0

想请问一下,上述两个问题如何其中一个,感谢。






作者
Author:
UW_0728.    时间: 5 day ago
关于2024.1的,那个是提示+警告,不是报错。如果实际跑CP2K任务可以顺利完成就可以
作者
Author:
Ying_Zhang    时间: 4 day ago
本帖最后由 Ying_Zhang 于 2026-3-6 00:03 编辑
UW_0728. 发表于 2026-3-5 23:20
关于2024.1的,那个是提示+警告,不是报错。如果实际跑CP2K任务可以顺利完成就可以

感谢老师回答。老师,我2024版本,采用下列命令运行:
  1. ulimit -s unlimited

  2. # Initialize modules and load modules
  3. module load compilers/gnu/11.1.1

  4. source /gpfs/home/zhangy10/Software/cp2k-2024.1/tools/toolchain/install/setup
  5. export PATH=$PATH:/gpfs/home/zhangy10/Software/cp2k-2024.1/exe/local
  6. export OMP_NUM_THREADS=1

  7. # Run the calculation
  8. INPUT_FILE=$1  
  9. OUTPUT_FILE="${INPUT_FILE%.*}.out"
  10.                                                                                                                                     
  11. mpirun -np $SLURM_NTASKS cp2k.psmp -i $INPUT_FILE -o $OUTPUT_FILE

  12. exit
复制代码
如果只采用1个节点,可以运行,但是有warning。
但是如果采用2个节点,不能运行,有如下warning和error,详细的在文件中。

如果采用多节点,是无法运行的。



作者
Author:
UW_0728.    时间: 4 day ago
那我感觉也许建个Docker容器,在容器内安装CP2K,也许能够解决这种问题(因为隔离了系统环境)?论坛上有相关文章,可以看一看
作者
Author:
Ying_Zhang    时间: 4 day ago
UW_0728. 发表于 2026-3-6 02:29
那我感觉也许建个Docker容器,在容器内安装CP2K,也许能够解决这种问题(因为隔离了系统环境)?论坛上有相 ...

哦哦好的老师, 我已经查到了,想顺便问一下,安装docker在集群上,不需要管理员permission或者和集群那边沟通一些权限吧 感谢老师

作者
Author:
UW_0728.    时间: 4 day ago
Ying_Zhang 发表于 2026-3-6 03:13
哦哦好的老师, 我已经查到了,想顺便问一下,安装docker在集群上,不需要管理员permission或者和集群那 ...

好像需要。想避免root权限也可以用podman,二者差异不是很大(本质都是容器)
作者
Author:
Daniel_Arndt    时间: 4 day ago
Ying_Zhang 发表于 2026-3-6 03:13
哦哦好的老师, 我已经查到了,想顺便问一下,安装docker在集群上,不需要管理员permission或者和集群那 ...

集群上的话,一般用singularity/Apptainer或Charliecloud较合适,当然有时候还要看管理员(工程师)愿不愿意帮忙。
作者
Author:
Ying_Zhang    时间: 4 day ago
Daniel_Arndt 发表于 2026-3-6 10:16
集群上的话,一般用singularity/Apptainer或Charliecloud较合适,当然有时候还要看管理员(工程师)愿不 ...

是的 我会尝试一下 感谢老师建议 自从安装这个 经常问管理员他们




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3