我找到了有关特斯拉P100每个SM包含多少CUDA核心的信息。它的64 * FP32和32 * FP64。我无法找到GTX 1070的任何数字。
也是后续问题。由于特斯拉的核心比例为1:2,这意味着双精度性能最高只能达到单精度内核性能的一半吗?
答案 0 :(得分:5)
GTX 1070是一款cc6.1 GPU。我们可以参考编程指南中的this table来发现相对指令吞吐量:我找到了有关特斯拉P100每个SM包含多少CUDA核心的信息。它的64 * FP32和32 * FP64。我无法找到GTX 1070的任何数字。
6.1
32-bit floating-point add, multiply, multiply-add 128
64-bit floating-point add, multiply, multiply-add 4
这些数字是 per-clock 和 per-SM 。这意味着每个SM有128个FP32浮点单元和4个FP64浮点单元。然后,您只需要将这些数字乘以cc6.1 GPU中的SM数量(例如,您可以通过deviceQuery
获得),以获得GPU中的总FP32和总FP64核心。
也是后续问题。由于特斯拉的核心比例为1:2,这意味着双精度性能最高只能达到单精度内核性能的一半吗?
是的,这就是它的意思(对于适当测量的计算绑定代码,即每种情况下限制器都是这个特定指标的代码)。请注意,此1:2比率不适用于所有特斯拉处理器,但适用于费米特斯拉处理器(例如M2070,M2090等),适用于特斯拉P100。也许更好的说明方式是,对于这种类型的GPU,1:2比率反映了FP64:FP32比较的峰值理论性能的比率。