0

我在某处读到“除非你有 Tesla 卡,否则在任何最近的卡(Maxwell 和 Pascal 自 2014 年以来)上的 GeForce、Quadro 和 Titan 卡上,float64 比 float32 慢 32 倍。”

所以我想知道 float32 的计算是否会比特斯拉 gpu 上的 float64 更快,或者性能保持不变。我对两个向量相乘所花费的时间特别感兴趣。

当然,float32 会比 float 64 占用更少的内存。但是对于我的应用程序来说,内存是没有问题的。

4

1 回答 1

2

所以我想知道 float32 的计算是否会比 Tesla GPU 上的 float64 更快,或者性能保持不变。

32 位浮点在所有 NVIDIA GPU 上具有更高的理论最大吞吐量。K20c 是计算能力为 3.5 的 GPU,您可以在此处看到,与 float64 相比,float32 的每个 SM 每个时钟的最大 FMAD 指令吞吐量是 float64 的三倍。其他指令可能有更大的性能差异。

我对两个向量相乘所花费的时间特别感兴趣。

这将是特定于实现的,并且可能取决于 Pytorch 内部的工作方式。这与CUDA没有直接关系。

当然,float32 会比 float 64 占用更少的内存。但是对于我的应用程序来说,内存是没有问题的。

但内存带宽可能是,float64 的峰值内存吞吐量是 float32 的一半。64 位类型还可能引入双向共享内存带冲突,其中 32 位类型没有。

于 2021-02-16T09:21:21.347 回答