BF16 Dot-Product Accumulation in GPUs for Matrix Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face limitations in efficiently processing graphics and machine-learning operations due to bottlenecks in parallel processing architectures, particularly in managing thread execution and memory access latency.

Innovation Solution

The implementation of a parallel processor architecture with a scheduler and processing cluster array that utilizes SIMT techniques, combined with optimized memory access and caching mechanisms, to enhance parallel processing efficiency and reduce latency in graphics and machine-learning operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional fixed function computational units are used for graphics data processing, then processing of specific graphics operations is efficient, but adaptability to support a wider variety of operations is limited

Engineering Contradiction:
Improveadaptability to support a wider variety of operationsVSAvoidcomplexity of processing architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a unified processing architecture where the same computational units can execute multiple types of operations including graphics processing, machine learning inference, and general-purpose computing through a single instruction multiple data (SIMD) approach. The processing elements are designed to handle different data types (floating-point, fixed-point, integer) and operations (matrix multiplication, convolution, element-wise operations) using a common hardware structure, thereby achieving multi-functionality without proportionally increasing device complexity

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

2Productivity

If parallel processing techniques are implemented to increase throughput, then processing efficiency improves, but memory access latency becomes a bottleneck

Engineering Contradiction:
Improveprocessing throughputVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the processing architecture into multiple independent processing clusters, each with its own local cache memory. This segmentation allows each cluster to operate independently on different data sets simultaneously, reducing the contention for shared memory resources and minimizing memory access latency while maintaining high parallel throughput

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a cache memory hierarchy that pre-loads and stores frequently accessed data in local caches before it is needed by the processing elements. This preliminary action reduces memory access latency by having data ready in fast local memory rather than waiting for slower global memory access, thereby maintaining high processing throughput without the latency bottleneck

Inventive Principle:
Principle #10Preliminary action

3Productivity

If SIMT architecture with multiple threads is used to maximize parallel processing, then processing efficiency increases, but thread execution management complexity increases

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidthread execution management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple thread management functions into a unified scheduler that handles thread creation, scheduling, synchronization, and termination in a single integrated control unit. This merging of functions reduces the overall system complexity compared to having separate management units for each function, while still supporting efficient SIMT execution with multiple concurrent threads

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11361496B2Graphics processors and graphics processing units having dot product accumulate instruction for hybrid floating point format
Publication Date: 2022.06.14 INTEL CORP
  • US11361496B2 patent drawing
  • US11361496B2 patent drawing
  • US11361496B2 patent drawing

AI summary

Described herein is a graphics processing unit (GPU) comprising a single instruction, multiple thread (SIMT) multiprocessor comprising an instruction cache, a shared memory coupled with the instruction cache, and circuitry coupled with the shared memory and the instruction cache, the circuitry including multiple texture units, a first core including hardware to accelerate matrix operations, and a second core configured to receive an instruction having multiple operands in a bfloat16 (BF16) number format, wherein the multiple operands include a first source operand, a second source operand, and a third source operand, and the BF16 number format is a sixteen-bit floating point format having an eight-bit exponent and process the instruction, wherein to process the instruction includes to multiply the second source operand by the third source operand and add a first source operand to a result of the multiply.