计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1593|回复 Reply: 30

[GROMACS] Windows下的gromacs2021.6的GPU版本与gromacs2022的CPU版本

[复制链接 Copy URL]

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

发表于 Post on 2022-11-28 19:34:24 | 显示全部楼层 Show all |阅读模式 Reading model
因为一直都对于gromacs在Windows下的编译很感兴趣,所以就对gromacs2021和gromacs2022的版本下到研究了一下他们的编译问题,然后就是大致阐述一下过程吧):一.准备
1.Visual Studio 2022
2.Intel oneAPI basetoolkit/fftw-3.3.10
3.CUDA Toolkit 11.6
4.gromacs2021/2022的安装包

二.编译的过程
1.gromacs2021.6(GPU)
在之前Visual Studio 2022的版本刚刚出来的时候就曾经尝试着去编译gromacs2021版本,然后就失败了,具体原因不太记得清了,当时好像是涉及到了编译器版本的问题来着,现在经过测试可以通过VS2022进行gromacs的GPU版本编译了,在编译gromacs2021之前需要将cmake文件中gmxManageNvccConfig.cmake文件进行小小的修改,修改的结果如下,将CXX改为CUDA即可进行正常编译,编译出来的gromacs做过测试可以正常运行,然后也分别做了含有MKL库的gromacs2021gpu版本和含有FFTW3.3.10的gromacs2021gpu版本,发现貌似计算速度没什么区别,MKL的略快一点吧,使用的命令如下:
202211281911051148..png
  1. cmake -GNinja -S. -B./build -DGMX_GPU=CUDA -DGMX_FFT_LIBRARY=mkl -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=off -DMKL_INCLUDE_DIR="C:/Program Files (x86)/Intel/oneAPI/mkl/latest/include" -DMKL_LIBRARIES="C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_intel_lp64.lib;C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_sequential.lib;C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_core.lib" -DCMAKE_INSTALL_PREFIX=C:/gromacs2021.6
复制代码
可能是需要自己安装一下MKL的吧
2.gromacs2022.1(CPU)
没有做源码的修改可以正常编译CPU版本,命令如下:
  1. cmake -GNinja -S. -B./build  -DGMX_FFT_LIBRARY=mkl -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=off -DMKL_INCLUDE_DIR="C:/Program Files (x86)/Intel/oneAPI/mkl/latest/include" -DMKL_LIBRARIES="C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_intel_lp64.lib;C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_sequential.lib;C:/Program Files (x86)/Intel/oneAPI/mkl/latest/lib/intel64/mkl_core.lib" -DCMAKE_INSTALL_PREFIX=C:/gromacs2022.1
复制代码
版本信息如下可以参考一下:
QQ截图20221128191754.png


3.未成功GROMACS2022.3(GPU版本)
我做过很多尝试,分别修改了src/gromacs/nbxmn与src/gromacs/ewald下面的几个源码,如果不改的话就会出现奇怪的报错,所以就将例如nbxnm_cuda_kernal_utils.cuh中的static_assert改成了assert之后,编译的过程貌似可以进行较为顺利,但是还是会出现比较离谱的问题如下面这个链接所述:

https://gitlab.com/gromacs/gromacs/-/issues/4582

/MD与/MT不匹配的问题,尝试通过VS去改release的编译选项,也不会成功,而且VS编译很慢,目前也不清楚接下来改怎么改,欢迎大家讨论!

附上两个已经编译好的gromacs版本链接:
gromacs2022-cpu:链接:https://pan.baidu.com/s/1rXwIK0rIxC9bJ47FrTmc6g?pwd=6666
提取码:6666

gromacs2021.6-gpu: 链接:https://pan.baidu.com/s/1hlBsuOdJvx9twZOJEnKBYQ?pwd=6666
提取码:6666

评分 Rate

参与人数
Participants 5
威望 +1 eV +18 收起 理由
Reason
boqiang + 4 赞!
Acee + 4 好物!
夏一天 + 5 赞!
lnf + 5 好物!
sobereva + 1

查看全部评分 View all ratings

109

帖子

3

威望

3233

eV
积分
3402

Level 5 (御坂)

