Ring All-Reduce Partitioning Across Reconfigurable Dataflow Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Optimizing compute graphs for the configurable units of coarse-grained reconfigurable architectures (CGRAs) remains a challenge, particularly in efficiently executing massively parallel computations required for machine learning and artificial intelligence tasks.

Innovation Solution

A method involving multiple interconnected reconfigurable dataflow processors (RDPs) with a ring network is used to shard and distribute tensor slices across RDPs, inserting nodes for partial and total reduction operations, optimizing runtime performance by managing inter-chip latency and parallel processing of large neural network models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tensor data is distributed across multiple RDPs in a ring network, then parallel processing capability and runtime performance are improved, but inter-chip communication latency increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidinter-chip communication latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The compute graph is partitioned into subgraphs that are distributed across multiple RDPs in the ring network. Each RDP processes a specific portion of the computation independently, enabling parallel processing. The ring network topology segments the communication paths to minimize latency by allowing adjacent RDPs to exchange data efficiently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a ring network topology dimension to connect multiple RDPs, transforming a single-chip computation into a distributed multi-chip system. This dimensional expansion allows data to flow through multiple paths and enables parallel processing across spatially distributed units while managing communication latency through optimized routing.

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

2Speed

If compute graphs are partitioned across multiple RDPs, then execution speed for large models is improved, but system complexity increases

Engineering Contradiction:
Improveexecution speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The compute graph is divided into manageable subgraphs that can be independently assigned to different RDPs. This segmentation allows complex models to be processed in smaller units, reducing the complexity burden on any single device while maintaining high execution speed through parallel processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The ring network acts as an intermediary structure that simplifies the coordination between multiple RDPs. It provides standardized communication paths and data flow management, reducing the overall system complexity despite the distributed architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12487965B2All reduce across multiple reconfigurable dataflow processors
Publication Date: 2025.12.02 SAMBANOVA SYSTEMS INC
  • US12487965B2 patent drawing
  • US12487965B2 patent drawing
  • US12487965B2 patent drawing

AI summary

A method for a reconfigurable computing system includes receiving a compute graph for execution on multiple RDPs interconnected with a ring network having R interconnected RDPs. A compute graph with a node specifying a reduction operation for a first and second tensor is detected. The detected compute graph node is partitioned into a compute subgraph corresponding to an RDP of the R interconnected RDPs. A first node is inserted into the compute subgraph that specifies a partial reduction operation for producing a partial reduction result corresponding to a shard of the first tensor and a shard of the second tensor. A second node is inserted for communicating the partial reduction result to an adjacent RDP. A third node is inserted that specifies a reduction operation for producing a total reduction result. A fourth node is inserted for communicating the total reduction result to at least one other RDP.