-
Notifications
You must be signed in to change notification settings - Fork 787
[Driver][SYCL] Enable generation of spv based fat objects #4608
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
When generating fat objects with -fsycl, our default behavior is to generate and store the LLVM-IR for the device side compilation. Update the behavior, introducing -fsycl-device-obj=arg (where arg is spirv or llvmir) to create the desired 'object' contents. This is a precursor to the enabling the ability to consume these spv based objects (or llvm-ir) seamlessly.
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.
How exactly is this option going to be different from -f[no-]sycl-use-bitcode
? Should the use-cases for the 2 options collide, is there a planned roadmap for deprecating the old interface/differentiating the functionality?
My changes actually alias |
Moved to draft. Exposing the functionality of creating the fat objects with SPIR-V should only occur once we can properly consume both LLVM-IR and SPIR-V type fat objects seamlessly. |
@AGindinson, can you take a look? This is part of the larger SPIR-V to LLVM-IR change. |
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.
Mostly LGTM. Do I understand correctly that #5251 should go in first?
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.
Approving for merge after #5251.
When generating fat objects with -fsycl, our default behavior is to
generate and store the LLVM-IR for the device side compilation. Update
the behavior, introducing -fsycl-device-obj=arg (where arg is spirv or
llvmir) to create the desired 'object' contents.
This is a precursor to the enabling the ability to consume these spv
based objects (or llvm-ir) seamlessly.