cuda v100 和 RTX2080 带宽波动

cuda v100 和 RTX2080 带宽波动

我有一个简单的 cuda 内核(添加两个大小为 N 的向量),非常类似于请访问此处的 cuda 博客。我只改变了几件事,例如对各种样本进行测量。因此,让它运行 1000 次,然后将测量结果写入 txt。如果我现在绘制将矢量传输到设备的测量结果,我会得到以下结果:

在此处输入图片描述

现在,如果我们看一下以垂直误差线绘制的标准差,那么应该很清楚,出于某种原因,数据移动波动会随大小而变化,因为误差线在对数对数图中是恒定的。当仅绘制标准差时,可以验证这一点

在此处输入图片描述

如果我从CUDA博客,然后我每运行 10 次左右也会得到带宽波动。这是从哪里来的?我在两个不同的 GPU(V100 和 RTX2080)上观察到了相同的行为。很抱歉给您带来图像方面的不便,但我没有足够的声誉点。

答案1

作为一个nvidia dev 论坛用户建议我尝试使用固定内存代替非固定内存,效果非常好。波动几乎完全消失了。

相关内容