Skip to content

Commit 676312c

Browse files
author
Pekka Jääskeläinen
committed
cl_ext_buffer_device_address to 1.0.0
The only content addition since the previous version is "If the device supports SVM and {clCreateBufferWithProperties} is called with a pointer returned by {clSVMAlloc} as its _host_ptr_ argument, and {CL_MEM_USE_HOST_PTR} is set in its _flags_ argument, the device-side address is guaranteed to match the _host_ptr."
1 parent 376baee commit 676312c

4 files changed

Lines changed: 12 additions & 38 deletions

File tree

api/cl_ext_buffer_device_address.asciidoc

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@ include::{generated}/meta/{refprefix}cl_ext_buffer_device_address.txt[]
66
=== Other Extension Metadata
77

88
*Last Modified Date*::
9-
2024-12-12
9+
2025-01-15
1010
*IP Status*::
1111
No known IP claims.
1212
*Contributors*::
1313
- Pekka Jääskeläinen, Intel +
1414
- Karol Herbst, Red Hat +
1515
- Henry Linjamäki, Intel +
1616
- Kevin Petit, Arm +
17+
- Ben Ashbaugh, Intel +
1718

1819
=== Description
1920

@@ -62,36 +63,5 @@ can allocate.
6263

6364
=== Version History
6465

65-
[cols="5,15,15,70"]
66-
[grid="rows"]
67-
[options="header"]
68-
|====
69-
| *Version* | *Date* | *Author* | *Changes*
70-
| 0.9.1 | 2024-12-12 | Pekka Jääskeläinen |
71-
Removed CL_MEM_DEVICE_SHARED_ADDRESS_EXT as unneeded.
72-
| 0.9.0 | 2024-12-06 | Pekka Jääskeläinen, Kevin Petit |
73-
Integrated to the main unified specification.
74-
Moved the functionality to clCreateBufferWithProperties,
75-
thus requiring 3.0+. Single memobj query for fetching the
76-
address(es). Also other smaller improvements pointed by Kevin.
77-
Candidate for final 1.0.0.
78-
| 0.3.0 | 2024-09-24 | Pekka Jääskeläinen, Karol Herbst |
79-
Made the allocation flags independent from each other and
80-
renamed them to CL_MEM_DEVICE_SHARED_ADDRESS_EXT and
81-
CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT. The first one guarantees the
82-
same address across all devices in the context, whereas the latter
83-
allows per-device addresses.
84-
| 0.2.0 | 2024-09-09 | Pekka Jääskeläinen, Karol Herbst |
85-
Changed the CL_MEM_DEVICE_ADDRESS_EXT wording for multi-device
86-
cases "all", not "any", covering a case where not all devices
87-
can ensure the same address across the context. In that case
88-
CL_INVALID_VALUE can be returned. Defined sub-buffer address
89-
computation to be 'base_addr + origin'. Added error conditions
90-
for clSetKernelExecInfo when the device doesn't support
91-
device pointers.
92-
| 0.1.0 | 2024-05-07 | Pekka Jääskeläinen | First draft text for feedback.
93-
This version describes the first API version that was prototyped
94-
in PoCL and RustiCL using temporary placeholder flag/enum values.
95-
The PoCL implementation and initial discussion on the extension
96-
can be found https://github.com/pocl/pocl/pull/1441[in this PR].
97-
|====
66+
* Revision 1.0.0, 2025-01-15
67+
** Initial version.

api/opencl_runtime_layer.asciidoc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,11 @@ include::{generated}/api/version-notes/CL_MEM_DEVICE_PRIVATE_ADDRESS_EXT.asciido
617617
allocated buffers can be computed by adding the sub-buffer origin to the
618618
device-specific start address.
619619

620+
If the device supports SVM and {clCreateBufferWithProperties} is called with a pointer
621+
returned by {clSVMAlloc} as its _host_ptr_ argument, and {CL_MEM_USE_HOST_PTR} is
622+
set in its _flags_ argument, the device-side address is guaranteed to match
623+
the _host_ptr_.
624+
620625
endif::cl_ext_buffer_device_address[]
621626

622627
|====
@@ -10865,7 +10870,8 @@ successfully.
1086510870
Otherwise, it returns one of the following errors:
1086610871

1086710872
* {CL_INVALID_KERNEL} if _kernel_ is a not a valid kernel object.
10868-
* {CL_INVALID_OPERATION} for {CL_KERNEL_EXEC_INFO_SVM_PTRS} if no devices in
10873+
* {CL_INVALID_OPERATION} for {CL_KERNEL_EXEC_INFO_SVM_PTRS} and
10874+
{CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM} if no devices in
1086910875
the context associated with _kernel_ support SVM.
1087010876
ifdef::cl_ext_buffer_device_address[]
1087110877
* {CL_INVALID_OPERATION} for {CL_KERNEL_EXEC_INFO_DEVICE_PTRS_EXT} if no

extensions/extensions.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ include::cl_ext_float_atomics.asciidoc[]
3939
include::cl_ext_image_from_buffer.asciidoc[]
4040
<<<
4141
include::cl_ext_image_raw10_raw12.asciidoc[]
42-
<<<
43-
include::cl_ext_buffer_device_address.asciidoc[]
4442

4543
// Vendor Extensions
4644
:leveloffset: 0

xml/cl.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7204,7 +7204,7 @@ server's OpenCL/api-docs repository.
72047204
<command name="clSetContentSizeBufferPoCL"/>
72057205
</require>
72067206
</extension>
7207-
<extension name="cl_ext_buffer_device_address" revision="0.9.1" supported="opencl" depends="CL_VERSION_3_0" provisional="true">
7207+
<extension name="cl_ext_buffer_device_address" revision="1.0.0" supported="opencl" depends="CL_VERSION_3_0">
72087208
<require>
72097209
<type name="cl_mem_device_address_ext"/>
72107210
</require>

0 commit comments

Comments
 (0)