为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕仙森 2019-07-03 14:15:13
如何为CUDA内核选择网格和块尺寸?这是一个关于如何确定CUDA网格、块和线程大小的问题。这是在这里张贴的问题的另一个问题:https://stackoverflow.com/a/5643838/1292251按照这个链接,来自Talonmies的答案包含一个代码片段(见下文)。我不明白“值通常是由调优和硬件约束选择的”这句话。我没有找到一个很好的解释或澄清,解释这在数据自动化系统的文件。总之,我的问题是如何确定最优条形(=线程数)给定以下代码:const int n = 128 * 1024;int blocksize = 512; // value usually chosen by tuning and hardware constraintsint nblocks = n / nthreads;  // value determine by block size and total workmadd<<<nblocks,blocksize>>>mAdd(A,B,C,n);顺便说一下,我从上面的链接开始我的问题,因为它部分地回答了我的第一个问题。如果这不是一个正确的方式来问题堆叠溢出,请原谅或建议我。
查看完整描述

3 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

块的选择通常是为了使“占用”最大化。查询数据自动化系统的占用情况以获得更多信息。特别是,请参阅数据自动化系统占用率计算器电子表格。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 1671 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信