-
Notifications
You must be signed in to change notification settings - Fork 113
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
Begin integration of EXT extensions into the unified specification #1213
Merged
Merged
Changes from 2 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
c74335c
Begin integration of EXT extensions into the unified specification
kpet 3ca4967
Update api/cl_ext_cxx_for_opencl.asciidoc
kpet 9150710
remove dangling links in cl_ext_migrate_memobject appendix
kpet ca1ffaf
add links to latest published ext specs
kpet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_cxx_for_opencl.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2020-08-25 | ||
*IP Status*:: | ||
No known IP claims. | ||
*Contributors*:: | ||
- Kevin Petit, Arm Ltd. + | ||
- Sven Van Haastregt, Arm Ltd. + | ||
- Anastasia Stulova, Arm Ltd. + | ||
- Marco Antognini, Arm Ltd. + | ||
- Neil Hickey, Arm Ltd. + | ||
- Alastair Murray, Codeplay + | ||
|
||
=== Description | ||
|
||
This extension adds support for building programs written using the C++ for | ||
OpenCL kernel language documented in the *OpenCL-Docs* repository | ||
(https://github.com/KhronosGroup/OpenCL-Docs) | ||
with stable versions published in releases of the repository. | ||
|
||
This extension also enables applications to query the version of the language | ||
supported by the device compiler. | ||
|
||
=== New Enums | ||
|
||
* {cl_device_info_TYPE} | ||
** {CL_DEVICE_CXX_FOR_OPENCL_NUMERIC_VERSION_EXT} | ||
|
||
=== New build option | ||
|
||
This extension adds support for a new `CLC++` value to be passed to the | ||
`-cl-std` build option accepted by {clBuildProgram} and {clCompileProgram}. | ||
|
||
=== Preprocessor Macros | ||
|
||
This extension defines a new language, instead of extending an existing | ||
language. As such, there will be no preprocessor `#define` matching the | ||
extension name string. Instead, dedicated preprocessor macros conveying | ||
language version information are available as described in the C++ for | ||
OpenCL Programming Language Documentation, section 2.2.2.2 "Predefined | ||
macros". | ||
|
||
=== Conformance tests | ||
|
||
. Test that a program can successfully be compiled with `-cl-std=CLC++`. | ||
. Test with a program compiled with `-cl-std=CLC++` that the value of the | ||
+__OPENCL_CPP_VERSION__+ macro agrees with the version returned by | ||
`CL_DEVICE_CXX_FOR_OPENCL_NUMERIC_VERSION_EXT`. | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2020-08-24 | ||
** Initial version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_device_fission.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2024-07-17 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
Precursor to the functionality described in <<platform-device-partitioning>>. | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2024-07-17 | ||
** First version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_float_atomics.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2020-08-12 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
This extension is described in the OpenCL Extensions document. | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2020-08-12 | ||
** First version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_image_from_buffer.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2022-01-25 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
This extension is described in the OpenCL Extensions document. | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2022-01-25 | ||
** First version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_image_raw10_raw12.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2023-05-03 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
This extension is described in the OpenCL Extensions document. | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2023-05-03 | ||
** First version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// Copyright 2018-2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_image_requirements_info.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2022-01-18 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
This extension is described in the OpenCL Extensions document. | ||
|
||
=== Version History | ||
|
||
* Revision 0.5.0, 2022-01-18 | ||
** First version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
// Copyright 2024 The Khronos Group Inc. | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
|
||
include::{generated}/meta/{refprefix}cl_ext_migrate_memobject.txt[] | ||
|
||
=== Other Extension Metadata | ||
|
||
*Last Modified Date*:: | ||
2024-07-17 | ||
*IP Status*:: | ||
No known IP claims. | ||
|
||
=== Description | ||
|
||
Precursor to {clEnqueueMigrateMemObjects}. | ||
|
||
=== New Commands | ||
|
||
* {clEnqueueMigrateMemObjectEXT} | ||
bashbaug marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
=== New Types | ||
|
||
* {cl_mem_migration_flags_ext_TYPE} | ||
|
||
=== New Enums | ||
|
||
* {cl_mem_migration_flags_ext_TYPE} | ||
** {CL_MIGRATE_MEM_OBJECT_HOST_EXT} | ||
* {cl_command_type_TYPE} | ||
** {CL_COMMAND_MIGRATE_MEM_OBJECT_EXT} | ||
|
||
=== Version History | ||
|
||
* Revision 1.0.0, 2024-07-17 | ||
** Initial version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Providing a link here (and in similar descriptions) would be helpful to the reader.
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.
Agree but it's hard to provide a link that's valid regardless of the spec you're looking at. Links would be different for published PDF or HTML versions of the spec and different again for the dev versions. I felt this was a bit too hard for a "temporary" (tm) problem.
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.
cool, we can leave this out of it isn't trivial.
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.
Note, the EXT extensions actually aren't currently in the OpenCL Extensions document, and they're documented in standalone extension docs on the registry, similar to vendor extensions. For example:
https://registry.khronos.org/OpenCL/extensions/ext/cl_ext_float_atomics.html
Until this changes, maybe it is possible to put a stable link to the appropriate extension document?
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 was looking at the PDF when writing this. The spec tooling generates:
out/pdf/OpenCL_Ext.pdf
titled "The OpenCL Extension Specification"out/pdf/extensions.pdf
titled "OpenCL Extensions"It's the latter that this refers to and that one does include EXT extensions. I agree there is potential for confusion and the real fix IMO is to get rid of both these documents :).
We could do what you propose but this would always link to the latest pulished version of the specification in HTML form. It would likely be useful to a good number of users but would at the same time potentially point to the wrong document for some others.
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.
The tooling generates "extensions.pdf", but AFAIK we don't publish it. We still do publish "OpenCL_Ext.pdf", but we might not do so for long - see #1111.
What's the disadvantage of linking to the HTML spec? The way I look at it, if we don't put any link, readers looking for more information about the extension are either going to get frustrated and give up, or they're going to search for the name of the extension, which will (hopefully!) point them to the HTML spec on the registry. If that's the case, why not give them the link directly?
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.
Beyond having PDFs link to the HTML specs, the main issue I have with adding these links is that the version linked would not be the one aligned to the document linking to it. It's not an issue for published versions of the specification but if I package a set of PDFs generated from an arbitrary SHA for example, the link would potentially point to the wrong spec text. This mostly affects IHVs so maybe not a good reason to deprive OpenCL users of a helpful link even if only temporary so. I'll add the links with text stating that they point to the "latest published" version of the specifications.