计算化学公社

标题: wsl2下GMX性能低下,Wait GPU state copy耗时极长 [打印本页]

作者
Author:
zdworld    时间: 2023-9-8 22:38
标题: wsl2下GMX性能低下,Wait GPU state copy耗时极长
本帖最后由 zdworld 于 2023-9-8 22:47 编辑

在WSL2下编译了gmx 2023.2版本,发现比起win下预编译的2023.2版本性能差距很大。
左边是wsl2下性能表现,右侧是win下预编译的同版本。

同一体系,任务分配如下。
  1. gmx mdrun -s tpr/4-md.tpr -x xtc/4-md.xtc -c gro/4-md.gro -e edr/4-md.edr -g log/4-md.log -cpo cpt/4-md.cpt -nb gpu -pme gpu -pmefft gpu -bonded cpu -v
复制代码


主要问题在于wait gpu state copy。请问可能的原因是什么?








作者
Author:
exity    时间: 2023-9-9 09:16
本帖最后由 exity 于 2023-9-9 09:17 编辑

WSL2是完全体的虚拟机,和非挂载系统通讯是通过模拟网络来进行的。所以效率低下,其磁盘性能也一直被人诟病。
解决方法是买一个新的硬盘,直接mount到WSL2里,所有操作都在这个磁盘上进行,性能大概率就能恢复。
作者
Author:
lonemen    时间: 2023-9-9 10:20
exity 发表于 2023-9-9 09:16
WSL2是完全体的虚拟机,和非挂载系统通讯是通过模拟网络来进行的。所以效率低下,其磁盘性能也一直被人诟病 ...

那请问wsl挂载物理机的一个磁盘分区,跟挂载一个新硬盘,速度区别大吗?谢谢!
作者
Author:
exity    时间: 2023-9-9 11:00
lonemen 发表于 2023-9-9 10:20
那请问wsl挂载物理机的一个磁盘分区,跟挂载一个新硬盘,速度区别大吗?谢谢!

这个我一直想试一下,又怕试了之后本来windows里的文件都会丢失,所以不知道 T_T
作者
Author:
lmch    时间: 2023-9-9 16:14
这个计数器只是CPU”空载”等待GPU回传数据的时间,跟gmx计算效率没啥关系。事实上,gmx 2023版mdrun默认选项,
The mdrun -update auto will by default map to GPU if supported. This gives a significant performance improvement with a single MPI rank.
再者,如果mdrun选项再加上-bonded gpu,那么绝大多数计算都在gpu上进行,cpu便空闲下来,此项计数器的时间自然大为增长。

以下为gmx论坛讨论https://gromacs.bioexcel.eu/t/re ... gle-gpu-runs/3555/2原文:
Nothing abnormal here, as you offload all CPU force compute the CPU has no useful work to do and after enqueuing GPU work for a sequence of steps until the CPU requires results (e.g. for pair search of I/O) it waits for the GPU to complete work. That is the wall-time measured in the above counter.


此外,众所周知,任何虚拟机都会带来性能损失,wsl也不例外。虚拟机影响cpu-gpu通信效率,从而使得整体计算效率降低。
作者
Author:
zdworld    时间: 2023-9-9 23:39
lmch 发表于 2023-9-9 16:14
这个计数器只是CPU”空载”等待GPU回传数据的时间,跟gmx计算效率没啥关系。事实上,gmx 2023版mdrun默认选 ...

明白了,感谢回复
作者
Author:
aklize    时间: 2025-8-6 16:25
我也是这样,同样的一个任务,在windows上跑的时候效率极其低下, Wait GPU state copy 数值很大。配置更差的另一台电脑跑一样的任务反而速度更快。想问下楼主解决了这个问题吗
作者
Author:
abin    时间: 2025-8-6 17:00
直接使用Linux就行了,就没有这些麻烦了。

Windows subsystem for Linux, is not a Linux distribution.
你要把这个当作生产环境的标准Linux系统来用,
估计会遇到一些意想不到的问题。





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