IP Library Granted Patent US 12,436,915
Granted Patent B2
US 12,436,915 · App. 18/221,685 · Granted Oct 7, 2025

Operating a cost estimation tool for placing and routing an operation unit graph on a reconfigurable processor

Inventors: Yue Fu (Palo Alto, CA); Kin Hing Leung (Cupertino, CA); Likun Hao (Palo Alto, CA); Arvind Krishna Sujeeth (Palo Alto, CA); Sumti Jairath (Palo Alto, CA); Andrew Deng (San Jose, CA); Raghu Prabhakar (San Jose, CA)
Assignee: SambaNova Systems, Inc.
G06F15/7871G06F9/5044G06F13/4063
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,436,915
App. No.
18/221,685
Granted
Oct 7, 2025
Kind
B2
Abstract

A system with a cost estimation tool for estimating a realized bandwidth consumption of a logical edge between a logical producer unit and a logical consumer unit of an operation unit graph during placement and routing of the logical producer unit, the logical consumer unit, and the logical edge onto a reconfigurable processor is presented as well as a method of operating such a cost estimation tool and a non-transitory computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to operate such a cost estimation tool The cost estimation tool may be configured to determine the realized bandwidth consumption of the tentative assignment based on an upper bandwidth limit of the logical edge, an end-to-end bandwidth, a scaling factor of a realized bandwidth, and a congestion estimation of the physical link.

Claims (74)

1. A method of operating a cost estimation tool for estimating a realized bandwidth consumption of a logical edge between a logical producer unit and a logical consumer unit of an operation unit graph during placement and routing of the logical producer unit, the logical consumer unit, and the logical edge onto a reconfigurable processor, comprising:

receiving the operation unit graph comprising the logical producer unit, the logical consumer unit, and the logical edge;

determining an upper output bandwidth limit of the logical producer unit, an upper input bandwidth limit of the logical consumer unit, and an upper bandwidth limit of the logical edge based on the upper output bandwidth limit and the upper input bandwidth limit;

determining a scaling factor of a realized bandwidth;

receiving a tentative assignment of the logical edge, the logical producer unit, and the logical consumer unit to a physical link, a physical producer unit, and a physical consumer unit;

determining an end-to-end bandwidth between the physical producer unit and the physical consumer unit;

determining a congestion estimation of the physical link;

determining the realized bandwidth consumption of the tentative assignment based on the upper bandwidth limit of the logical edge, the end-to-end bandwidth, the scaling factor of the realized bandwidth, and the congestion estimation of the physical link; and

providing the realized bandwidth consumption of the tentative assignment as a cost estimation to a placement and routing tool.

2. The method of claim 1 , wherein the reconfigurable processor comprises arrays of coarse-grained reconfigurable (CGR) units.

3. The method of claim 1 , wherein the logical consumer unit comprises a compute unit or a memory unit.

4. The method of claim 1 , wherein determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit further comprises:

in response to determining that the physical consumer unit is not end-to-end credit-controlled, determining the end-to-end bandwidth to be 1.0.

5. The method of claim 1 , wherein determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit further comprises:

in response to determining that the physical consumer unit is end-to-end credit-controlled and that each credit represents one vector:

determining a number of hops between the physical producer unit and the physical consumer unit, and

determining a maximum Manhattan distance between the physical producer unit and the physical consumer unit and between the physical producer unit and any other placed physical consumer unit.

6. The method of claim 5 , wherein determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit further comprises:

determining a first latency based on multiplying the number of hops with a hop-to-hop latency; and

determining a second latency based on multiplying the maximum Manhattan distance with a predetermined barrier latency.

7. The method of claim 6 , wherein determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit further comprises:

determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit based on dividing a predetermined first-in first-out buffer depth with a sum of the first and second latencies.

8. The method of claim 1 , wherein determining the scaling factor of the realized bandwidth further comprises:

determining a number of active cycles of the logical edge;

determining a number of stage cycles; and

determining the scaling factor of the realized bandwidth based on a division of the number of active cycles by the number of stage cycles.

9. The method of claim 8 , wherein determining the number of active cycles further comprises:

determining all paths that pass through the logical edge;

determining an accumulated active cycle for each one of all the paths that pass through the logical edge; and

