NVIDIA Tensor Core 的可编程性、性能与精度
分布式、并行与集群计算
2018-12-18 v1 性能
摘要
NVIDIA Volta GPU 微架构引入了一个称为 “Tensor Core” 的专用单元,每个时钟周期可对 4x4 矩阵执行一次矩阵乘加运算。采用 Volta 微架构的 NVIDIA Tesla V100 加速器提供 640 个 Tensor Core,在混合精度下的理论峰值性能为 125 Tflops/s。在本文中,我们研究当前对 NVIDIA Tensor Core 的编程方法、其性能以及因混合精度计算导致的精度损失。目前,NVIDIA 提供三种不同的在 Tensor Core 上编程矩阵乘加的方式:CUDA Warp Matrix Multiply Accumulate (WMMA) API、基于 WMMA 的模板库 CUTLASS,以及 cuBLAS GEMM。在尝试不同方法后,我们发现 NVIDIA Tensor Core 在 Tesla V100 GPU 上混合精度下可达 83 Tflops/s,分别是单精度和半精度性能的七倍和三倍。批量 GEMM 的 WMMA 实现达到了 4 Tflops/s 的性能。虽然以半精度输入进行矩阵乘法导致的精度损失在许多 HPC 应用中可能至关重要,但可通过增加计算量大幅降低。我们的结果表明,使用矩阵乘法的 HPC 应用可显著受益于 NVIDIA Tensor Core 的使用。
引用
@article{arxiv.1803.04014,
title = {NVIDIA Tensor Core Programmability, Performance & Precision},
author = {Stefano Markidis and Steven Wei Der Chien and Erwin Laure and Ivy Bo Peng and Jeffrey S. Vetter},
journal= {arXiv preprint arXiv:1803.04014},
year = {2018}
}
备注
This paper has been accepted by the Eighth International Workshop on Accelerators and Hybrid Exascale Systems (AsHES) 2018