Patent ID: 8136104

Claim:
A computer-implemented method configured to be performed by a runtime system at a parallel-processing computer system that includes multiple types of processing elements, wherein the runtime system includes a queue of intermediate representation entries associated with an application, comprising: at runtime: receiving one or more operation requests issued by the application; generating one or more intermediate representation entries for the one or more operation requests; inserting the one or more intermediate representation entries into the queue of intermediate representation entries; after inserting the one or more intermediate representation entries, determining whether the queue of intermediate representation entries meets a predefined criterion; if the predefined criterion is met: dynamically selecting one of the multiple types of processing elements for performing operations defined by the queue of intermediate representation entries; and dynamically preparing one or more compute kernels for the at least one of the one or more operation requests using the queue of intermediate representation entries, wherein the one or more compute kernels are configured to execute on the dynamically-selected type of processing element, wherein the multiple types of processing elements include two or more of: single-core central processing units, multi-core central processing units, graphics processing units, single-core co-processors and multi-core co-processors.