Multi-Format Floating-Point Multiplication With Unified Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hardware solutions for neural networks face challenges in efficiently performing matrix multiplication operations across multiple floating-point number formats, leading to increased complexity and expense due to the need for separate hardware for each format.
Innovation Solution
A single multipurpose logic/multiplication unit is designed to handle various floating-point formats by extending bit width to accommodate the worst-case format, using adders for exponents and multipliers for mantissas, and employing control logic to route appropriate bits, allowing efficient performance of dot products and other arithmetic operations in multiple formats.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate hardware is used for each floating-point format, then each format can be handled with optimized hardware, but hardware complexity and expense increase significantly
Solution Approach 1:
The patent implements a universal multiplication unit that can handle multiple floating-point formats (BF16, FP16, FP32) through a single hardware structure. The unit uses format identification logic to detect the input format and automatically configures the bit-width parameters (exponent bits, mantissa bits) accordingly, eliminating the need for separate dedicated hardware for each format while maintaining full compatibility.
Solution Approach 2:
The multiplication unit dynamically adjusts its operational parameters based on the detected floating-point format. The control logic modifies the bit-width configuration of exponent and mantissa components in real-time according to the input format, allowing the same hardware to adapt its structure and behavior to different format requirements without physical reconfiguration.
2Device complexity
If a single multipurpose unit is used for multiple formats, then hardware complexity is reduced, but the unit must accommodate the worst-case format which may reduce efficiency for smaller formats
Solution Approach 1:
The multiplication unit implements local quality by allowing different bit-width configurations for exponent and mantissa components based on the specific format being processed. When BF16 format is detected, the unit configures for 8 exponent bits and 7 mantissa bits; when FP16 is detected, it configures for 5 exponent bits and 10 mantissa bits. This localized adaptation ensures each format operates at optimal efficiency within the unified hardware structure.
Solution Approach 2:
The system changes operational parameters (exponent bit-width, mantissa bit-width) based on the detected floating-point format. The control logic receives format identification and automatically adjusts these parameters to match the required format, enabling the single hardware unit to maintain high throughput for all supported formats by optimizing parameters for each specific case rather than being constrained by the worst-case configuration.
3Adaptability or versatility
If bit width is extended to accommodate the worst-case format, then all formats can be handled by the same hardware, but additional padding with zero bits is required which increases processing overhead
Solution Approach 1:
The multiplication unit performs preliminary format identification and configuration before the actual multiplication operation. The control logic detects the floating-point format and pre-configures the exponent and mantissa bit-width parameters, then routes the appropriate number of bits from the input operands. This preliminary setup eliminates the need for runtime padding operations and format conversion overhead during the critical multiplication path.
Solution Approach 2:
The system extracts only the necessary number of exponent bits and mantissa bits based on the detected format, rather than processing the full worst-case bit-width for all operations. The control logic selectively routes the required bit portions to the multiplication unit, eliminating unnecessary processing of padded zero bits and reducing the effective processing overhead while maintaining support for all formats.
Data Source
AI summary
A floating-point number in a first format representation is received. Based on an identification of a floating-point format type of the floating-point number, different components of the first format representation are identified. The different components of the first format representation are placed in corresponding components of a second format representation of the floating-point number, wherein a total number of bits of the second format representation is larger than a total number of bits of the first format representation. At least one of the components of the second format representation is padded with one or more zero bits. The floating-point number in the second format representation is stored in a register. A multiplication using the second format representation of the floating-point number is performed.


