【发布时间】:2012-06-18 00:47:39
【问题描述】:
根据我对 cublas 和 atlas 的 dgemm 测量结果,atlas 在速度方面远远超过 cublas。这对于配备 Intel i7 950 和 Nvidia GTX470 的系统是否可以预期?
我以 50 为增量测试了 10x10 到 6000x6000 大小的矩阵。Atlas 总是胜出。我测量了整个应用程序的执行和乘法步骤。
其他人有这方面的经验吗?这是预期的结果吗?
提前致谢。
编辑:(相同的代码,在 Xeon X5670 和 Nvidia Tesla C2050 上的结果相同)
edit2:如果归因于 cublas 库的初始化,它会显得非常缓慢。我继续努力。当我了解更多时,我会在这里更新。
【问题讨论】:
-
不,这不是预期的结果,尤其是对于 C2050。你能展示一些代码和实际的 CUBLAS 案例的 GFLOP/s 数字吗?
-
加速器对于单次操作没有用处,因为将数据复制到/从加速器内存和同步内核执行可能需要比实际计算更多的时间。您确实应该对图形卡上的数据进行大量计算,而无需来回移动它。 GTX470 的双精度性能降低到核心能力的 1/4,因此无法与高端 Quadros 和 Teslas 竞争。
-
如果您在 Linux 上,我建议您在持久模式下运行 nvidia-smi(或在后台以循环模式 (-l) 运行它)。这可以将设备上下文创建从几秒减少到几毫秒。如果您发布用于运行和计时 cublas 的代码,我们可以帮助您确保它是正确的。