这是一个相当简单的问题,但谷歌搜索似乎没有答案,所以。
我想知道的是,如果我有两张能够运行cuda的gpu卡(相同),我的内核可以跨越这些卡吗?或者是一张卡还是另一张卡?即cuda提供了整套可用的gpu核心,或者只是它运行的卡片上的核心。
如果是这样,为了实现这个目标,我需要知道一些特别的事情吗?除了值得了解的cuda sdk之外还有什么例子吗?
目标语言当然是C / C ++。
提前致谢。
答案 0 :(得分:4)
单个CUDA内核启动绑定到单个GPU。为了使用多个GPU,将需要多个内核启动。
cuda设备运行时API focuses on whichever device is selected。任何给定的内核启动都将在最近使用cudaSetDevice()
cuda样本中提供了多GPU编程示例simple multi-gpu with P2P和simple multi-gpu