US 12,267,256 B1
Dynamic destination id in an array level network of a reconfigurable dataflow processor
Ram Sivaramakrishnan, San Jose, CA (US); Mark Luttrell, Cedar Park, TX (US); Sumti Jairath, Santa Clara, CA (US); Raghu Prabhakar, San Jose, CA (US); and Gregory Frederick Grohoski, Bee Cave, TX (US)
Assigned to SambaNova Systems, Inc., Palo Alto, CA (US)
Filed by SambaNova Systems, Inc., Palo Alto, CA (US)
Filed on Aug. 23, 2022, as Appl. No. 17/894,134.
Claims priority of provisional application 63/236,218, filed on Aug. 23, 2021.
Int. Cl. H04L 49/15 (2022.01)
CPC H04L 49/15 (2013.01) 18 Claims
OG exemplary drawing
 
1. A reconfigurable dataflow processor comprising:
an array of configurable units; and
a plurality of switches configured to form a mesh network coupled to configurable units of the array of configurable units, a switch of the plurality of switches including, a flow table, an input port having a data section, a routing bit, and a destination field, and two or more output ports;
a configurable unit of the array of configurable units comprising:
a data port coupled to the input port of the switch, the data port including a data section, a routing bit, and a destination field;
a table having three or more entries, an output of the table coupled to the destination field of the data port; and
a dynamic destination ID field, coupled to an address input of the table and to an arithmetic logic unit (ALU) of the configurable unit;
wherein the switch is configured to:
receive first data, a first routing value, and first destination information through the data section, the routing bit, and the destination field, respectively, of the input port from the configurable unit, wherein the first destination information includes a row number and a column number for a destination of the first data;
route the first data to a first output port of the two or more output ports selected based on the first destination information in response to receiving the first routing value associated with the first data; and
receive second data, a second routing value that is different than the first routing value, and second destination information, retrieved using the dynamic destination ID field from the table of the configurable unit, through the data section, the routing bit, and the destination field, respectively, of the input port from the configurable unit; and
route the second data to a second output port of the two or more output ports selected based on information retrieved from the flow table using the second destination information in response to receiving the second routing value associated with the second data.