计算化学公社

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

[CP2K] 本地工作站CP2K-2026.1全自动安装脚本

[复制链接 Copy URL]

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

本帖最后由 stishovite 于 2026-3-10 22:00 编辑

install_cp2k-2026.1.sh的自动化安装脚本,核心功能是下载、编译并配置CP2K-2026.1,最终提供一个立即可用的运行环境。

更新日志
2026.3.10,增加CMake版本检测功能,增强路径检测功能。

测试环境
本地AMD Ryzen 7950x + 64G, Ubuntu 24.04.4

核心功能与特性
1. 脚本自动处理从系统环境检查、依赖库的下载安装、源代码编译到环境配置的全部流程。
2. 脚本会先检测系统已安装的库(如OpenMPI、CMake、PLUMED等),并优先复用,避免不必要的重复编译,从而节省时间。
3. 安装完成后,脚本会自动将必要的环境变量(PATH, LD_LIBRARY_PATH)和命令别名(cp2k)写入用户的 ~/.bashrc文件,实现开箱即用。

主要安装步骤(共8个阶段)
1. 检查并安装基础编译工具(如gcc、 cmake、 git、wget等)。
2. 自动下载并解压CP2K-2026.1的源代码包。
3. 运行CP2K自带的工具链脚本(toolchain),根据之前的检测结果,编译或调用系统库来安装所有必要的依赖项。
4. 使用CMake配置构建选项。
5. 并行编译CP2K。
6. 将编译好的可执行文件与库安装到指定目录。
7. 将环境设置直接写入~/.bashrc。
8. 激活环境并测试cp2k.psmp可执行文件是否能正常运行。

注:安装成功后,需要在当前终端中执行source ~/.bashrc命令,或在新打开的终端中,可以直接使用 cp2k或 cp2k.psmp命令来运行程序。

使用方法
下载脚本到本地,用终端在脚本目录执行:
1. chmod +x install_cp2k-2026.1.sh
2. ./install_cp2k-2026.1.sh

脚本会自动完成软件包下载、安装、环境配置。
注意:脚本默认关闭了一些依赖,例如SIRUIS、HDF5、DeePMD等,使用时根据个人需求打开相关功能即可。

欢迎大家试用安装脚本,如果安装成功的,请留个言,安装遇到问题,把问题贴出来。
同时欢迎大家讨论,提出脚本改进的意见和建议,我会继续打磨该脚本,最终让CP2K的安装简单到飞起来。

install_cp2k-2026.1.sh (8.09 KB, 下载次数 Times of downloads: 54)

评分 Rate

参与人数
Participants 3
eV +7 收起 理由
Reason
Hurono + 1
Diotima + 3 好物!
SharkYYX2025 + 3 牛!

查看全部评分 View all ratings

1258

帖子

6

威望

2641

eV
积分
4019

Level 6 (一方通行)

傻傻的木瓜

2#
发表于 Post on 7 day ago | 只看该作者 Only view this author
我在http://bbs.keinsci.com/thread-58246-1-1.html提到过2026.1版发布之后官方仓库有不少与安装方式相关的改进,很好奇有什么是你不满意所以还需要ai另外写脚本实现的。
配置用户环境:将环境设置直接写入~/.bashrc。

验证安装:激活环境并测试cp2k.psmp可执行文件是否能正常运行。

配置好的环境:在新打开的终端中,用户可以直接使用 cp2k或 cp2k.psmp命令来运行程序。
这种环境变量管理方式未必能在区分登录节点和计算节点、需要作业提交脚本排队的服务器上生效。
√546=23.36664289109

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 6 day ago | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-3-3 20:24
我在http://bbs.keinsci.com/thread-58246-1-1.html提到过2026.1版发布之后官方仓库有不少与安装方式相关的 ...

谢谢提醒,目前我的主要工作方式是在本地工作站进行计算,因此这个脚本仅用于本地的安装的运行。

432

帖子

3

威望

2715

eV
积分
3207

Level 5 (御坂)

