-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Emit integration footer and header for device_global variables #5576
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
The implementation is based on the design doc https://github.com/intel/llvm/blob/sycl/sycl/doc/DeviceGlobal.md .
@erichkeane I'd appreciate review from you as well, since it seems that no one have never made any changes to integration footer except you. |
Review request for runtime seems like a bug. |
This rule matches any directory named "sycl" i.e. it's not necessary must be a root directory. |
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.
Seems alright to me!
Ok, thanks! |
Ping @intel/dpcpp-cfe-reviewers for review. |
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.
Some minor nits, but looks good to me.
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.
What happens when we capture a device_global
variable with regard to openCL kernel generation. We decompose the type?
My understanding was that |
Okay.
Yes. I think checking the content of generated integration header/footer should be enough. Compilation of generated files is already covered by |
I think this is not yet covered. I can't find declaration of |
Anyway, the test suite for testing DPC++ headers is |
I think we should do this. It looks like a design issue to me. We better avoid dependencies like this in the compiler. BTW, it looks like it should be easy to do. https://github.com/intel/llvm/blob/sycl/sycl/include/CL/sycl/detail/defines_elementary.hpp defines some number of macro. I think we should just expand all of them in emitted integration header and remove this include.
|
It is just one of them. I think it is not that simple for others. I've submitted an internal tracker. |
6e7b77e
I don't think I broke |
@Fznamznon, I have a concern with the removal of footer and header compilation tests on host. I think it leaves a hole in our testing, for example, if there is a typo or bad code generated in the header and footer, we won't notice it. If there are tests elsewhere that would catch this, that would be sufficient, but without one we have a gap in coverage. This happened with a recent PR, accidental missing quotes slipped through on first review. |
Yeah, I had the same thoughts when did compilation testing. I didn't believe to my eyes and my c++ knowledge enough, so I added compiler's check. In fact, I even caught missing conversion to
As @bader pointed out, |
@Fznamznon, could you create a tracker to investigate this problem? I suggest re-running the tests to check if this issue is sporadic. |
Sounds good. |
@bader , @alexbatashev , this is an issue with GitHub actions. Should I create a GitHub issue or an internal tracker? |
I don't see it as a GitHub Actions problem. I see that a few tests have failed for unrelated changes. Please, create internal tracker for those issues and disable those tests. |
Sorry, my bad.
Done. Created intel/llvm-test-suite#886 . |
The implementation is based on the design doc
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/DeviceGlobal.md