实现CUDA Graph功能并执行相关重构
-
调查“ 39b9e167号 使用PmeForceSenderGpu中现有的PME f ready事件“更改中断跨多个GPU捕获图形的能力 -
将原型重新绑定到最新的GROMACS。 -
允许每个图形跨越多个步骤,避免步骤之间跨GPU的不必要障碍。 [相反,我们通过奇数步和偶数步上的单独图形重叠每个步骤的开始和结束,见下文] -
为多GPU案例实施图形更新功能,以避免每一个NS/DD步骤都需要昂贵的重新实例化。 [将在未来的CUDA版本中得到适当支持,并将使用与单GPU相同的代码路径,我们只需要在可能的情况下启用一些小功能] -
调查节点级优先级 -
清理和重构所有代码,将标准提升到可以向上传输的水平。 -
为新的MD Graphs类创建单元测试 -
每当 MdGpuGraph公司 从“使用”更改为“录制”,再更改为“已录制但尚未创建”,最后更改为“创建”等。 -
添加简单测试,通过检查调用的有效/无效顺序,可以进一步验证上述点
-
在do_force/do_md中重构以分离CPU力计算,并允许直接从do_md调用它们。 -
研究并实现一种使用CUDA流内存操作将CUDA图形启动与CPU力计算交错的机制,以满足所需的依赖性。 -
最终确定代码和上游