IP Library Granted Patent US 12,475,066
Granted Patent B2
US 12,475,066 · App. 18/623,180 · Granted Nov 18, 2025

Method and system for integrating buffer views into buffer access operations in reconfigurable computing environments

Inventors: Yaqi Zhang (Foster City, CA); Matthew Feldman (Palo Alto, CA)
Assignee: SambaNova Systems, Inc.
G06F13/1673
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,475,066
App. No.
18/623,180
Granted
Nov 18, 2025
Kind
B2
Abstract

A method and system for integrating buffer views into buffer access operations in reconfigurable computing environments. The method includes detecting, in a buffer allocation statement comprising a tensor indexing expression, a buffer view indicator and one or more buffer view parameters. The buffer view parameters are lowered into the tensor indexing expression, according to the buffer view indicator, to produce a modified tensor indexing expression. The buffer view indicator is removed from a buffer allocation statement to produce a modified buffer allocation statement and allocating a buffer according to the modified buffer allocation statement. The system implements the described method and further includes a non-transitory computer readable medium for executing the disclosed method.

Claims (38)

1 . A buffer access configuration method for integrating buffer views into buffer access operations in a coarse-grained reconfigurable computing system, the method comprising:

detecting, in an instruction stream for a reconfigurable dataflow unit (RDU), a buffer allocation statement comprising a tensor indexing expression, a buffer view indicator and one or more buffer view parameters;

lowering the buffer view parameters into the tensor indexing expression according to the buffer view indicator to produce a modified tensor indexing expression;

removing the buffer view indicator from the buffer allocation statement to produce a modified buffer allocation statement comprising the modified tensor indexing expression;

allocating a buffer according to the modified buffer allocation statement;

generating configuration information for the allocated buffer; and

communicating the configuration information to the allocated buffer.

2 . The method of claim 1 , further comprising configuring the RDU according to the modified buffer allocation statement.

3 . The method of claim 2 , wherein configuring the RDU comprises configuring an address generator to execute the modified tensor indexing expression.

4 . The method of claim 2 , further comprising processing data with the RDU according to the modified buffer allocation statement.

5 . The method of claim 1 , wherein the buffer view indicator is selected from the group consisting of a slice view indicator, a repeat view indicator, a temporal tile view indicator, a reshape view indicator, a permute view indicator, a layout view indicator and a roll view indicator.

6 . The method of claim 1 , wherein the buffer view indicator is stackable with other buffer view indicators.

7 . A buffer access configuration system for integrating buffer views into buffer access operations in a coarse-grained reconfigurable computing system the system comprising:

an allocation statement detector for detecting, in an instruction stream for a reconfigurable dataflow unit (RDU), a buffer allocation statement comprising a tensor indexing expression, a buffer view indicator and one or more buffer view parameters;

an allocation statement modifier configured to lower the buffer view parameters into the tensor indexing expression according to the buffer view indicator to produce a modified tensor indexing expression;

the allocation statement modifier further configured to remove the buffer view indicator from the buffer allocation statement to produce a modified buffer allocation statement comprising the modified tensor indexing expression;

a buffer allocation module configured to allocate a buffer according to the modified buffer allocation statement;

a configuration module for generating configuration information for the allocated buffers; and

an RDU control module for communicating configuration information to the allocated buffers.

8 . The method of claim 7 , wherein the buffer allocation statement specifies a buffer read pattern or a buffer write pattern.

9 . The system of claim 8 , further comprising one or more RDUs for processing data according to the modified buffer allocation statement.

10 . The system of claim 9 , further comprising a configuration module for configuring the RDUs according to the modified buffer allocation statement.

11 . The system of claim 9 , wherein configuring the RDUs comprises configuring an address generator to execute the modified tensor indexing expression.

12 . The system of claim 8 , wherein the buffer view indicator is selected from the group consisting of a slice view indicator, a repeat view indicator, a temporal tile view indicator, a reshape view indicator, a permute view indicator, a layout view indicator and a roll view indicator.

13 . The system of claim 8 , wherein the buffer view indicator is stackable with other buffer view indicators.

14 . The system of claim 8 , wherein the buffer allocation statement specifies a buffer read pattern or a buffer write pattern.

15 . A non-transitory computer readable medium having instructions encoded thereon to execute a buffer access configuration method for integrating buffer views into buffer access operations in a coarse-grained reconfigurable computing system, the method comprising:

detecting, in an instruction stream for a reconfigurable dataflow unit (RDU), a buffer allocation statement comprising a tensor indexing expression, a buffer view indicator and one or more buffer view parameters;

lowering the buffer view parameters into the tensor indexing expression according to the buffer view indicator to produce a modified tensor indexing expression;

removing the buffer view indicator from the buffer allocation statement to produce a modified buffer allocation statement comprising the modified tensor indexing expression;

allocating a buffer according to the modified buffer allocation statement;

generating configuration information for the allocated buffer; and

communicating the configuration information to the allocated buffer.

16 . The non-transitory computer readable medium of claim 15 , wherein the method further comprises configuring the RDU according to the modified buffer allocation statement.

17 . The non-transitory computer readable medium of claim 16 , wherein configuring the RDU comprises configuring an address generator to execute the modified tensor indexing expression.

18 . The non-transitory computer readable medium of claim 15 , wherein the method further comprises processing data with the RDU according to the modified buffer allocation statement.

19 . The non-transitory computer readable medium of claim 15 , wherein the buffer view indicator is selected from the group consisting of a slice view indicator, a repeat view indicator, a temporal tile view indicator, a reshape view indicator, a permute view indicator, a layout view indicator and a roll view indicator.

20 . The non-transitory computer readable medium of claim 15 , wherein the buffer view indicator is stackable with other buffer view indicators.

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 Apr 1, 2024
From: ZHANG, YAQI; FELDMAN, MATTHEW
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 066962/0844 →
Continuity (3)
Continuation 17965688 · Oct 13, 2022
Provisional Application 63336910 · Apr 29, 2022
Related Publication 20240241844A1 · Jul 18, 2024
References Cited (15)
US 11204889B1 · Prabhakar et al. · 2021 [cited by applicant]
US 11366783B1 · Prabhakar et al. · 2022 [cited by applicant]
US 11467827B1 · Zuckerman · 2022 [cited by examiner]
US 11645057B2 · Koeplinger et al. · 2023 [cited by applicant]
US 11709664B2 · Chen et al. · 2023 [cited by applicant]
US 11714780B2 · Koeplinger et al. · 2023 [cited by applicant]
US 11954053B2 · Zhang · 2024 [cited by examiner]
US 20100128998A1 · Wegener · 2010 [cited by examiner]
US 20170242590A1 · Gokhale · 2017 [cited by examiner]
US 20230169316A1 · Mills · 2023 [cited by examiner]
US 20230300374A1 · Kiyama · 2023 [cited by examiner]
US 20230333999A1 · Omer · 2023 [cited by examiner]
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]
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]