以编程方式检索每个多处理器的最大块数

时间:2014-03-19 23:16:30

标签: cuda

有没有办法以编程方式检索可以适合多处理器的最大块数?据我所知,如果我想达到每个多处理器的最大块数,那么我需要弄清楚在不限制块数的情况下我可以使用多少个线程和多少共享内存。 (哦,最大寄存器数)

但是,我正在看

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/structcudaDeviceProp.html

我没有看到以编程方式检索每个多处理器的最大块数的方法。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

据我所知,没有API函数可以直接检索这个数字。

您可以通过检索计算功能主要版本并使用the programming guide中的信息来创建自己的功能。如果cc 1.x或2.x,则每个多处理器有8个块。如果cc 3.x,则每个多处理器有16个块。如果是cc 5.x it's 32 blocks

这不会使您的代码面向未来,但它可能是最好的方法。