IP Library Granted Patent US 12,632,269
Granted Patent B2
US 12,632,269 · App. 18/202,625 · Granted May 19, 2026

Forward-style gradient GeMMs

Inventors: Mingran Wang (San Jose, CA); Leon Zhang (Palo Alto, CA)
Assignee: SambaNova Systems, Inc.
G06F9/4494G06F7/5443G06F8/4441G06F17/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,632,269
App. No.
18/202,625
Granted
May 19, 2026
Kind
B2
Abstract

A method for improving runtime performance and alleviating place and route issues in a reconfigurable computing system includes receiving a compute graph for execution on a reconfigurable dataflow processor. The compute graph includes a node specifying a template-based operation on a first and second tensor having a shared batch dimension B. The node may be split into B nodes. Each of the template-based operations on the pair of tensors may be replace with a GeMM operation on the first reduced rank tensor slice and a tile. B nodes that specify the GeMM operation may be appended with at least one first addition node that accepts input from the B nodes to produce a first modified compute graph. The first modified compute graph may be executed. The method describes a significant improvement to overall compute utilization across gradient-sections. Spatial tiling of tensors facilitates gradient calculation without the use of accumulators.

Claims (35)

1 . A system for reducing latency and increasing throughput in reconfigurable dataflow processors, the system comprising:

a host computer comprising a graph optimization module configured to conduct a method comprising:

receiving a compute graph for execution on a reconfigurable dataflow processor (RDP), the compute graph comprising a node specifying a template-based gradient operation on a first tensor and a second tensor, the first and second tensors having a shared batch dimension of length B;

splitting the node into B nodes that each specify the template-based operation the first and second tensors;

replacing each of the template-based operations on a pair of tensors with a general matrix multiplication (GeMM) operation on a first reduced rank tensor slice and a tile to produce B nodes that specify the GeMM operation;

appending the B nodes that specify the GeMM operation with at least one first addition (ADDN) node that accepts input from the B nodes that specify the GeMM operation to produce a first modified compute graph; and

a reconfigurable dataflow processor (RDP) configured to execute the first modified compute graph.

2 . The system of claim 1 , further comprising slicing the first and second tensors on the shared batch dimension of length B to produce B first tensor slices and B second tensor slices, each of the first and second tensors of the B first tensor slices and B second tensor slices having a batch dimension of length 1.

3 . The system of claim 2 , further comprising reshaping each of the first and second tensors of the B first tensor slices and B second tensor slices to produce B reduced rank first tensor slices and B reduced rank second tensor slices, a reduced rank first tensor slice of the B reduced rank first tensor slices corresponding to the reduced rank first tensor slice in the GeMM operations.

4 . The system of claim 3 , further comprising tiling each reduced rank second tensor slice of the B reduced rank second tensor slices to produce B tile sets, each tile set of the B tile sets having indexed tile elements.

5 . The system of claim 4 , wherein each tile of the B tile sets has an equal block size.

6 . The system of claim 4 , wherein the GeMM operation is performed on a pair of tiles in the B tile sets, wherein the pair of tiles have index-paired tile elements.

7 . The system of claim 1 , wherein one or more of the B nodes that specify the GeMM operation on the first reduced rank tensor and the tile comprise a section.

8 . The system of claim 7 , wherein each output sub-tensor from each node of the B nodes of a first section are locally summed by at least one first ADDN node to generate a first partial sum, each output sub-tensor from each node of the B nodes of a second section are locally summed (by at least one ADDN node) to generate a second partial sum, and the first partial sum and the second partial sum are locally summed by a second addition (ADDN) node to generate a first intermediate sum.

9 . The system of claim 8 , wherein the first partial sum is read directly from Dynamic Random-Access Memory (DRAM) and the second partial sum is read from a pattern memory unit (PMU).

10 . A method for reducing latency and increasing throughput in a reconfigurable computing system, the method comprising:

receiving a compute graph for execution on a reconfigurable dataflow processor (RDP), the compute graph comprising a node specifying a template-based gradient operation on a first tensor and a second tensor, the first and second tensors having a shared batch dimension of length B;

splitting the node into B nodes that each specify the template-based operation the first and second tensors;

replacing each of the template-based operations on a pair of tensors with a general matrix multiplication (GeMM) operation on a first reduced rank tensor slice and a tile to produce B nodes that specify the GeMM operation;

