US 11,983,141 B2
System for executing an application on heterogeneous reconfigurable processors
Greg Dykema, Palo Alto, CA (US); Maran Wilson, Palo Alto, CA (US); Guoyao Feng, Palo Alto, CA (US); Kuan Zhou, Palo Alto, CA (US); Tianyu Sun, Palo Alto, CA (US); Taylor Lee, Palo Alto, CA (US); Kin Hing Leung, Cupertino, CA (US); Arnav Goel, San Jose, CA (US); Conrad Turlik, Menlo Park, CA (US); and Milad Sharif, Palo Alto, CA (US)
Assigned to SambaNova Systems, Inc., Palo Alto, CA (US)
Filed by SambaNova Systems, Inc., Palo Alto, CA (US)
Filed on Sep. 9, 2022, as Appl. No. 17/941,986.
Claims priority of provisional application 63/303,901, filed on Jan. 27, 2022.
Claims priority of provisional application 63/303,913, filed on Jan. 27, 2022.
Prior Publication US 2023/0237012 A1, Jul. 27, 2023
Int. Cl. G06F 15/80 (2006.01); G06F 8/41 (2018.01); G06F 15/78 (2006.01)
CPC G06F 15/8038 (2013.01) [G06F 8/443 (2013.01); G06F 8/447 (2013.01); G06F 8/45 (2013.01); G06F 15/7867 (2013.01); G06F 15/80 (2013.01)] 28 Claims
OG exemplary drawing
 
1. A system for executing an application on a pool of reconfigurable processors that comprises first and second pluralities of reconfigurable processors, comprising:
the pool of reconfigurable processors, wherein first reconfigurable processors in the first plurality of reconfigurable processors have a first architecture, and wherein second reconfigurable processors in the second plurality of reconfigurable processors have a second architecture that is different than the first architecture; and
a host system that is operatively coupled to the first and second reconfigurable processors, and comprises:
an archive of configuration files that comprises a first configuration file for executing at least a first portion of the application on the first reconfigurable processors and a second configuration file for executing at least a second portion of the application on the second reconfigurable processors,
a runtime processor that is operatively coupled to the first and second reconfigurable processors and that allocates a subset of reconfigurable processors in the pool of reconfigurable processors for executing the application,
an auto-discovery module that is configured to perform discovery of whether the subset of reconfigurable processors includes at least one of the first reconfigurable processors and whether the subset of reconfigurable processors includes at least one of the second reconfigurable processors, and wherein the runtime processor starts execution of the first and second configuration files in dependence upon the discovery of the auto-discovery module.