本文介绍了使用 CUDA6.5 + MPI 时是否必须使用 MPS(多进程服务)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

链接是这样写的: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 计算能力.

The Multi-Process Service (MPS) is an alternative, binary-compatible implementation of the CUDA Application Programming Interface (API). The MPS runtime architecture is designed to transparently enable co-operative multi-process CUDA applications, typically MPI jobs, to utilize Hyper-Q capabilities on the latest NVIDIA (Kepler-based) Tesla and Quadro GPUs. Hyper-Q allows CUDA kernels to be processed concurrently on the same GPU; this can benefit performance when the GPU compute capacity is underutilized by a single application process.

  1. 在使用 CUDA6.5 + MPI (OpenMPI/IntelMPI) 时我是否必须使用 MPS(多进程服务),或者我是否可以使用 MPS,但会损失一些性能但没有任何错误?

  1. Do I have to use the MPS (MULTI-PROCESS SERVICE) when using CUDA6.5 + MPI (OpenMPI / IntelMPI), or can I not use MPS with lost some performance but without any errors?

如果我将使用 MPS,这是否意味着我在单个服务器上的所有 MPI 进程将在单个 GPU 上按顺序(非并发)执行其 GPU 内核函数-card,但所有其他行为将保持不变?

If I will not use MPS, does it mean that all my MPI-processes on a single server will execute their GPU-kernel-functions sequentially (not concurrent) on a single GPU-card, but all other behavior will stay the same?

推荐答案

  1. 使用 MPI 不需要 MPS

  1. MPS is not required to use MPI

如果您不使用 MPS,但您为每个节点(即每个 GPU)启动多个 MPI 等级,那么如果您将计算模式设置为默认值,那么您的 GPU 活动将序列化.如果您将计算模式设置为 EXCLUSIVE_PROCESS 或 EXCLUSIVE_THREAD,当多个 MPI rank 尝试使用单个 GPU 时,您将收到错误.

If you don't use MPS, but you launch multiple MPI ranks per node (i.e. per GPU), then if you have the compute mode set to default, then your GPU activity will serialize. If you have your compute mode set to EXCLUSIVE_PROCESS or EXCLUSIVE_THREAD, you'll get errors when multiple MPI ranks attempt to use a single GPU.

CUDA MPS 文档可在此处获得.

CUDA MPS documentation is available here.

这篇关于使用 CUDA6.5 + MPI 时是否必须使用 MPS(多进程服务)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-18 09:31