衡量NVIDIA Tensor Cores加速

时间:2019-01-16 09:06:21

标签: python tensorflow cuda gpu nvidia

我在Volta架构(V100 GPU)上使用NVIDIA Tensor Core。我想衡量Tensor Core对我的代码的影响(Tensorflow / Python中的卷积神经网络用于测试)。

如何测量Tensor Cores加速?是否可以禁用Tensor Core并在有/没有它们的情况下运行相同的代码?

我尝试过的事情:

  • TF_DISABLE_CUDNN_TENSOR_OP_MATH设置为1(来自this)。但是我仍然看到使用了Tensor Core。更准确地说,我在nvprof日志中看到:volta_s884cudnn_fp16行(此选项消失)和volta_s884gemm_fp16(仍在此处)。附带问题:这些行是什么意思?
  • 与没有Tensor核心的Pascal架构(P100)上的相同代码进行比较,我看到其中的速度提高了30%,但我无法确定这30%的哪一部分是由GPU改进引起的,而哪一部分是Tensor核心性能。
  • tf.float16tf.float32中训练相同的网络,但结果相同,我看到了改进,但无法确定缩小模型尺寸是什么原因。

在此先感谢您的帮助/建议。

1 个答案:

答案 0 :(得分:0)

我选择了一个骇客来估计Tensor Cores的性能提升:

  • 我在float32的Pascal和Volta架构上都运行过代码(以评估该架构的性能提升)。
  • 我也同时在float16中运行了代码,并假设该架构的性能提升与float32float16相同,我可以估计(float16中的性能提升可归因于Tensor Cores。