0

我正在使用 Tesla k40 和 GTX Titan X,并且我有 Cuda 8.0 我使用的函数是 CuBlas 和 CuSparse 库函数: cusparseDcsrsv2_solve(); cusparseDcsrmv(); cublasDdot();

为什么 GTX Titan X 比 K40 快?我正在为从 3.0 到 6.0 的所有计算能力编译带有标志的 nvcc,并且我的程序处理 9 GB / 12 GB RAM。关于我,库函数不使用双精度,因为浮点 GTX TITAN X 有 6.xx Tflops,K40 有 4.xx Tflops,而浮点双 GTX TITAN X 有 2xx GFlops,K40 有 1.xx Tflops。从理论上讲,K40 必须比 GTX TITAN X 更快,这可能是我的问题吗?太奇怪了。

4

1 回答 1

1

首先,这些问题的答案通常是: 分析您的内核,您将了解究竟是什么运行得更慢。

不过,我要说的是,K40 应该比 Maxwell Titan X 更快是不正确的:

  • 时钟速度: Titan X:1000 MHz,Tesla K40:745 MHz。
  • 内存带宽: Titan X:336 GB/秒,Tesla K40:288 GB/秒。
  • “CUDA 内核”数量(即多处理器矢量化寄存器中的最大同时执行通道):Titan X 3072,Tesla K40:2888。

所以 Titan X 有一堆统计数据对其有利,更不用说它是一个不同的微架构,即使使用相同的“原始”统计数据,它也总是会在性能方面混淆。因此,至少对于某些工作负载,Titan X 应该更快。

当然,正如其他人所建议的那样,为了获得适当的双精度浮点性能,K40 应该轻松超越 Titan X:K40 具有 1430G FMA ops/sec 的芯片,而 Titan X 仅适用于 192(!)

于 2017-03-19T14:45:13.417 回答