-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL][Doc] Add FPGA properties to device global spec #4675
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
Although these properties are intended mostly for FPGA users, there is no prohibition against using them for other devices. Therefore, we describe them in the main device global spec, rather than creating a separate add-on spec for FPGA.
@GarveyJoe: Could you review this PR from the FPGA side? In particular, I changed the wording of @rolandschulz @Pennycook: Could you review synopsis for the compile-time-constant properties? I think these are the first properties whose value is an |
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
I'm not sure how I feel about this, but looking to ISO C++ for inspiration they've had no problems with a single top-level I've listed the different options I see below, ordered by preference. Where I say
Note that 1) requires long names to avoid clashes (e.g. EDIT: To properly finish the thought... I view the (existing) kernel properties as being generally applicable -- we already have many dispatch functions that care about things like work-group size and sub-group size, and we'll be able to re-use |
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.
Always interesting to see more FPGA stuff.
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
I like the naming suggestions that @keryell and @Pennycook made. This would result in the following property names:
Any objections from the FPGA team: @GarveyJoe, @mohammadfawaz, @mkinsner ? |
The new names seem reasonable to me. I'll let @GarveyJoe and @mkinsner make the final call though. |
Rename properties to address review comments.
I renamed the properties because I want the names in this PR to align with the names in the design doc I just submitted, and these proposed names seemed like the most likely outcome. I'm still happy to get feedback and alternatives from @GarveyJoe, @mkinsner, or anyone else, though. It's easy enough to update both PRs. |
device_image_scope and host_access both sound better to me than the old versions. And I'm also happy with init_mode so long as we agree that it's still clear that it affects how initialization happens and not when it happens. I think the text makes that clear. |
I haven't read the Design Specification in full yet (it might get answered there), but wasn't there a need to template the copy operations on the instance of the device_global? |
@GarveyJoe proposed a solution that doesn't require this templating, and we decided that the API was nicer without the template parameter. The design doc describes how it works (see the section on integration header/footer). |
Can I get an approval from someone on @intel/dpcpp-specification-reviewers? Maybe @Pennycook or @rolandschulz? |
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/DeviceGlobal/SYCL_INTEL_device_global.asciidoc
Outdated
Show resolved
Hide resolved
Clarify default behavior when `init_mode` or `implement_in_csr` are not specified.
Although these properties are intended mostly for FPGA users, there
is no prohibition against using them for other devices. Therefore,
we describe them in the main device global spec, rather than creating
a separate add-on spec for FPGA.