Compiler and Runtime for Heterogeneous Multiprocessor Systems
AssigneeIntel Corporation
InventorsMichael D. Linderman, Jamison D. Collins, Perry Wang, Hong Wang
Life of this patent
Estimating the term…
Loading patent…
AssigneeIntel Corporation
InventorsMichael D. Linderman, Jamison D. Collins, Perry Wang, Hong Wang
Estimating the term…
Presented are embodiments of methods and systems for library-based compilation and dispatch to automatically spread computations of a program across heterogeneous cores in a processing system. The source program contains a parallel-programming keyword, such as mapreduce, from a high-level, library-oriented parallel programming language. The compiler inserts one or more calls for a generic function, associated with the parallel-programming keyword, into the compiled code. A runtime library provides a predicate-based library system that includes multiple hardware specific implementations (“variants”) of the generic function. A runtime dispatch engine dynamically selects the best-available (e.g., most specific) variant, from a bundle of hardware-specific variants, for a given input and machine configuration. That is, the dispatch engine may take into account run-time availability of processing elements, choose one of them, and then select for dispatch an appropriate variant to be executed on the selected processing element. Other embodiments are also described and claimed.
A computer-implemented method comprising:
An article comprising:
The article of claim 11, wherein said instructions further provide for:
A system, comprising:
The system of claim 20 wherein:
Dependencies are inferred from the claim text.