SIMD Walk Instructions for Graph Streaming Processor Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graph streaming processors (GSPs) face performance issues due to their inability to handle certain SIMD widths, leading to slowed down operations and overall software performance when hardware is not capable of processing a particular SIMD width.

Innovation Solution

The implementation of a computing system that schedules and executes SIMD threads, utilizing walk instruction blocks with GSOMAC instructions to iterate through subsets of channels, dynamically modifying SIMD width through walk/endwalk mechanisms to optimize hardware iteration and process instructions efficiently across different hardware capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the GSP hardware is configured for a specific SIMD width, then processing efficiency is improved for that width, but performance deteriorates when handling other SIMD widths

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidSIMD width compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts the SIMD width at runtime based on the hardware's native capabilities. The walk instruction mechanism allows the software to iteratively process data in chunks that match the hardware's optimal SIMD width, transforming a static hardware limitation into a dynamic adaptation solution.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the SIMD processing into multiple iterations using walk instructions. Instead of requiring the hardware to support all SIMD widths simultaneously, the software divides the processing task into smaller segments that match the hardware's native width, processing data in steps rather than all at once.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the SIMD thread size exceeds the maximum native SIMD instruction width, then more data can be processed in parallel, but the hardware cannot execute the instructions efficiently

Engineering Contradiction:
Improvedata processing capacityVSAvoidexecution speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system uses periodic action by implementing iterative processing with walk instructions. The SIMD thread processes data in periodic cycles, where each cycle handles a subset of channels matching the native SIMD width. The walk instruction repeats this process across multiple iterations to cover all channels, maintaining execution speed while achieving high data processing capacity.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent segments the large SIMD thread into smaller subsets that match the native instruction width. Each walk iteration processes a segment of channels, and the results are accumulated across iterations. This segmentation allows the hardware to execute instructions efficiently at its native width while the software achieves processing of larger data quantities through multiple segments.

Inventive Principle:
Principle #1Segmentation

3Speed

If the SIMD thread size is reduced to match native SIMD width, then execution speed improves, but the parallel processing capacity decreases

Engineering Contradiction:
Improveexecution speedVSAvoidparallel processing capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system maintains continuity of useful action by chaining multiple SIMD iterations together using walk instructions. Instead of idle time between processing batches, the walk mechanism seamlessly transitions from one iteration to the next, keeping the hardware continuously occupied. This continuous action ensures that execution speed is maintained while the cumulative effect of multiple iterations achieves high parallel processing capacity.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent uses preliminary action by pre-configuring the walk instruction with the total number of channels to be processed. The system prepares the iteration count and channel distribution in advance, allowing the hardware to execute at optimal speed without runtime decision-making overhead. This preliminary setup enables the software to achieve high parallel capacity through pre-planned multiple iterations while maintaining fast execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11593114B1Iterating group sum of multiple accumulate operations
Publication Date: 2023.02.28 BLAIZE INC
  • US11593114B1 patent drawing
  • US11593114B1 patent drawing
  • US11593114B1 patent drawing

AI summary

Methods, systems and apparatuses for performing walk operations of single instruction, multiple data (SIMD) instructions are disclosed. One method includes initiating, by a scheduler, a SIMD thread, where the scheduler is operative to schedule the SIMD thread. The method further includes fetching a plurality of instructions for the SIMD thread. The method further includes determining, by a thread arbiter, at least one instruction that is a walk instruction, where the walk instruction iterates a block of instructions for a subset of channels of the SIMD thread, where the walk instruction includes a walk size, and where the walk size is a number of channels in the subset of channels of the SIMD thread that are processed in a walk iteration in association with the walk instruction. The method further includes executing the walk instruction based on the walk size.