appending the B nodes that specify the GeMM operation with at least one first addition (ADDN) node that accepts input from the B nodes that specify the GeMM operation to produce a first modified compute graph; and

executing the first modified compute graph on the RDP.

11 . The method of claim 10 , further comprising slicing the first and second tensors on the shared batch dimension of length B to produce B first tensor slices and B second tensor slices, each of the first and second tensors of the B first tensor slices and B second tensor slices having a batch dimension of length 1.

12 . The method of claim 11 , further comprising reshaping each of the first and second tensors of the B first tensor slices and B second tensor slices to produce B reduced rank first tensor slices and B reduced rank second tensor slices, a reduced rank first tensor slice of the B reduced rank first tensor slices corresponding to the reduced rank first tensor slice in the GeMM operations.

13 . The method of claim 12 , further comprising tiling each reduced rank second tensor slice of the B reduced rank second tensor slices to produce B tile sets, each tile set of the B tile sets having indexed tile elements.

14 . The method of claim 13 , wherein each tile of the B tile sets has an equal block size.

15 . The method of claim 13 , wherein the GeMM operation is performed on a pair of tiles in the B tile sets, wherein the pair of tiles have index-paired tile elements.

16 . The method of claim 10 , wherein one or more of the B nodes that specify the GeMM operation on the first reduced rank tensor and the tile comprise a section.

17 . The method of claim 16 , wherein each output sub-tensor from each node of the B nodes of a first section are locally summed by at least one first ADDN node to generate a first partial sum, each output sub-tensor from each node of the B nodes of a second section are locally summed by at least one first ADDN node to generate a second partial sum, and the first partial sum and the second partial sum are locally summed by a second addition (ADDN) node to generate a first intermediate sum.

18 . The method of claim 17 , wherein the first partial sum is read directly from Dynamic Random-Access Memory (DRAM) and the second partial sum is read from a pattern memory unit (PMU).

19 . A non-transitory computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, wherein the non-transitory computer readable storage medium is not a transitory signal per se, wherein the program instructions are executable by a processor to cause the processor to conduct a method comprising:

receiving a compute graph for execution on a reconfigurable dataflow processor (RDP), the compute graph comprising a node specifying a template-based gradient operation on a first tensor and a second tensor, the first and second tensors having a shared batch dimension of length B;

splitting the node into B nodes that each specify the template-based operation the first and second tensors;

replacing each of the template-based operations on a pair of tensors with a general matrix multiplication (GeMM) operation on a first reduced rank tensor slice and a tile to produce B nodes that specify the GeMM operation;

appending the B nodes that specify the GeMM operation with at least one first addition (ADDN) node that accepts input from the B nodes that specify the GeMM operation to produce a first modified compute graph; and

executing the first modified compute graph on the RDP.

Assignments (2)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 18, 2025
From: SAMBANOVA SYSTEMS, INC.
To: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 070892/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2023
From: WANG, MINGRAN; ZHANG, LEON
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 063775/0753 →
Continuity (2)
Provisional Application 63346231 · May 26, 2022
Related Publication 20230385077A1 · Nov 30, 2023
References Cited (8)
US 12380060B2 · Du · 2025 [cited by examiner]
US 20210248115A1 · Jones · 2021 [cited by examiner]
WO 2010142987A1 · 2010 [cited by applicant]
Koeplinger et al., Spatial: A Language and Compiler for Application Accelerators, PLDI '18, Jun. 18-22, 2018, Association for Computng Machinery, 16 pages. [cited by applicant]
M. Emani et al., Accelerating Scientific Applications With Sambanova Reconfigurable Dataflow Architecture, in Computing in Science & Engineering, vol. 23, No. 2, pp. 114-119, Mar. 26, 2021, [doi: 10.1109/MCSE.2021.30572… [cited by applicant]
Podobas et al., A Survey on Coarse-Grained Reconfigurable Architectures From a Performance Perspective, IEEEAccess, vol. 2020.3012084, Jul. 27, 2020, 25 pages. [cited by applicant]
Prabhakar et al., Plasticine: A Reconfigurable Architecture for Parallel Patterns, ISCA, Jun. 24-28, 2017, 14 pages. [cited by applicant]
Zhang et al., “SARA: Scaling a Reconfigurable Dataflow Accelerator,” 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA), 2021, pp. 1041-1054. [cited by applicant]