-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL][NVPTX] Do not decompose SYCL functor unless necessary #14434
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
Conversation
CUDA backend can support passing pointer in the generic address space. The patch prevent the decomposition of the SYCL functor if there is no special types in it. Signed-off-by: Victor Lomuller <[email protected]>
@elizabethandrews @tahonermann That's the patch I mentioned the other day, still early and missing tests obviously. But if you can spare a bit of time to give a high level feedback, that would be great. Thanks. Note: the patch is aimed to be used with #14332 |
Note 2: I'm aware of the test failures (and why) and I'm also restricting to nvptx at the moment to avoid fixing a large number of tests. |
Signed-off-by: Victor Lomuller <[email protected]>
Signed-off-by: Victor Lomuller <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK for driver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SYCL Changes LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kernel fusion test change LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing to note here is that pointers in decomposed structs i.e. those in a struct with special types will have different address space handing than those which are in structs not decomposed. Is that discrepancy ok?
Yes, and it can even be important to have it. When not decomposed, pointers are basically treated as CUDA would but that only applies to global pointers. Where it is important to decompose and keep the address space is for the local one as for CUDA we need to pass an offset instead. |
@intel/llvm-gatekeepers The PR is ready to merge, the windows failure is unrelated. Fails during AOT compilation for the following reason:
|
FYI @intel/dpcpp-devops-reviewers |
CUDA backend can support passing pointer in the generic address space. The patch prevent the decomposition of the SYCL functor if there is no special types in it.