在大学项目中使用Cuda GPU编程,只是想知道GPU是否有可能的块大小为1024,如果你有2个GPU&s;这是否意味着该块大小加倍?如果您需要单独访问GPU,这会影响程序的实现吗?
答案 0 :(得分:1)
不,块大小不会加倍。块大小通常与GPU上每个Streaming Multiprocessor的最大活动warp数有关。如果您计划在多个GPU上编写程序,则需要在调用任何CUDA运行时函数之前每次在代码中设置活动GPU设备(通过cudaSetDevice()
)。每个GPU将分别和异步地运行其功能。
答案 1 :(得分:0)
我认为您要问的是每个块的最大线程数,这是基于每个GPU的。这意味着即使您有两个GPU,每个块最多1024个线程,块大小仍然是静态的。
所以回答你的问题,不,块大小不会翻倍。不幸的是,你仍然需要单独与每个GPU进行通信。
您可以查看有关技术规范的更多信息,例如每个块here.
的线程数