US 12,299,424 B2
Bandwidth-aware computational graph mapping
Gao Deng, Palo Alto, CA (US); Weihang Fan, Mountain View, CA (US); Fei Wang, Palo Alto, CA (US); and Yun Du, Palo Alto, CA (US)
Assigned to SambaNova Systems, Inc., Palo Alto, CA (US)
Filed by SambaNova Systems, Inc., Palo Alto, CA (US)
Filed on Mar. 15, 2023, as Appl. No. 18/121,766.
Claims priority of provisional application 63/332,198, filed on Apr. 18, 2022.
Claims priority of provisional application 63/321,026, filed on Mar. 17, 2022.
Prior Publication US 2023/0297349 A1, Sep. 21, 2023
Int. Cl. G06F 8/41 (2018.01)
CPC G06F 8/433 (2013.01) 9 Claims
OG exemplary drawing
 
1. A computer-implemented method of transforming a high-level program into configuration data executable by a coarse-grained reconfigurable (CGR) processor including one or more arrays of CGR units, comprising:
sectioning a dataflow graph of the high-level program into a plurality of sections to be mapped to the one or more arrays of CGR units of the CGR processor;
extracting performance information for each of the plurality of sections;
assigning a section of the plurality of sections that includes at least two computations dependent on a first data element to one or more CGR units of the CGR processor, wherein the first data element is loaded from a memory;
scheduling an additional load of the first data element from the memory based at least in part on the performance information for the section indicating available memory bandwidth for the section;
eliminating from the section, a buffer between a load of the first data element from the memory and one of the two computations dependent on the first data element;
generating the configuration data for the CGR processor including placed positions, data routing, and communication channels, wherein the configuration data, when loaded onto an instance of the one or more arrays of CGR units of the CGR processor, causes the one or more arrays of CGR units to implement at least the section of the dataflow graph; and
storing the configuration data in a non-transitory computer-readable storage medium.