计算化学公社

 找回密码 Forget password
 注册 Register
Views: 9086|回复 Reply: 19

[CP2K] 使用VMware在Centos工作站安装cp2k尝试,避免更换工作站系统

[复制链接 Copy URL]

145

帖子

1

威望

1507

eV
积分
1672

Level 5 (御坂)

发表于 Post on 2021-10-9 10:56:48 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 ChemG 于 2021-10-9 17:59 编辑

作为一枚小白,编译cp2k的那些日子让我苦不堪言(大家都懂的)。本文全部的安装过程均在笔记本(i7-9750H)win10系统的VMware16pro下进行。
本文一个重要的原因就是,最好使用Centos8系统来编译cp2k,其实我也头铁的用centos7.6尝试了无数次编译(希望也能在工作站上编译cp2k),最后我撞了南墙回了头,改用Centos8.3来编译cp2k,基本一次就成了,也没有出现什么报错。基本也是根据社长的博文(CP2K第一性原理程序在CentOS中的简易安装方法 http://sobereva.com/586)进行编译,方法后文详细说。
另一个原因,由于工作站(双路8173m,社长博文http://sobereva.com/444的顶级双路)购买来的时候预装了Centos7,并且已经安装了大量软件并且稳定运行很久了,不想重装系统再重新配置软件(主要是课题组只有这一台工作站,本小白没有在实体机安装过系统,一方面怕把机器搞坏,另一方面,其他软件用起来完全没问题,不想因为cp2k破坏了现有状态),而且用预编译版cp2k速度(56核)还没我笔记本(6核)自己编译的快,果断不能用啊。所以绞尽脑汁想了个奇葩的路线,在工作站中装VMware再安装Centos8编译cp2k。(注意:VMware16pro只能使用32核,对于性能有要求的小伙伴还是换系统吧)
1. 安装VMware
win10下安装VMware16pro方法根据社长的教程来很简单 https://www.bilibili.com/video/B ... id_from=333.999.0.0
Linux下安装VMware16pro也很简单,https://www.tecmint.com/install-vmware-workstation-in-linux/
软件都很容易找到,这里就不说了。(Google大法好)
2. 安装Centos 8.3
Centos 8.3是在笔记本的VMwanre16pro安装的,后面说怎么将整个系统包括编译的东西转移至工作站。下载路径 https://vault.centos.org/8.3.2011/isos/x86_64/ 当然了社长推荐Centos 8 stream也可以,自己选择就行。
安装方法还是
https://www.bilibili.com/video/BV1mt41167Uf?spm_id_from=333.999.0.0 ,但是Centos 8在选择Base Environment稍有不同,社长也在CP2K第一性原理程序在CentOS中的简易安装方法 http://sobereva.com/586)给出了选择的部分:(PS:常有人问我装CentOS 8的时候应该选什么,建议Base Environment选Workstation,组件选GNOME Applications、Legacy UNIX Compatibility、Development Tools、Scientific Support)
3. 编译cp2k
cp2k也是在我自己的笔记本上编译的,基本就是按照社长博文来的CP2K第一性原理程序在CentOS中的简易安装方法 http://sobereva.com/586);
只有部分不同,intel mkl 我使用的是2020 u4,安装方法:社长视频 https://www.bilibili.com/video/B ... id_from=333.999.0.0 ;toolchain部分采用./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install --with-elpa=no ;这是因为有小伙伴发帖最新的epla有bug,会导致第一个离子步结束卡住,索性我就不用elpa了,去掉elpa后确实第一个离子步不再卡住了,原帖在这里( http://bbs.keinsci.com/thread-25553-1-1.html);其他都是一样的,按照社长的方法来就行。
4. 转移至工作站
用过VMware的小伙伴应该都知道,在VMware的Home页面可以打开其他的虚拟机 https://www.cnblogs.com/jiefu/p/10604835.html,基于此我们将笔记本上的Centos8.3的文件夹整体复制到工作站上,然后用linux的VMware打开这个虚拟机,就可以顺利的进入系统了,并且可以使用cp2k了。但是经过不严谨简单的测试,直接在工作站上直接使用笔记本上编译好的cp2k效率似乎一般般,我就把toolchain/install文件夹删掉,重新./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=install --with-plumed=install --with-elpa=no ;然后将cp2k-8.2文件夹下的exe、lib、obj文件夹删掉重新编译了cp2k,效果就好一些了。相比6核的笔记本,32核的工作站上速度能达到6核笔记本的3倍左右。(不知道有没有道理,这个问题我在编译QE的时候也发现了,应该是笔记本的CPU是比较新的,工作站的CPU较老,其实相比之下笔记本上的效率并不低。在笔记本上用intel编译器编译的QE6.8相比gnu编译的版本速率要快很多,而工作站上intel编译器编译的版本竟然效率还不如gnu;这是个人的一点浅见,也不知道对不对)。相比原本工作站上只能用预编译版,现在能使用32核的cp2k.popt效率强得多。在test后仅出现了4个错误。
自问自答环节:
Q1:问什么不在工作站直接安装Centos?A:学校网络问题没连上外网,没有笔记本yum方便;同时,费了劲儿在工作站上安装的Centos8竟然编译cp2k各种报错。
Q2:为什么不把系统移动到工作站再编译,而是在笔记本编译一遍再到工作站编译一遍?A:笔记本上其实是之前编译好的,其实也是我的习惯,在自己虚拟机玩儿明白的再到工作站上折腾,况且工作站没外网用着费劲儿,而且Linux系统的VMware了解不是太多,没有win版本玩的溜。
总之:
cp2k能在工作站上使用已经十分欣慰了,解决了很久以来工作站上不能安装cp2k的烦恼,还有就是自己太菜了,对于linux系统及软件编译能力十分欠佳(实验组的计算猿),因此出以下测,在自己使用的情况下也分享给或许也有所困惑的小伙伴们。最后,我只是方法的搬运工,基本上都是总结了社长及其他小伙伴们的方法和经验,有不足之处望大家指出。

评分 Rate

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

查看全部评分 View all ratings

我唯一知道的就是我一无所知,但我是化学小迷弟

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-10-9 19:14:42 | 显示全部楼层 Show all
docker
singularity 值得你拥有……

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

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

231

帖子

4

威望

2833

eV
积分
3144

Level 5 (御坂)

发表于 Post on 2021-10-10 10:13:00 | 显示全部楼层 Show all
这样每次使用CP2K都要打开VMware吧,感觉挺麻烦的,队列系统也不好搭配使用了。这种需求用singularity确实更好,但是工作站上编译失败只能先放到其他机器上编译好带cp2k的singularity。不过还得注意指令集兼容的问题。

93

帖子

0

威望

2205

eV
积分
2298

Level 5 (御坂)

发表于 Post on 2021-10-10 11:30:22 | 显示全部楼层 Show all
本帖最后由 jitou11 于 2021-10-10 11:49 编辑
abin 发表于 2021-10-9 19:14
docker
singularity 值得你拥有……

是迁移那一步吗?
细说也@djjj148上面那位大佬。

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-10-10 12:11:56 | 显示全部楼层 Show all
jitou11 发表于 2021-10-10 11:30
是迁移那一步吗?
细说也@djjj148上面那位大佬。

google for docker singularity

放弃微软,早日解放。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

93

帖子

0

威望

2205

eV
积分
2298

Level 5 (御坂)

发表于 Post on 2021-10-10 13:55:44 | 显示全部楼层 Show all
abin 发表于 2021-10-10 12:11
google for docker singularity

放弃微软,早日解放。

你视频里用的conda能不能完成类似这样的迁移?

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-10-10 14:39:12 | 显示全部楼层 Show all
jitou11 发表于 2021-10-10 13:55
你视频里用的conda能不能完成类似这样的迁移?

conda 全平台通用的,你说呢?

当然,你也不能拿着Mac下面的office去微软安装使用。

我是换一个思路……
既然微软能上网,
微软能访问服务器,
可是服务器不能上网。
我有方案让Linux服务器上网,
无需root权限。
比如conda install ,wget ,git clone啥的都可以用。

无需调整现有任何网络设定。
不限定机器数量。

我前几天,给千里之外的机器测试了一下,
轻松让后面的11台机器,顺利dnf update ,没有压力。

当然了,如果经费不足,建议买路由器解决吧。


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

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

231

帖子

4

威望

2833

eV
积分
3144

Level 5 (御坂)

发表于 Post on 2021-10-10 16:53:14 | 显示全部楼层 Show all
jitou11 发表于 2021-10-10 11:30
是迁移那一步吗?
细说也@djjj148上面那位大佬。

singularity无视Linux操作系统的种类和环境,只要CPU的指令集一样,可像可执行文件那样复制到任意的机器上使用,且运行速度和本地的一样快。

93

帖子

0

威望

2205

eV
积分
2298

Level 5 (御坂)

发表于 Post on 2021-10-10 17:16:59 | 显示全部楼层 Show all
djjj148 发表于 2021-10-10 16:53
singularity无视Linux操作系统的种类和环境,只要CPU的指令集一样,可像可执行文件那样复制到任意的机器 ...

好的,我知道了。
我的情况其实比楼主更糟糕一些,服务器内核太老,glibc版本太旧。小机器用的是win10上的ubuntu子系统。

另外吐槽一下这个东西为啥要依赖go语言??有啥东西是非得用它实现不可的??

231

帖子

4

威望

2833

eV
积分
3144

Level 5 (御坂)

发表于 Post on 2021-10-10 17:28:22 | 显示全部楼层 Show all
jitou11 发表于 2021-10-10 17:16
好的,我知道了。
我的情况其实比楼主更糟糕一些,服务器内核太老,glibc版本太旧。小机器用的是win10上 ...

yum/apt-get你值得拥有,实在没网络要自己编译也只是configure-make。用个饮水机直接按按钮就好了吧,还得学会里面的电路构造等各种太累

145

帖子

1

威望

1507

eV
积分
1672

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-10-10 17:59:50 | 显示全部楼层 Show all
abin 发表于 2021-10-9 19:14
docker
singularity 值得你拥有……

好嘞,谢谢老师指导,我去学习一下新技能
我唯一知道的就是我一无所知,但我是化学小迷弟

145

帖子

1

威望

1507

eV
积分
1672

Level 5 (御坂)

 楼主 Author| 发表于 Post on 2021-10-10 18:09:29 | 显示全部楼层 Show all
djjj148 发表于 2021-10-10 10:13
这样每次使用CP2K都要打开VMware吧,感觉挺麻烦的,队列系统也不好搭配使用了。这种需求用singularity确实 ...

1. 确实用的时候需要打开虚拟机,但是工作站不关机的情况下虚拟机也不需要关机呀,随时都可以使用,空闲的时候也不会怎么占用工作站的cpu和内存,只不过由于VMware16pro的限制最多只能用32核,至少对于我现在只能用笔记本的情况也是一种进步吧。2. 队列系统肯定是不能用啦(除非在虚拟机中的系统装队列),本文的方式主要还是针对自用的工作站吧,这样在不换工作站系统的基础上还能用cp2k,或许也能给有相同需求的小伙伴提供一点点帮助。3. 在上文中也说啦,在系统转移至工作站后又在工作站上重新编译了cp2k,这样也就不存在指令集兼容的问题啦。
我唯一知道的就是我一无所知,但我是化学小迷弟

93

帖子

0

威望

2205

eV
积分
2298

Level 5 (御坂)

发表于 Post on 2021-10-10 18:57:32 | 显示全部楼层 Show all
djjj148 发表于 2021-10-10 17:28
yum/apt-get你值得拥有,实在没网络要自己编译也只是configure-make。用个饮水机直接按按钮就好了吧,还 ...

确实,对一般软件是这样的。
但是CP2K它不一般至少对我来说
开发组锅得背好,虽说是用爱发电,但同样是用爱发电,ORCA比它好弄多了。

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-10-10 19:05:17 | 显示全部楼层 Show all
jitou11 发表于 2021-10-10 18:57
确实,对一般软件是这样的。
但是CP2K它不一般至少对我来说
开发组锅得背好,虽说是用爱发电,但 ...

怎么的, cp2k提供的Dockfile不好用吗?

有更好的方案提供, 你不会用, 这要是闹哪样呀?

用一个晚上学习一下, 绝对值得.

或者, 我也可给你讲讲singularity在计算平台方面的应用.
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

231

帖子

4

威望

2833

eV
积分
3144

Level 5 (御坂)

发表于 Post on 2021-10-10 19:08:05 | 显示全部楼层 Show all
ChemG 发表于 2021-10-10 18:09
1. 确实用的时候需要打开虚拟机,但是工作站不关机的情况下虚拟机也不需要关机呀,随时都可以使用,空闲 ...

我说的指令集兼容问题是针对容器的。虚拟机我也接触过,作为折衷方案还可以,和容器的方案比70 vs. 100分这样。所以我们也只是给你一个更好的解决方案供参考

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 03:33 , Processed in 0.412755 second(s), 22 queries .

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