在单个GPU上运行多个MPI排名时,我真的需要MPS,还是Kepler的Hyper-Q本身就足够了?

时间:2014-10-17 19:38:41

标签: cuda mpi kepler mps

基本上我想在单个GPU上运行多个MPI排名(NVidia K20c),我知道MPS和开普勒Hyper-Q的存在。

然而,我的问题是,Hyper-Q本身是否足以满足我的需求?或者我必须使用MPS? 根据上面的Hyper-Q链接,“无需额外的编码工作来启用Hyper-Q。只需安装CUDA 5的Tesla K20 GPU并设置环境变量即可让多个MPI排名共享GPU - Hyper -Q随时可以使用。“

这是否意味着我根本不需要MPS?

p.s。,我也知道关于类似主题的以下问题,但似乎没有清楚地回答我的问题。 Do I have to use the MPS (MULTI-PROCESS SERVICE) when using CUDA6.5 + MPI?

感谢。

1 个答案:

答案 0 :(得分:4)

您可以在单个GPU上运行多个没有MPS的MPI排名。在这种情况下,所有等级(GPU)代码将序列化。给定等级的GPU代码仅在与先前等级相关联的GPU代码完全完成并退出GPU时才开始执行。

如果您想有机会让一个等级的GPU代码与另一个等级的GPU代码同时执行,那么MPS将是必要的。如果与排名相关联的GPU代码充分利用了GPU,那么您不太可能从MPS中获得太多好处。排名GPU代码可以与另一个等级的GPU代码同时执行,这将带来显着的好处。