我如何估计我不拥有的卡片的cuda性能,即。新卡?
例如,我发现一个不完整的Cuda例子,作者写道,他的GF 8600 GT需要0.7秒。但在我的Quadro上需要花费1,7秒。
我的问题是:我用来填补空白的代码是错误的还是GF 8600真的快了两倍?
内核受内存限制,但我的卡有更高的内存带宽。我不知道从中得出什么结论。
Name Quadro FX 580 GeForce 8600 GT
CUDA Cores 32 32
Core clock (MHz) 450 540
Memory clock (MHz) 400 700
Memory BW (GB/s) 25.6 22.4
Shader Clock (MHz) ???? 1180
答案 0 :(得分:2)
只是想为您提供一些可能是错误来源的指针。首先,使用cudaEvents来计算代码,而不是cuda profiler,因为cudaEvents更准确。其次,请检查作者测量的内容;他只谈论计算时间,还是他还在考虑将数据传输到GPU和从GPU传输数据的时间。你在同一时间测量吗?
其次,cuda架构正在快速变化。例如,对于cc 1.x的卡,建议我们应该使用共享内存来获得更好的性能;但是,对于具有cc 2.x的卡,每个多处理器都有一个L1缓存,可以非常快速地进行全局内存访问。因此,您可能还想比较两张卡的架构及其计算能力。