Accurate Models of NVIDIA Tensor Cores
By: Faizan A. Khattak, Mantas Mikaitis
Potential Business Impact:
Makes computer math results the same everywhere.
Matrix multiplication is a fundamental operation in for both training of neural networks and inference. To accelerate matrix multiplication, Graphical Processing Units (GPUs) provide it implemented in hardware. Due to the increased throughput over the software-based matrix multiplication, the multipliers are increasingly used outside of AI, to accelerate various applications in scientific computing. However, matrix multipliers targeted at AI are at present not compliant with IEEE 754 floating-point arithmetic behaviour, with different vendors offering different numerical features. This leads to non-reproducible results across different generations of GPU architectures, at the matrix multiply-accumulate instruction level. To study numerical characteristics of matrix multipliers-such as rounding behaviour, accumulator width, normalization points, extra carry bits, and others-test vectors are typically constructed. Yet, these vectors may or may not distinguish between different hardware models, and due to limited hardware availability, their reliability across many different platforms remains largely untested. We present software models for emulating the inner product behavior of low- and mixed-precision matrix multipliers in the V100, A100, H100 and B200 data center GPUs in most supported input formats of interest to mixed-precision algorithm developers: 8-, 16-, and 19-bit floating point.
Similar Papers
Generalized Methodology for Determining Numerical Features of Hardware Floating-Point Matrix Multipliers: Part I
Hardware Architecture
Finds how computer chips do math better.
MMA-Sim: Bit-Accurate Reference Model of Tensor Cores and Matrix Cores
Hardware Architecture
Fixes computer math errors in AI programs.
High Performance Matrix Multiplication
Performance
Makes computers do math faster for games and science.