CUDA中的"内存限制"、"延迟限制"、"带宽限制"和"计算限制"

12
在许多在线资源中,可以找到不同的“内存”、“带宽”和“延迟”限制内核的用法。我觉得有些作者会使用自己的定义来解释这些术语,因此如果有人能够明确区分这些术语,那么是非常有益的。
据我理解: 带宽限制的内核是指在全局内存访问方面接近设备的物理极限。例如,一个应用程序在M2090设备上使用了177GB/s中的170GB/s。
延迟限制的内核是指其主要停滞原因是由于内存获取。因此,我们没有饱和全局内存总线,但仍需等待将数据传送到内核中。
计算限制内核是在假设内核不受内存问题干扰且算术和延迟良好重合的情况下,计算占主导时间的内核。
如果我理解正确,那么“内存限制”的内核是什么呢?是否存在歧义,如果有,我们是否应该将对话限制在上述三个术语范围内?
谢谢!

还有另一种情况经常发生:受PCI-E传输速率限制吗? - hbogert
1个回答

9
“Memory bound”是指代码受到内存访问限制的一般情况,即包括延迟受限和带宽受限的代码。您已经正确定义了几乎所有其他术语。关于是否存在歧义,如果有的话,我们应该将对话限制在上述三个术语中吗?我认为没有太多歧义(无论如何,您已经清楚地划分了4个术语中的3个),而且在SO的问题/答案中,您不会对世界施加秩序。

谢谢澄清。我只是指“内存绑定”的歧义。干杯 - Vukachino Starbuck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接