NVIDIA Tensor Core Programmability, Performance & Precision

By Stefano Markidis, Steven W. D. Chien, Erwin Laure, Ivy Bo Peng, Jeffrey S. Vetter. IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum, 2018

474 citations recorded by the source corpus.

The NVIDIA Volta GPU microarchitecture introduces a specialized unit, called Tensor Core that performs one matrix-multiply-and-accumulate on 4x4 matrices per clock cycle. The NVIDIA Tesla V100 accelerator, featuring the Volta microarchitecture, provides 640 Tensor Cores with a theoretical peak performance of 125 Tflops/s in mixed precision. In this paper, we investigate current approaches to program NVIDIA Tensor Cores, their performances and the precision loss due to computation in mixed precision. Currently, NVIDIA provides three different ways of programming matrix-multiply-and-accumulate on Tensor Cores: the CUDA Warp Matrix Multiply Accumulate (WMMA) API, CUTLASS, a templated library based on WMMA, and cuBLAS GEMM. After experimenting with different approaches, we found that NVIDIA Tensor Cores can deliver up to 83 Tflops/s in mixed precision on a Tesla V100 GPU, seven and three times the performance in single and half precision respectively. A WMMA implementation of batched GEMM reaches a performance of 4 Tflops/s. While precision loss due to matrix multiplication with half precision input might be critical in many HPC applications, it can be considerably reduced at the cost of increased computation. Our results indicate that HPC applications using matrix multiplications can strongly benefit from using of NVIDIA Tensor Cores.

Subfields: Computational Mathematics, Computational Mechanics, Signal Processing

View Paper: https://www.semanticscholar.org/paper/c904d42a6aeb81c385dbc94d95380734dee43fbc

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computational Mathematics

  1. Christopher R'e
  2. Carole-Jean Wu
  3. Moritz Hardt

In Computational Mechanics

  1. Jian Zhang
  2. Kunle Olukotun
  3. Mohammad R. Hayajneh
  4. Ping Tak Peter Tang
  5. Yang Yu
  6. Jessica K. Hodgins
  7. Haftay Gebreslasie Abreha
  8. Christopher R'e

In Signal Processing

  1. Matei A. Zaharia
  2. Yang Yu
  3. F. Meier
  4. Jian Zhang
  5. David A. Patterson
  6. M. Smelyanskiy
  7. Kunle Olukotun
  8. Jessica K. Hodgins

Citations in the corpus