determining the number of active cycles as a maximum accumulated active cycle of the accumulated active cycle for each one of all the paths that pass through the logical edge.

10. The method of claim 1 , wherein determining the congestion estimation of the physical link further comprises:

determining all logical edges of the operation unit graph that are assigned to use the physical link.

11. The method of claim 10 , wherein determining the congestion estimation of the physical link further comprises:

determining a sum of realized average bandwidths of all the logical edges that are assigned to use the physical link.

12. A system, comprising:

a cost estimation tool for estimating a realized bandwidth consumption of a logical edge between a logical producer unit and a logical consumer unit of an operation unit graph during placement and routing of the logical producer unit, the logical consumer unit, and the logical edge onto a reconfigurable processor, wherein the cost estimation tool is configured to:

receive the operation unit graph comprising the logical producer unit, the logical consumer unit, and the logical edge;

determine an upper output bandwidth limit of the logical producer unit, an upper input bandwidth limit of the logical consumer unit, and an upper bandwidth limit of the logical edge based on the upper output bandwidth limit and the upper input bandwidth limit;

determine a scaling factor of a realized bandwidth;

receive a tentative assignment of the logical edge, the logical producer unit, and the logical consumer unit to a physical link, a physical producer unit, and a physical consumer unit;

determine an end-to-end bandwidth between the physical producer unit and the physical consumer unit;

determine a congestion estimation of the physical link;

determine the realized bandwidth consumption of the tentative assignment based on the upper bandwidth limit of the logical edge, the end-to-end bandwidth, the scaling factor of the realized bandwidth, and the congestion estimation of the physical link; and

provide the realized bandwidth consumption of the tentative assignment as a cost estimation to a placement and routing tool.

13. The system of claim 12 , wherein, for determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit, the cost estimation tool is further configured to:

in response to determining that the physical consumer unit is end-to-end credit-controlled, determine the end-to-end bandwidth to be 100 percent.

14. The system of claim 12 , wherein, for determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit, the cost estimation tool is further configured to:

in response to determining that the physical consumer unit is end-to-end credit-controlled and that each credit represents one vector:

determine a number of hops between the physical producer unit and the physical consumer unit, and

determine a maximum Manhattan distance between the physical producer unit and the physical consumer unit and between the physical producer unit and any other placed physical consumer unit.

15. The system of claim 14 , wherein, for determining the end-to-end bandwidth between the physical producer unit and the physical consumer unit, the cost estimation tool is further configured to:

determine a first latency based on multiplying the number of hops with a hop-to-hop latency;

determine a second latency based on multiplying the maximum Manhattan distance with a predetermined barrier latency; and

determine the end-to-end bandwidth between the physical producer unit and the physical consumer unit based on dividing a predetermined first-in first-out buffer depth with a sum of the first and second latencies.

16. The system of claim 12 , wherein, for determining the scaling factor of the realized bandwidth, the cost estimation tool is further configured to:

determine a number of active cycles of the logical edge;

determine a number of stage cycles; and

determine the scaling factor of the realized bandwidth based on a division of the number of active cycles by the number of stage cycles.

17. The system of claim 16 , wherein, for determining the number of active cycles, the cost estimation tool is further configured to:

determine all paths that pass through the logical edge;

determine an accumulated active cycle for each one of all the paths that pass through the logical edge; and

determine the number of active cycles as a maximum accumulated active cycle of the accumulated active cycle for each one of all the paths that pass through the logical edge.

18. The system of claim 12 , wherein, for determining the congestion estimation of the physical link, the cost estimation tool is further configured to:

determine all logical edges of the operation unit graph that are assigned to use the physical link; and

determine a sum of realized average bandwidths of all the logical edges that are assigned to use the physical link.

19. A non-transitory computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to operate a cost estimation tool for estimating a realized bandwidth consumption of a logical edge between a logical producer unit and a logical consumer unit of an operation unit graph during placement and routing of the logical producer unit, the logical consumer unit, and the logical edge onto a reconfigurable processor, the instructions comprising:

receiving the operation unit graph comprising the logical producer unit, the logical consumer unit, and the logical edge;

determining an upper output bandwidth limit of the logical producer unit, an upper input bandwidth limit of the logical consumer unit, and an upper bandwidth limit of the logical edge based on the upper output bandwidth limit and the upper input bandwidth limit;

