Multicore Sparsity Balancing for Uniform Parallel Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine intelligence systems, particularly artificial neural networks (ANNs), face significant computational and energy inefficiencies due to large data structures and extensive computations, necessitating improved methods to reduce resource usage while maintaining performance.

Innovation Solution

Implementing sparsity uniformity enforcement across computational nodes by balancing the sparsity distribution of operand data among processing cores, using techniques such as altering and analyzing data to ensure even workload distribution, thereby optimizing parallel execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If sparsity is increased in operand data to reduce computation resources, then energy consumption and computation time are reduced, but parallelization performance deteriorates due to uneven workload distribution among computational nodes

Engineering Contradiction:
Improveenergy consumptionVSAvoidparallelization performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent applies local quality by distributing sparsity non-uniformly across different computational nodes based on their specific workload characteristics. Each computational node receives operand data with sparsity patterns tailored to its local computation requirements, allowing some nodes to have higher sparsity while others maintain lower sparsity, thereby optimizing both energy consumption and parallelization performance simultaneously

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the operand data into different portions assigned to different computational nodes, with each segment having optimized sparsity characteristics. This segmentation allows the system to achieve overall sparsity benefits while maintaining balanced workload distribution across nodes, resolving the contradiction between energy efficiency and parallelization performance

Inventive Principle:
Principle #1Segmentation

2Device complexity

If sparsity is enforced uniformly across all computational nodes, then computation resources are reduced, but workload balance deteriorates leading to inefficient parallel execution

Engineering Contradiction:
Improvecomputation resourcesVSAvoidworkload balance
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent implements dynamic sparsity enforcement where the sparsity level applied to each computational node's operand data is adjusted based on real-time or pre-computed workload characteristics. This dynamic approach allows the system to enforce sparsity adaptively rather than uniformly, maintaining computation resource efficiency while preserving workload balance across different nodes

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the sparsity parameter selectively for different computational nodes based on their specific computation patterns and workload characteristics. By modifying the sparsity parameter locally rather than globally, the system achieves computation resource reduction without compromising workload balance, allowing each node to operate at optimal efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4177731B1Sparsity uniformity enforcement for multicore processor
Publication Date: 2026.01.21 TENSTORRENT AI ULC
  • EP4177731B1 patent drawingFigure 1
  • EP4177731B1 patent drawingFigure 2
  • EP4177731B1 patent drawingFigure 3

AI summary

Methods and systems relating to the field of parallel computing are disclosed herein. The methods and systems disclosed include approaches for sparsity uniformity enforcement for a set of computational nodes which are used to execute a complex computation. A disclosed method includes determining a sparsity distribution in a set of operand data, and generating, using a compiler, a set of instructions for executing, using the set of operand data and a set of processing cores, a complex computation. Alternatively, the method includes altering the operand data. The method also includes distributing the set of operand data to the set of processing cores for use in executing the complex computation in accordance with the set of instructions. Either the altering is conducted to, or the compiler is programmed to, balance the sparsity distribution among the set of processing cores.