-
Notifications
You must be signed in to change notification settings - Fork 768
[SYCL][DOC] Add extension for annotated_ptr class and its properties #5755
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
Working on:
|
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
@gmlueck , @GarveyJoe Please do another round of review. I have addressed your comments and added FPGA properties as a separate extension. |
sycl/doc/extensions/proposed/sycl_ext_intel_fpga_annotated_ptr_properties.asciidoc
Outdated
Show resolved
Hide resolved
@@ -23,7 +23,7 @@ | |||
== Notice | |||
|
|||
[%hardbreaks] | |||
Copyright (c) 2021-2022 Intel Corporation. All rights reserved. | |||
Copyright (c) 2022-2022 Intel Corporation. All rights reserved. |
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.
Just Copyright (c) 2022 Intel Corporation.
?
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.
done
* update the description of the annotated_arg/ptr spec * address comments and change wording
|
||
// alignment in bytes and address bus width of the pointer specified using the | ||
// properties 'alignment' and 'awidth'. | ||
// a properties object is deducted from the list the of property values |
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.
// a properties object is deducted from the list the of property values | |
// a properties object is deduced from the list the of property values |
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.
done
d63ab20
to
697da7a
Compare
697da7a
to
9b1d33e
Compare
example use case
Hi @steffenlarsen @Pennycook Please let me know your thoughts on this PR. Thanks! |
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.
I don't want to block this. The only things I could spot were related to names.
template<read_write_mode_enum mode> | ||
inline constexpr read_write_mode_key::value_t<mode> | ||
read_write_mode; | ||
inline constexpr read_write_mode_key::value_t< | ||
read_write_mode_enum::read> read_write_mode_read; | ||
inline constexpr read_write_mode_key::value_t< | ||
read_write_mode_enum::write> read_write_mode_write; | ||
inline constexpr read_write_mode_key::value_t< | ||
read_write_mode_enum::read_write> | ||
read_write_mode_readwrite; |
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.
read_write_mode_readwrite
is a really bad name.
Would it make sense to split this out into separate read
, write
and read_write
properties?
inline constexpr wait_request_key::value_t<true> | ||
wait_request_requested; | ||
inline constexpr wait_request_key::value_t<false> | ||
wait_request_not_requested; |
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.
I find the name wait_request_not_requested
really confusing, and I don't think this convenience type helps.
The second use of "requested" doesn't seem to be tied to the first use of "request", and the description of wait_request
later in the document talks about whether the wait request signal is generated rather than requested. wait_request<true>
is also shorter.
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.
My concerns have been addressed, so LGTM! That said, I agree with @Pennycook on the property shorthand namings.
Add `annotated_arg` headers based on [sycl_ext_oneapi_annotated_arg.asciidoc](https://github.com/intel/llvm/blob/32564a4fed2ec8bdae182123b0d6b4cbce1590f2/sycl/doc/extensions/proposed/sycl_ext_oneapi_annotated_arg.asciidoc) in PR #5755 --------- Co-authored-by: Chen, Brox <[email protected]>
Introduce three new extensions:
sycl_ext_oneapi_annotated_ptr
Introduces a pointer wrapper class that provides a mechanism to attach compile-time constant information to a pointer in a manner that allows the compiler to reliably maintain and analyze the information.
sycl_ext_intel_fpga_kernel_arg_properties
Defines additional supported properties for
annotated_ptr
andannotated_arg
classes. This commit will remove the extensionsycl_ext_intel_fpga_annotated_arg_properties
.sycl_ext_oneapi_kernel_arg_restrict_property
Defines the
restrict
property forannotated_ptr
andannotated_arg
classes in a separate extension rather than including it insycl_ext_intel_fpga_kernel_arg_properties
so that vendors can support the property without having to support FPGA specific properties.This commit also updates the annotated_arg extension to remove function overloads that are not needed.