SYSTEM AND METHOD FOR COMPILER SUPPORT FOR KERNEL LAUNCHES IN DEVICE CODE
First Claim
1. A method of compiling source code, said method comprising:
- accessing a portion of device source code;
determining whether said portion of said device source code comprises a piece of work to be launched on a device from said device;
determining a plurality of application programming interface (API) calls based on said piece of work to be launched on said device; and
generating compiled code based on said plurality of API calls, wherein a first portion of said compiled code is operable to execute on a central processing unit (CPU) and a second portion of said compiled code is operable to execute on said device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for compiling source code (e.g., with a compiler). The method includes accessing a portion of device source code and determining whether the portion of the device source code comprises a piece of work to be launched on a device from the device. The method further includes determining a plurality of application programming interface (API) calls based on the piece of work to be launched on the device and generating compiled code based on the plurality of API calls. The compiled code comprises a first portion operable to execute on a central processing unit (CPU) and a second portion operable to execute on the device (e.g., GPU).
33 Citations
20 Claims
-
1. A method of compiling source code, said method comprising:
-
accessing a portion of device source code; determining whether said portion of said device source code comprises a piece of work to be launched on a device from said device; determining a plurality of application programming interface (API) calls based on said piece of work to be launched on said device; and generating compiled code based on said plurality of API calls, wherein a first portion of said compiled code is operable to execute on a central processing unit (CPU) and a second portion of said compiled code is operable to execute on said device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for compiling code, said system comprising:
-
a code access module operable to access source code from a datastore, wherein said source code comprises a call to launch a piece of work on a device from said device; a mapping module operable to map said call to launch said piece of work on said device from said device to an API call to launch said piece of work on said device from said device; and a compilation module operable to compile said source code into executable code, wherein a first portion of said executable code is operable to execute on a central processing unit (CPU) and a second portion of said executable code is operable to execute on said device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for compiling code comprising:
-
accessing a line of source code comprising a call to launch a piece of work on a graphics processor from said graphics processor; determining whether said call to launch said piece of work on said graphics processor from said graphics processor comprises arguments; evaluating arguments of said call to launch said piece of work on said graphics processor from said graphics processor; generating a first code portion for allocating a parameter buffer; generating a second code portion for storing said arguments into said parameter buffer; and generating compiled code for launching said piece of work on said graphics processor from said graphics processor based on said first code portion and said second code portion. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification