Argmax Operation Optimization Using SIMD Index Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The argmax operation in machine learning models, particularly in image classification, is time-consuming and inefficient due to the large number of floating point numbers generated, which hinders cost-effectiveness and requires additional computations to track index values, especially in complex models with numerous classes per pixel.

Innovation Solution

The method involves discarding superfluous bits from floating point numbers to represent index values, allowing efficient execution of the argmax operation using SIMD instructions in both software and hardware, thereby increasing throughput and reducing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the argmax operation is performed on a large array of floating point numbers in machine learning models, then the classification accuracy is maintained, but the processing time increases significantly

Engineering Contradiction:
Improveclassification accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the large array of floating point numbers into smaller blocks that can be processed in parallel using SIMD instructions. This division allows the argmax operation to be performed simultaneously on multiple segments, reducing overall processing time while maintaining the ability to identify the global maximum across the entire array.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the problem from a single-threaded sequential search into a parallel processing framework by utilizing SIMD (Single Instruction Multiple Data) architecture. This dimensional change allows multiple floating point comparisons to occur simultaneously across different data elements, effectively adding a parallel processing dimension to the argmax operation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Adaptability or versatility

If the argmax operation processes a large number of floating point numbers, then the model can handle complex classification tasks, but the power consumption increases

Engineering Contradiction:
Improvemodel capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

By dividing the large array into smaller processable segments that can be handled in parallel by SIMD units, the patent reduces the sequential processing burden. This segmentation allows the system to maintain high model capability while distributing the computational load more efficiently, thereby reducing overall power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the traditional sequential mechanical processing approach with a parallel SIMD processing system. This substitution enables multiple comparisons to occur simultaneously using hardware-level parallelism, reducing the total number of sequential operations and associated power consumption while maintaining the ability to handle complex classification tasks.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Measurement precision

If additional computations are performed to track index values during the argmax operation, then the correct classification can be identified, but the device complexity increases

Engineering Contradiction:
Improveindex tracking accuracyVSAvoidcomputation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges the value comparison and index tracking operations into a unified SIMD processing workflow. By combining these operations, the system eliminates the need for separate tracking mechanisms, reducing computational complexity while ensuring accurate index identification alongside the argmax value.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The SIMD processing structure is designed to automatically track indices as part of its native operation. The parallel comparison units inherently maintain information about which data element produced the maximum value, eliminating the need for additional external tracking computations and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11281470B2Argmax use for machine learning
Publication Date: 2022.03.22 ADVANCED MICRO DEVICES INC
  • US11281470B2 patent drawing
  • US11281470B2 patent drawing
  • US11281470B2 patent drawing

AI summary

A processing device is provided which comprises memory and a processor. The processor is configured to receive an array of floating point numbers each having a plurality of bits used to represent a probability value. For each floating point number, the processor is configured to replace values in a portion of the bits used to represent the probability value with index values to represent an index corresponding to a location of a corresponding floating point number in the memory. The processor is also configured to process the floating point numbers using SIMD instructions to execute one of an argmax operation and an argmin operation.