通过链接写成:https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf
1.1。一览
1.1.1。 MPS
多进程服务(MPS)是一种替代的,二进制兼容的 CUDA应用程序编程接口(API)的实现。 MPS运行时体系结构旨在透明地启用 合作多进程CUDA应用程序,通常是MPI作业,到 在最新的NVIDIA(基于Kepler的)Tesla上使用Hyper-Q功能 和Quadro GPU。 Hyper-Q允许处理CUDA内核 同时在同一GPU上;这可以有利于性能 单个应用程序进程未充分利用GPU计算容量。
使用CUDA6.5 + MPI(OpenMPI / IntelMPI)时是否必须使用MPS(多进程服务),或者我不使用MPS而失去了一些性能但是没有任何错误?
如果我不使用MPS,是否意味着单个服务器上的所有MPI进程将在单个GPU上顺序执行(不是并发)GPU内核函数卡,但所有其他行为将保持不变?
答案 0 :(得分:5)
MPS不需要使用MPI
如果您不使用MPS,但每个节点(即每个GPU)启动多个MPI排名,那么如果您将计算模式设置为默认值,那么您的GPU活动将序列化。如果您将计算模式设置为EXCLUSIVE_PROCESS或EXCLUSIVE_THREAD,则当多个MPI排名尝试使用单个GPU时,您将收到错误。
CUDA MPS文档可用here。