Offloading fused kernel execution to a graphics processor
AssigneeIntel Corporation
InventorsKonstantin S. Bobrovsky, Sergey N. Ermolaev, Serguei N. Dmitriev, Knud J. Kirkegaard
Life of this patent
Estimating the term…
Abstract
Execution of a first kernel may be offloaded from a central processing unit to a graphics processing unit using a ring task buffer with a fixed number of task slots incurring full overhead of runtime driver interaction. Execution of a second kernel is offloaded using said ring task buffer, so at least two kernels may be offloaded from a central processing unit to a graphics processing unit via said ring task buffer, while incurring about the same offloading overhead as would be incurred from offloading a single kernel, in some embodiments. Multiple kernels are automatically grouped together by a compiler and linker.
Claims27
A method comprising:
- combining first and second kernels into a combined kernel by a compiler;
- receiving at runtime, the combined kernel on a central processing unit for offloading to a graphics processing unit;
- and
- offloading said combined kernel for execution on said graphics processing unit.
One or more non-transitory computer readable media storing instructions to perform a sequence comprising:
- combining first and second kernels into a combined kernel by a compiler;
- receiving at runtime, the combined kernel on a central processing unit for offloading to a graphics processing unit;
- and
- offloading said combined kernel for execution on said graphics processing unit.
An apparatus comprising:
- a processor to combine first and second kernels into a combined kernel by a compiler, receive at runtime, the combined kernel on a central processing unit for offloading to a graphics processing unit, offload said combined kernel for execution on said graphics processing unit;
- and
- a memory coupled to said processor.
Dependencies are inferred from the claim text.