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

时间:2010-12-03 15:17:39

标签: c++ c cuda multiple-gpu

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

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:4)

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

cuda设备运行时API focuses on whichever device is selected。任何给定的内核启动都将在最近使用cudaSetDevice()

选择的任何设备上启动

cuda样本中提供了多GPU编程示例simple multi-gpu with P2Psimple multi-gpu