determining a scaling factor of a realized bandwidth;

receiving a tentative assignment of the logical edge, the logical producer unit, and the logical consumer unit to a physical link, a physical producer unit, and a physical consumer unit;

determining an end-to-end bandwidth between the physical producer unit and the physical consumer unit;

determining a congestion estimation of the physical link;

determining the realized bandwidth consumption of the tentative assignment based on the upper bandwidth limit of the logical edge, the end-to-end bandwidth, the scaling factor of the realized bandwidth, and the congestion estimation of the physical link

providing the realized bandwidth consumption of the tentative assignment as a cost estimation to a placement and routing tool.

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 Sep 19, 2023
From: FU, YUE; LEUNG, KIN HING; HAO, LIKUN; SUJEETH, ARVIND KRISHNA; JAIRATH, SUMTI; DENG, ANDREW; PRABHAKAR, RAGHU
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 064945/0749 →
Continuity (2)
Provisional Application 63388915 · Jul 13, 2022
Related Publication 20240020265A1 · Jan 18, 2024
References Cited (37)
US 6594773B1 · Lisitsa et al. · 2003 [cited by applicant]
US 7434191B2 · Vorbach et al. · 2008 [cited by applicant]
US 9280326B1 · Braun et al. · 2016 [cited by applicant]
US 11037050B2 · Vinod · 2021 [cited by examiner]
US 11093223B2 · Rabinovitch · 2021 [cited by applicant]
US 11126574B1 · Prabhakar et al. · 2021 [cited by applicant]
US 11948017B2 · Venkatesh · 2024 [cited by examiner]
US 20040006584A1 · Vandeweerd · 2004 [cited by applicant]
US 20090172351A1 · Vorbach · 2009 [cited by examiner]
US 20110238948A1 · Vorbach et al. · 2011 [cited by applicant]
US 20140064096A1 · Stevens et al. · 2014 [cited by applicant]
US 20170123794A1 · Chen · 2017 [cited by examiner]
US 20200272444A1 · Nilsen · 2020 [cited by applicant]
US 20210208886A1 · Nilsen · 2021 [cited by applicant]
US 20210248115A1 · Jones · 2021 [cited by examiner]
US 20220300450A1 · Pope et al. · 2022 [cited by applicant]
US 20230051544A1 · Vanesko · 2023 [cited by examiner]
US 20230153142A1 · Shabah et al. · 2023 [cited by applicant]
US 20230315608A1 · Kim · 2023 [cited by applicant]
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]
U.S. Appl. No. 16/239,252 Final Office Action, dated Jan. 8, 2020, 13 pages. [cited by applicant]
U.S. Appl. No. 16/239,252—Notice of Allowance dated Feb. 12, 2020, 10 pages. [cited by applicant]
U.S. Appl. No. 16/239,252—Office Action dated Aug. 7, 2019, 8 pages. [cited by applicant]
U.S. Appl. No. 16/239,252—Response to Final Office Action dated Jan. 8, 2020, filed Jan. 24, 2020, 14 pages. [cited by applicant]
U.S. Appl. No. 16/239,252—Response to Office Action dated Aug. 7, 2019, filed Sep. 26, 2019, 6 pages. [cited by applicant]
U.S. Appl. No. 17/216,651 Notice of Allowance, dated Aug. 5, 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 17/216,651 Response to First Office Action, dated Jul. 13, 2021, filed Jul. 23, 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 17/216,652 Non-Final Rejection, dated Aug. 2, 2021, 24 pages. [cited by applicant]
U.S. Appl. No. 16/239,252—Notice of Allowance dated May 14, 2020, 15 pages. [cited by applicant]
U.S. Appl. No. 16/922,975—Final Office Action, dated Mar. 9, 2023, 23 pages. [cited by applicant]
U.S. Appl. No. 16/922,975—Non-Final Office Action, dated Oct. 27, 2022, 26 pages. [cited by applicant]
U.S. Appl. No. 16/922,975—Notice of Allowance, dated Jul. 3, 2023, 11 pages. [cited by applicant]
U.S. Appl. No. 17/216,651—Non-Final Rejection, dated Jul. 13, 2021, 12 pages. [cited by applicant]