4#
发表于 Post on 6 day ago | 只看该作者 Only view this author
本帖最后由 Stardust0831 于 2026-3-5 00:26 编辑
stishovite 发表于 2026-3-4 09:02
谢谢提醒,目前我的主要工作方式是在本地工作站进行计算,因此这个脚本仅用于本地的安装的运行。

ai写的有点太脏了。发贴前有必要阅读《本论坛从即日起禁止发布以AI产生的文字为主的帖子
脚本里“禁用已知有问题的组件”实则把一些能对性能有提升的库也禁掉了。比如HDF5对许多情况下的文件读写效率影响很明显,如果盲从ai禁用了该选项会让不知情者徒增很多计算耗时。
cp2k很多编译环境不能直接用系统自带的、比如目前已知gcc的小版本不对时也会可能报错。
写.bashrc太没扩展性了,如果同时有intel的mpi和openmpi直接就不兼容了,不如直接给个module文件,有lmod加载环境。
装家目录一个人用没问题,但如果有多用户应该遵守文件系统规范放到/opt目录下。

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 6 day ago | 只看该作者 Only view this author
Stardust0831 发表于 2026-3-4 13:44
ai写的有点太脏了。
脚本里“禁用已知有问题的组件”实则把一些能对性能有提升的库也禁掉了。
很多适配 ...

谢谢,谢谢高手指点,不如请您给坛友们贡献一个你认为没问题的脚本。

432

帖子

3

威望

2715

eV
积分
3207

Level 5 (御坂)

6#
发表于 Post on 5 day ago | 只看该作者 Only view this author
本帖最后由 Stardust0831 于 2026-3-5 12:52 编辑
stishovite 发表于 2026-3-4 15:47
谢谢,谢谢高手指点,不如请您给坛友们贡献一个你认为没问题的脚本。

我的意思是,很多优化是编译器自发行为,在脚本中加入非标准的编译选项是无价值的、乃至误人子弟的。
我认为2026这轮更新后cp2k的安装已经被改的足够好了。如果有想法,可以去给cp2k的github提pr。
我们早些时候完成了GPU加速相关的安装,并在一个开源的超算集群上共享,可以共享相关的环境管理的module给您参考:

122

帖子

1

威望

1447

eV
积分
1589

Level 5 (御坂)

7#
发表于 Post on 5 day ago | 只看该作者 Only view this author
我已经放弃在自己的小破站上手动编译cp2k了,从2025.2版本之后都用docker编译,而且用apptainer可以让我所有服务器都用上。系统版本太低,升级又害怕有问题。

432

帖子

3

威望

2715

eV
积分
3207

Level 5 (御坂)

8#
发表于 Post on 5 day ago | 只看该作者 Only view this author
logzzz 发表于 2026-3-5 14:49
我已经放弃在自己的小破站上手动编译cp2k了,从2025.2版本之后都用docker编译,而且用apptainer可以让我所 ...

apptainer确实是个优雅的方案,而且能用于hpc多节点并行,性能损失也很轻微

2428

帖子

1

威望

6214

eV
积分
8662

Level 6 (一方通行)

9#
发表于 Post on 5 day ago | 只看该作者 Only view this author
官方也提供podman/ apptainer 构建指令呀……
就是粘贴一行指令呀……
前提是,网络正常……

不过需要目前机器有apptainer
High-Performance Computing for You
为您专属定制的高性能计算解决方案

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

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 7 hour ago | 只看该作者 Only view this author
Stardust0831 发表于 2026-3-5 00:14
我的意思是,很多优化是编译器自发行为,在脚本中加入非标准的编译选项是无价值的、乃至误人子弟的。
我 ...

你能不能向大家科普一下,脚本中没有开启的那些组件具体有什么功能,如果不安装,影响到底有多大?

432

帖子

3

威望

2715

eV
积分
3207

Level 5 (御坂)

11#
发表于 Post on 6 hour ago | 只看该作者 Only view this author
stishovite 发表于 2026-3-10 16:30
你能不能向大家科普一下,脚本中没有开启的那些组件具体有什么功能,如果不安装,影响到底有多大?


