Compiler and runtime for heterogeneous multiprocessor systems
US8296743B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Dec 17, 2007 |
| Grant date | Oct 23, 2012 |
| Priority date | — |
| Expiry date | Jul 20, 2031 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F2209/5017
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
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.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.