我在GTX760(开普勒)和GTX750Ti(麦克斯韦)上做了一个使用基准测试(Parboil,Rodinia)的实验。然后用Nvidia视觉轮廓仪对结果进行分析。在大多数应用中,在Maxwell体系结构上,全局指令的数量大大增加了7-10倍。
规格说明。用于两张图形卡
GTX760 6.0Gbps 2048 GB 256位192.2 GB/s
GTX750Ti 5.4Gbps 2048 128位86.4Gb/s
Ubuntu 14.04
库达司机340.29
工具包6.5
我编译了基准应用程序(没有修改),然后我收集了NVVP(6.5)的结果。分析所有>内核内存>来自L1/共享内存部分,我收集了全局负载事务计数。
我附上了在开普勒(链接)和麦克斯韦(链接)上运行组的模拟结果的截图。
有人知道为什么麦克斯韦架构上的全局指令数量会增加吗?
谢谢。
发布于 2015-03-24 19:51:59
在开普勒和麦克斯韦架构之间,计数器gld_transactions是不可比拟的。此外,这并不等同于执行的全局指令的计数。
在费米/开普勒上,计算SM到L1 128个字节请求的数量。这可以从每个执行的全局/泛型指令增加到0-32。
在Maxwell上,全局操作都经过TEX (统一缓存)。TEX缓存与费米/开普勒L1缓存完全不同。全局事务度量缓存中访问的32B扇区的数量。这可以从每个执行的全局/泛型指令增加到0-32。
如果我们看三个不同的案例:
案例1:翘曲中的每个线程访问相同的32位偏移量.
案例2:翘曲中的每个线程以128字节的步幅访问32位偏移量.
案例3:翘曲中的每个线程根据其车道索引访问唯一的32位偏移量。
案例4:翘曲中的每个线程在128字节内存范围内访问一个唯一的32位偏移量,即128字节对齐。
按体系结构计算每个列表案例的gld_transcations
Kepler Maxwell
Case 1 1 4
Case 2 32 32
Case 3 1 8
Case 4 1 4-16我的建议是避免查看gld_transactions。未来版本的CUDA分析器应该使用不同的度量标准,这些度量标准更可操作,并与过去的体系结构相比较。
我建议查看l2_{读、写}_{事务、吞吐量}。
https://stackoverflow.com/questions/29117708
复制相似问题