use*_*914 1 c++ cuda zero-copy nvvp
有没有人有使用零拷贝(这里是参考:默认固定内存和零拷贝内存)内存模型分析CUDA应用程序性能的经验?
我有一个使用零拷贝功能的内核和NVVP我看到以下内容:
以平均问题大小运行内核我得到0.7%的指令重放开销,所以没什么大不了的.所有这0.7%都是全局内存重放开销.
当我真正提升问题大小时,我得到95.7%的指令重放开销,所有这都是由于全局内存重放开销.
但是,正常问题大小内核运行和非常大的问题大小内核运行的全局负载效率和全局存储效率是相同的.我不确定如何将这些指标组合起来.
我不确定的主要问题是NVVP中的哪些统计信息可以帮助我了解零拷贝功能的情况.我应该关注什么类型的统计数据?
由于多种原因,Fermi和Kepler GPU需要重放内存指令:
延迟到
由于延迟增加导致LSU资源的未命中和争用增加,重放开销增加.
全局负载效率不会增加,因为它是需要为执行的存储器指令传输的理想数据量与实际传输的数据量之比.理想意味着执行的线程从高速缓存行边界开始访问存储器中的顺序元素(32位操作是1个高速缓存行,64位操作是2个高速缓存行,128位操作是4个高速缓存行).访问零拷贝速度较慢且效率较低,但不会增加或更改传输的数据量.
分析器公开以下计数器:
在零拷贝情况下,所有这些指标都应该低得多.
Nsight VSE CUDA Profiler内存实验将显示通过PCIe(零拷贝内存)访问的数据量.
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |