Mixed-Precision Compute Array for Linear Algebra

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor systems face inefficiencies in computational throughput due to resource-intensive matrix math operations, which are often constrained to fixed precision computations, leading to reduced efficiency and additional rescaling operations when inputs have different precision than results.

Innovation Solution

A computer-implemented method that determines the precision and shape of input matrices and performs parallel linear algebra operations within a compute array to update a result matrix, allowing for mixed-precision computations and efficient matrix operations by using a single accumulator register for both reading and writing data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed precision computations are used in matrix math operations, then computational simplicity is maintained, but computational efficiency and throughput are reduced

Engineering Contradiction:
Improvecomputational throughputVSAvoidprecision handling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compute array is designed to dynamically adapt its precision handling capabilities. The system can switch between different precision modes (e.g., single-precision, half-precision, integer operations) based on the specific computational requirements, allowing optimal performance for different workloads without being constrained to a fixed precision mode

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the precision parameter of computations performed by the compute array. By supporting multiple precision levels (full precision, half precision, integer operations), the system can optimize computational throughput for different applications, such as using half-precision for machine learning inference where lower precision is acceptable, or full precision for scientific computations requiring higher accuracy

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If rescaling operations are performed to match precision between inputs and results, then computational accuracy is maintained, but processing time increases

Engineering Contradiction:
Improvecomputational precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs precision determination and configuration in advance, before the actual matrix computations begin. By determining the required precision level upfront and configuring the compute array accordingly, the system avoids the need for time-consuming rescaling operations during the computation process, as the appropriate precision mode is already established

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compute array is designed with universal precision handling capabilities that can process inputs and produce results at multiple precision levels without requiring separate dedicated hardware for each precision level. This multi-functionality eliminates the need for additional rescaling operations, as the same compute array can natively handle different precision requirements

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If multiple accumulator registers are used to store intermediate results, then computational accuracy is improved, but resource usage increases

Engineering Contradiction:
Improvecomputational reliabilityVSAvoidregister resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The invention merges the functionality of multiple accumulator registers into a single accumulator register within each compute element. By combining the accumulation operations and using shared storage resources, the system maintains computational reliability through proper accumulation logic while significantly reducing the quantity of register resources required compared to having separate accumulators for each operation

Inventive Principle:
Principle #5Merging (Combining)

4Measurement precision

If higher precision operations are performed, then result accuracy is improved, but computational throughput decreases

Engineering Contradiction:
Improveresult precisionVSAvoidcomputational throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The compute array dynamically adjusts its operational precision based on the specific computational task requirements. For applications where high accuracy is critical (e.g., scientific simulations), the system operates in full-precision mode. For applications where approximate results are acceptable (e.g., machine learning inference, graphics processing), the system switches to lower precision modes (half-precision, integer operations), thereby maintaining high computational throughput while achieving sufficient result accuracy

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11755320B2Compute array of a processor with mixed-precision numerical linear algebra support
Publication Date: 2023.09.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11755320B2 patent drawing
  • US11755320B2 patent drawing
  • US11755320B2 patent drawing

AI summary

Aspects include a compute array of a processor with mixed-precision numerical linear algebra support. A first precision and a first shape of a first input matrix and a second precision and a second shape of a second input matrix to the compute array are determined. A plurality of linear algebra operations is repeated in parallel within the compute array to update a result matrix in an accumulator register based on the first input matrix, the second input matrix, and a number of rank updates of the result matrix to store in the accumulator register.