有没有办法以编程方式知道我们的CUDA代码在哪个GPU上运行?

时间:2018-10-27 20:03:56

标签: cuda gpu

我想知道我的CUDA内核将在哪个GPU上运行,以便我可以通过编程方式确定要使用的最佳块大小,以便最大化任何算法的GPU实现的性能。

1 个答案:

答案 0 :(得分:3)

是的,deviceQuery示例代码演示了如何在设备上查询信息,例如可用于优化内核启动配置的SM数量。

此外,CUDA提供了一个occupancy API,它演示了如何构造可以产生最高占用率的线程块大小。还有一个sample code

如果您有3个GPU设备,并且没有在代码中使用cudaSetDevice() API来选择特定的GPU,则CUDA将在CUDA枚举的第一个GPU上运行您的代码。与deviceQuery示例代码显示的第一个GPU相同。