这种写法绝对不可能来自人类,也不应该属于任何标准化的安装流程,请说明脚本来源。
有必要阅读《本论坛从即日起禁止发布以AI产生的文字为主的帖子
如果真想搞这种自动化安装的脚本,可以去参考曾老师的脚本写法https://github.com/deepmodeling-activity/abacus1s

1258

帖子

6

威望

2641

eV
积分
4019

Level 6 (一方通行)

傻傻的木瓜

12#
发表于 Post on 5 hour ago | 只看该作者 Only view this author
我比较好奇脚本里有关 CMake 版本的逻辑与说法。易知当前各来源的情况:

所以,为什么脚本武断地认为路径来自miniconda或anaconda的cmake就得更换成pip的呢?pip安装的cmake这么新,有没有实践确认过兼容性?“这极易导致 LibXC 等库编译失败 (如 'Compatibility with CMake < 3.5' 错误)”是从哪里得出的结论?

当然CP2K的toolchain还有很多亟待改进之处,比如想要在指定--with-cmake=system选项时检测系统cmake版本、比某个特定阈值还旧则明确拒绝使用,大可以提出来。或者某个版本的cmake就是不能编译通过某个版本的libxc,而且现有文档与讨论均未记录在案,那可以去提issue。相比之下让ai自创workaround就很难转化落实为真正的改进。
√546=23.36664289109

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

13#
 楼主 Author| 发表于 Post on 2 hour ago | 只看该作者 Only view this author
本帖最后由 stishovite 于 2026-3-10 21:54 编辑
Stardust0831 发表于 2026-3-10 17:37
这种写法绝对不可能来自人类,也不应该属于任何标准化的安装流程,请说明脚本来源。
有必要阅读《[/ba ...

你目前的三条回复,一个实际问题都没有解决。

脚本是AI写的怎么了?AI不能帮助人类写脚本简化流程吗?

何来误导,是逼着你用了吗?还是注释写的不清楚?

你知道最近的“养龙虾”吗?那是干嘛的?那不是给人吃的,是想用AI帮助人类的。

53

帖子

0

威望

329

eV
积分
382

Level 3 能力者

14#
 楼主 Author| 发表于 Post on 2 hour ago | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-3-10 18:24
我比较好奇脚本里有关 CMake 版本的逻辑与说法。易知当前各来源的情况:
  • CP2K 的工具链脚本 tools/t ...

  • 这是我在三台不同机器上测试时,其中一台在conda环境中遇到CMake版本错误而无法安装而作的注释。我没有条件在更多环境下进行测试。您可以在您的机器上进行测试脚本是否能顺利安装。

    现有的toolchain总体上挺好的,没有十全十美的工具,我也无意无时间无精力去提issue,发这个脚本的本意是为那些和我一样的新手,能够一个简便安装cp2k的工具而已。

    对于新手而言,我自己的感受是,先把cp2k安装好,比他遇到一堆错误,一个一个去弄懂原因并解决,甚至解决不了而打退堂鼓好得多。

    53

    帖子

    0

    威望

    329

    eV
    积分
    382

    Level 3 能力者

    15#
     楼主 Author| 发表于 Post on 1 hour ago | 只看该作者 Only view this author
    本帖最后由 stishovite 于 2026-3-10 22:01 编辑
    Uus/pMeC6H4-/キ 发表于 2026-3-3 20:24
    我在http://bbs.keinsci.com/thread-58246-1-1.html提到过2026.1版发布之后官方仓库有不少与安装方式相关的 ...

    很好奇你是怎么知道我不满意的?我喜欢思考、喜欢动手、喜欢分享,仅此而已。

    这个脚本分享给那些在本地工作站学习CP2K的新手,包括我自己。

    在服务器上安装和提交作业,我没有试过,也不懂。

    “未必能在区分登录节点和计算节点”,怎么个未必法、有什么好的解决思路或方法,说出来让大家学习学习。

    本版积分规则 Credits rule

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

    GMT+8, 2026-3-10 23:42 , Processed in 0.214095 second(s), 24 queries , Gzip On.

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