发表于 Post on 2022-11-28 23:46:08 | 显示全部楼层 Show all
GROMACS2022.3的GPU版本编译确实不好整

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-11-29 03:48:36 | 显示全部楼层 Show all
yygong 发表于 2022-11-28 23:46
GROMACS2022.3的GPU版本编译确实不好整

确实不好整,还会一直跳出来显示runtime library mismatch,哎,头大(

21

帖子

0

威望

183

eV
积分
204

Level 3 能力者

发表于 Post on 2022-11-29 19:01:30 | 显示全部楼层 Show all
请问,您编译好的gromacs版本能直接用吗?我自己编译的没成功

33

帖子

0

威望

1245

eV
积分
1278

Level 4 (黑子)

发表于 Post on 2022-11-29 19:48:31 | 显示全部楼层 Show all
大神,gromacs2021.6-gpu版下载运行时报错,显示找不到cufft64_10.dll,好像没有上传这个文件

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-11-29 22:51:34 | 显示全部楼层 Show all
夏一天 发表于 2022-11-29 19:48
大神,gromacs2021.6-gpu版下载运行时报错,显示找不到cufft64_10.dll,好像没有上传这个文件

这个我没有一起上传,这个缺失的话可以直接安装一下cudatoolkit就可以运行了

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-11-29 22:53:38 | 显示全部楼层 Show all
charmm36 发表于 2022-11-29 19:01
请问,您编译好的gromacs版本能直接用吗?我自己编译的没成功

两个都可以的,gromacs2021.6的这个版本可能需要自己安装好cudatoolkit就可以运行了,也有可能需要自己安装一下mkl库,intel oneAPI basetoolkit中安装一下MKL就可以了

21

帖子

0

威望

183

eV
积分
204

Level 3 能力者

发表于 Post on 2022-11-30 08:38:07 | 显示全部楼层 Show all
Chris——szk 发表于 2022-11-29 22:53
两个都可以的,gromacs2021.6的这个版本可能需要自己安装好cudatoolkit就可以运行了,也有可能需要自己安 ...

嗯嗯,谢谢

5

帖子

0

威望

107

eV
积分
112

Level 2 能力者

发表于 Post on 2022-11-30 23:08:13 | 显示全部楼层 Show all
驱动版本516.59,设置好环境变量后可以直接用

13

帖子

0

威望

388

eV
积分
401

Level 3 能力者

发表于 Post on 2022-12-1 11:16:57 | 显示全部楼层 Show all
你也停在这一步了

39

帖子

1

威望

331

eV
积分
390

Level 3 能力者

发表于 Post on 2022-12-1 11:49:24 | 显示全部楼层 Show all
在咸鱼看到有个高手卖2022.3的windows版本,并且他自己也说这个版本特别难编译。

33

帖子

0

威望

1245

eV
积分
1278

Level 4 (黑子)

发表于 Post on 2022-12-1 22:18:41 | 显示全部楼层 Show all
win版的2022.3比2021.6能快多少呢?有没必要换2022.3?好像2022.4也出来了

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-12-3 15:16:59 | 显示全部楼层 Show all
对抗路达摩 发表于 2022-12-1 11:49
在咸鱼看到有个高手卖2022.3的windows版本,并且他自己也说这个版本特别难编译。

我刚刚试出来了,今天应该可以发布一下编译好的Windows版本的2022了

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-12-3 15:18:14 | 显示全部楼层 Show all
夏一天 发表于 2022-12-1 22:18
win版的2022.3比2021.6能快多少呢?有没必要换2022.3?好像2022.4也出来了

个人感觉2022的bug还是有一点多的,个人更加偏向于使用2021.6,目前来说

41

帖子

1

威望

452

eV
积分
513

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-12-3 15:21:02 | 显示全部楼层 Show all
夏一天 发表于 2022-12-1 22:18
win版的2022.3比2021.6能快多少呢?有没必要换2022.3?好像2022.4也出来了

2022的优点来说就是自由能计算支持SIMD指令集,使用GPU计算现在加速相比之前的版本快2-3倍吧,我上次找了一个小例子试了一下,确实差不多两倍,我用的3060

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 03:59 , Processed in 0.461041 second(s), 26 queries .

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