相关疑难解决方法(0)

如何为CUDA内核选择网格和块尺寸?

这是一个关于如何确定CUDA网格,块和线程大小的问题.这是对此处发布的问题的另一个问题:

/sf/answers/395068691/

在此链接之后,talonmies的答案包含一个代码片段(见下文).我不理解评论"通常由调整和硬件约束选择的值".

我没有找到一个很好的解释或澄清,在CUDA文档中解释了这一点.总之,我的问题是如何在给定以下代码的情况下确定最佳块大小(=线程数):

const int n = 128 * 1024;
int blocksize = 512; // value usually chosen by tuning and hardware constraints
int nblocks = n / nthreads; // value determine by block size and total work
madd<<<nblocks,blocksize>>>mAdd(A,B,C,n);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我从上面的链接开始我的问题,因为它部分回答了我的第一个问题.如果这不是在Stack Overflow上提问的正确方法,请原谅或建议我.

optimization performance cuda gpu nvidia

102
推荐指数
3
解决办法
9万
查看次数

标签 统计

cuda ×1

gpu ×1

nvidia ×1

optimization ×1

performance ×1