是否可以在多个gpus上运行cuda内核

7 c c++ cuda multiple-gpu

这是一个相当简单的问题,但谷歌搜索似乎没有答案,所以.

我想知道的是,如果我有两个能够运行cuda的gpu卡(相同),我的内核可以跨越这些卡吗?或者是一张卡还是另一张卡?即,cuda提供了整套可用的gpu核心,或者只是运行在卡上的那些核心.

如果是这样,为了实现它,我需要知道什么特别的事情吗?除了值得了解的cuda sdk之外还有什么例子吗?

目标语言当然是C/C++.

提前致谢.

Rob*_*lla 5

单个CUDA内核启动绑定到单个GPU。为了使用多个GPU,将需要多个内核启动。

cuda设备运行时API 专注于所选的任何设备。任何给定的内核启动将在使用以下命令最近选择的设备上启动cudaSetDevice()

在cuda示例中使用P2P的简单multi-gpu简单的multi-gpu提供了多GPU编程的示例