🤖 AI Summary
This work addresses the lack of publicly available, customizable simulation tools for the OCP MX block floating-point format and its arithmetic behavior, which has hindered the development of mixed-precision algorithms. To bridge this gap, we introduce MXsim v0.1, a lightweight MATLAB-based simulation library that offers the first configurable emulation of OCP MX formats. MXsim supports user-defined exponent bit-widths, flexible input/output and accumulator precisions, and is compatible with non-block variants of IEEE 754. By providing detailed bit-level numerical behavior otherwise undisclosed by GPU vendors, MXsim enables researchers to efficiently evaluate the numerical impact of diverse MX configurations in mixed-precision algorithms without requiring access to the latest hardware.
📝 Abstract
We present MXsim v0.1: a MATLAB library for simulating the OCP MX block floating-point arithmetic and formats. The library is built on top of a custom-precision floating-point simulator, CPFloat, which allows custom variants of non-block IEEE 754 floating-point formats to be simulated. MXsim is a MATLAB simulator, and is targeted at mixed-precision algorithm development community to perform experimentation in OCP MX block floating-point arithmetic by using a simple and well-documented interface in MATLAB, which is especially useful when access to the latest NVIDIA and AMD GPUs is not available. Furthermore, due to full customisation of exponents, precisions of input and output formats, and the precision of the accumulator within the dot product operation, MXsim allows experimenting with custom variants of the OCP MX block floating point for research. Finally, since the bit-wise numerical behavior of OCP MX formats is not documented by GPU vendors, and the precision and rounding are not prescribed by the OCP specification itself, MXsim allows experiments with various possible settings in order to determine the effects on mixed-precision numerical algorithms.