Executing a compute graph on multiple reconfigurable dataflow processors
AssigneeSambaNova Systems, Inc.
InventorMingran WANG
Life of this patent
Estimating the term…
Abstract
A method for a reconfigurable computing system includes receiving a compute graph for execution on multiple RDPs interconnected with a ring network having R interconnected RDPs. A compute graph with a node specifying a reduction operation for a first and second tensor is detected. Executing the compute graph on the multiple RDPs.
Claims19
A system with 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 multiple reconfigurable dataflow processors (RDPs), the multiple RDPs being interconnected with a ring network, the ring network having R interconnected RDPs;
- detecting a compute graph having a node that specifies a reduction operation for a first and second tensor;
- partitioning the compute graph node into a compute subgraph corresponding to an RDP of the R interconnected RDPs;
- inserting a first node into the compute subgraph that specifies a partial reduction operation for producing a partial reduction result corresponding to a shard of the first tensor and a shard of the second tensor;
- inserting a second node into the compute subgraph for communicating the partial reduction result to an adjacent RDP on the ring network;
- inserting a third node into the compute subgraph that specifies a reduction operation for producing a total reduction result for the first and second tensor;
- and
- inserting a fourth node into the compute subgraph for communicating the total reduction result to at least one other RDP on the ring network.
A method in a reconfigurable computing system, the method comprising:
- receiving a compute graph for execution on multiple reconfigurable dataflow processors (RDPs), the multiple RDPs being interconnected with a ring network, the ring network having R interconnected RDPs;
- detecting a compute graph having a node that specifies a reduction operation for a first and second tensor;
- partitioning the compute graph node into a compute subgraph corresponding to an RDP of the R interconnected RDPs;
- inserting a first node into the compute subgraph that specifies a partial reduction operation for producing a partial reduction result corresponding to a shard of the first tensor and a shard of the second tensor;
- inserting a second node into the compute subgraph for communicating the partial reduction result to an adjacent RDP on the ring network;
- inserting a third node into the compute subgraph that specifies a reduction operation for producing a total reduction result for the first and second tensor;
- and
- inserting a fourth node into the compute subgraph for communicating the total reduction result to at least one other RDP on the ring network.
A computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the 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 multiple reconfigurable dataflow processors (RDPs), the multiple RDPs being interconnected with a ring network, the ring network having R interconnected RDPs;
- detecting a compute graph having a node that specifies a reduction operation for a first and second tensor;
- partitioning the compute graph node into a compute subgraph corresponding to an RDP of the R interconnected RDPs;
- inserting a first node into the compute subgraph that specifies a partial reduction operation for producing a partial reduction result corresponding to a shard of the first tensor and a shard of the second tensor;
- inserting a second node into the compute subgraph for communicating the partial reduction result to an adjacent RDP on the ring network;
- inserting a third node into the compute subgraph that specifies a reduction operation for producing a total reduction result for the first and second tensor;
- and
- inserting a fourth node into the compute subgraph for communicating the total reduction result to at least one other RDP on the ring network.
Dependencies are inferred from the claim text.