计算化学公社

标题: 求助,CUDA的GPU加速失败,但gromacs安装正常运行 [打印本页]

作者
Author:
lao7    时间: 2019-11-29 21:36
标题: 求助,CUDA的GPU加速失败,但gromacs安装正常运行
本帖最后由 lao7 于 2019-12-1 18:42 编辑

按照Sob.发的帖子http://bbs.keinsci.com/thread-11821-1-1.html (GPU加速也编译了),安装gromacs2018版本,显卡用的铭瑄2070 super的CUDA加速。显卡驱动从nvidia下载联网正常安装至默认路径。
图1.是所有安装完成后,gmx -version显示的结果;图2 显示正式模拟时的提示:GPU加速失败。
ps: 模拟之前,运行文件是在没有CPU加速的机器上产生的文件,而后加了显卡CUDA之后,继续运行最后1步。这不会有影响吧?实在弄不明白了!弄了一天。请各位帮助解决!谢谢各位了。
(, 下载次数 Times of downloads: 28) (, 下载次数 Times of downloads: 37)

.........................................................................................
首先谢谢各位的回复,使我受益匪浅!为了做个记录,也为了遇到相同的问题的同仁能够看到便于找到问题症结。我把处理这个问题的心得放上面:


第一个遇到的问题:花费了整整假期三天,为了装Gromacs的GPU加速,把机器给搞崩溃了!后来没有办法重新装centos 7。真是屋漏偏逢连夜雨!试了各种方法,CentOS 7的版本用U盘装不上,后来改用外置光盘装。但遇到相同的问题。主要原因是:加了独立显卡,主板不认;并且添置了独立显卡HDMI到VGA显示器的转换器。这主要原因是主板检测外置配件不正常,报错!错误显示是检测不到CPU。其实是独立显卡的问题。解决办法:把主板跳线拨成集显,显示器接到集成主板显卡上安装。系统装上之后,再连接独显即可。


第二个遇到的问题:GPU的驱动和CUDA安装绝对不是一件轻松的事情。解决方法是:
(1)先root权限安装gcc、kernel-devel、kernel-headers;
(2)下载CUDA,注意Nvidia官网上的显卡驱动版本低于cuda runtime。所以这一步根据官网下面的指导,先安装cuda。驱动先不要选择安装(其实,也装不上,会报错);再接着根据显卡型号,在中国域名的官网下载该网卡驱动,这个驱动的版本要比CUDA包里面的版本高(第五步备用);(l谢谢iuyuje714提醒)。
(3)这一步是很多人遇到的问题。以为下载CUDA安装就行了。其实,由于linux系统内的集成显卡驱动的存在,会导致独立显卡驱动无法安装(第二步只能安装上cuda,但报错);所以接下来需要init 3进入非桌面的操作模式。
(4)进入操作模式后,首先修改、阻止阻止 nouveau 模块的加载;重新建立initramfs image文件(网上可以查到具体方法)。
(5)然后安装第五步的网卡驱动,这里面需要一个语句(# ./NVIDIA-XXXX.run --kernel-source-path=/usr/src/kernels/内核号),后面的内核号 就是前面安装的kernel-devel.rpm的号。
(6)安装好之后,nvidia-smi命令,查看GPU驱动及CUDA驱动情况。(7)reboot, init 5回到桌面模式。习惯而已!


总结!摸索的过程太辛苦了。尤其对于非计算机专业出身的人。但终于搞定了!


遗留的问题:感谢liuyuje714提的意见!提到cmake的版本高于3.13可能导致gromacs2018无法编译。我尝试用最高的版本,没有遇到这个可能的问题!
他提到的第二个问题-DGMX_SIMD=AVX2_256,我确实在之前编译的时候出错了,我的CPU是V3,不支持AVX2_256,编译出错。但是换成AVX2就正常编译通过!
总之,导致上述问题的核心原因是:由于linux集成显卡的存在,会导致独立显卡驱动和cuda无法正常安装!这需要先弄掉集显,再逐步安装。



作者
Author:
liuyuje714    时间: 2019-11-29 22:25
本帖最后由 liuyuje714 于 2019-11-29 22:26 编辑

显卡驱动版本不能比cuda runtime版本低。请升级显卡驱动。其次,你这个编译的simd也有问题,建议手动设置-DGMX_SIMD=AVX2_256,可能是因为你cmake的版本高于3.13,导致gmx无法自动检测到simd,这是个bug,貌似全系列gmx都是如此。
作者
Author:
lao7    时间: 2019-11-30 10:16
liuyuje714 发表于 2019-11-29 22:25
显卡驱动版本不能比cuda runtime版本低。请升级显卡驱动。其次,你这个编译的simd也有问题,建议手动设置-D ...

谢谢!我有两个问题追问一下:1)升级显卡驱动,一般您是如何执行?单独下载高级版本的显卡驱动安装吗?2)手动设置-DGMX_SIMD=AVX2_256,请问如何执行?重新低版本的cmake3.13编译加这个语句行不行。

谢谢!
作者
Author:
Daniel_Arndt    时间: 2019-12-1 04:32
lao7 发表于 2019-11-30 10:16
谢谢!我有两个问题追问一下:1)升级显卡驱动,一般您是如何执行?单独下载高级版本的显卡驱动安装吗?2 ...

第一个问题我不了解。第二个问题,直接在cmake的参数里面加上“-DGMX_SIMD=AVX2_256”,我在cmake 3.13.3上试过的,应该没有什么毛病。




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