我认为我的内核是内存绑定的(因为大多数GPGPU代码是内存绑定的),但我实际上并不知道。我怎么能为自己找到它。可能必须使用视觉轮廓仪,因为它取决于使用的GPU。如何找出内核是内存绑定还是计算绑定?
如果在CUDA编程指南或其他NVIDIA文档中对其进行了说明,请不要犹豫,只是发布带有页码的链接,以便我自己阅读它。
澄清
我宁愿是一般性的“规则”如何确定的限制因素,但在我的特殊情况下,你可以找到我的内核这里的细节:Using `overlap`, `kernel time` and `utilization` to optimize one's kernels
您是否检查过CUDA占用率计算器的内核启动配置和属性?肯定会尝试。然后,分析也是一个好主意。源代码分析也很有用......你的算术强度是多少?您的全局内存访问是否合并?等等。 – Patrick87