USRE43393EExpiredUtility

Method and system for creating and programming an adaptive computing engine

52
Assignee: MASTER PAUL LPriority: May 13, 2002Filed: Jul 16, 2009Granted: May 15, 2012
Est. expiryMay 13, 2022(expired)· nominal 20-yr term from priority
Inventors:Paul L. Master
G06F 30/331G06F 15/7867
52
PatentIndex Score
0
Cited by
6
References
10
Claims

Abstract

A system for creating an adaptive computing engine (ACE) includes algorithmic elements adaptable for use in the ACE and configured to provide algorithmic operations, and provides mapping of the algorithmic operations to heterogeneous nodes. The mapping is for initially configuring the heterogeneous nodes to provide appropriate hardware circuit functions that perform algorithmic operations. A reconfigurable interconnection network interconnects the heterogeneous nodes. The mapping includes selecting a combination of ACE building blocks from the ACE building block types for the appropriate hardware circuit functions. The system and corresponding method also includes utilizing the algorithmic operations for optimally configuring the heterogeneous nodes to provide the appropriate hardware circuit function. The utilizing includes the simulating of the performance of the ACE with the combination of ACE building blocks and altering the combination until predetermined performance standards that determine the efficiency of the ACE are met while simulating performance of the ACE.

Claims

exact text as granted — not AI-modified
1. A system for creating an adaptive computing engine (ACE), the system comprising:
 algorithmic elements adaptable for use in the ACE and configured to provide algorithmic operations; 
 means for mapping the algorithmic operations to heterogeneous nodes such that the heterogeneous nodes are initially configured to provide appropriate hardware circuit functions that perform the algorithmic operations, the heterogeneous nodes being coupled with each other by a reconfigurable interconnection network, the mapping by the mapping means including selecting a combination of ACE building blocks from ACE building block types for the appropriate hardware circuit functions; and 
 means for utilizing the algorithmic operations such that the heterogeneous nodes are optimally configured to provide the appropriate hardware circuit functions, the utilizing by the utilizing means including simulating performance of the ACE with the combination of ACE building blocks and altering the combination of ACE building blocks until predetermined performance standards that determine an efficiency of the ACE are met while simulating performance of the ACE. 
 
     
     
       2. The system of  claim 1  wherein the ACE building blocks types include linear computation block types, finite state machine block types, field programmable gate array block types, bit processor block types, and memory block types. 
     
     
       3. The system of  claim 1  wherein the mapping means further includes a profiler that comprises:
 means for providing code to simulate a hardware design that performs the algorithmic operations; and 
 means for identifying one or more hot spots in the code, wherein the identified hot spots are those areas of code requiring high power and/or high data movement and the mapping means selects the combination of ACE building blocks based on the identified hot spots. 
 
     
     
       4. The system of  claim 3  wherein each hot spot comprises a computational hot spot or a data movement hot spot. 
     
     
       5. The system of  claim 4  wherein the mapping means uses each data movement hot spot to restrict high data movements to a minimum physical distance in the ACE. 
     
     
       6. A method for creating an adaptive computing engine (ACE), the method comprising:
 providing algorithmic elements adaptable for use in the ACE and configured to provide algorithmic operations; 
 mapping, using a processor, the algorithmic operations to heterogeneous nodes such that the heterogeneous nodes are initially configured to provide appropriate hardware circuit functions that perform the algorithmic operations, the heterogeneous nodes being coupled with each other by a reconfigurable interconnection network, the mapping including selecting a combination of ACE building blocks from ACE building block types for the appropriate hardware circuit functions; and 
 utilizing the algorithmic operations such that the heterogeneous nodes are optimally configured to provide the appropriate hardware circuit functions, the utilizing comprising simulating performance of the ACE with the combination of ACE building blocks and altering the combination of ACE building blocks until predetermined performance standards that determine an efficiency of the ACE are met while simulating performance of the ACE. 
 
     
     
       7. The method of  claim 6  wherein the ACE building blocks types include linear computation block types, finite state machine block types, field programmable gate array block types, bit processor block types, and memory block types. 
     
     
       8. The method of  claim 6  wherein the mapping further includes profiling using a profiler, wherein the profiling comprises:
 providing code to simulate a hardware design that performs the algorithmic operations; and 
 identifying one or more hot spots in the code, wherein the identified hot spots are those areas of code requiring high power and/or high data movement and the mapping selects the combination of ACE building blocks based on the identified hot spots. 
 
     
     
       9. The method of  claim 8  wherein each hot spot comprises a computational hot spot or a data movement hot spot. 
     
     
       10. The method of  claim 9  wherein the mapping uses each data movement hot spot to restrict high data movements to a minimum physical distance in the ACE.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.