-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The term "kernel" is used for multiple purposes #603
Comments
This is also related somewhat to #524. |
I can try to have a go at it. I remember getting confused too |
I think the sentence you quote is there to describe functors.
But I agree, we should just not care. And always talk about "SYCL Kernek function" IMO. AFAIK |
Ok after more digging, it's even more fun. I found 3 Definitions of "SYCL Kernel Function"
Note that they are conflicting them self as @tahonermann . One is a type, and the other is the block of code. And we never define the instance of the class. And
So lets take a example:
I'm not smart enough to understand how to use Kernel bundle. And the difference between So I short:
|
Consider this text from SYCL 2020 section 4.12.4, "Rules for parameter passing to kernels"
The text is actually nonsensical as written. How can member variables (more precisely, non-static data members) of the kernel become parameters to the kernel?
Some uses of the term "kernel" refer to the named function object or lambda function (more precisely, closure object) that is passed to a kernel invocation function. Others appear to refer to something else; presumably an implementation dependent device entry point function; something the SYCL specification shouldn't have to concern itself with. Note that the term "entry point" appears exactly one time in the SYCL 2020 specification; in the definition of "SYCL kernel function" in the glossary.
This description conflates types and objects.
The text was updated successfully, but these errors were encountered: