7

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

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

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

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

4

1 回答 1

7

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

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

多 GPU 编程示例在 cuda 示例simple multi-gpu with P2Psimple multi-gpu中给出

于 2014-05-06T11:55:35.373 回答