Skip to content

Commit

Permalink
Updates to Acquire/Release clarifications
Browse files Browse the repository at this point in the history
Address review comments on PR#1176

Fixes #1078, #1086
  • Loading branch information
nikhiljnv committed Jun 18, 2024
1 parent 7304cf6 commit eec1a09
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions api/opencl_runtime_layer.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -5429,8 +5429,8 @@ This is to guarantee that the state of the memory objects is up-to-date and
they are accessible to OpenCL.

The following restrictions shall apply -
* Each memory object must be acquired only once. Acquiring memory object
multiple times without releasing it may result in implementation defined
* Each memory object must be acquired only once. Acquiring a memory object
multiple times without releasing it results in implementation-defined
behavior.
* The acquire must be performed on a command-queue associated with a device
that was one of the devices specified via {CL_MEM_DEVICE_HANDLE_LIST_KHR}
Expand All @@ -5441,8 +5441,8 @@ The following restrictions shall apply -
* The memory object will be acquired on all devices specified
via {CL_MEM_DEVICE_HANDLE_LIST_KHR} when the memory object was imported
using {clCreateBufferWithProperties} or {clCreateImageWithProperties}.
If {CL_MEM_DEVICE_HANDLE_LIST_KHR} was not specified, the memory objects
will be aquired on all devices in the context.
If {CL_MEM_DEVICE_HANDLE_LIST_KHR} was not specified, the memory object
will be aquired for all devices in the context.

See <<cl_khr_external_memory-Sample-Code, "`Example with Acquire /
Release`">> for more details on how to use this API.
Expand Down Expand Up @@ -5522,20 +5522,20 @@ This is to guarantee that the state of memory objects is up-to-date and they
are accessible to the other API.

The following restrictions shall apply -
* Each memory object must be released only once. Releasing memory object
multiple times without acquiring it may result in implementation defined
* Each memory object must be released only once. Releasing a memory object
multiple times without acquiring it results in implementation-defined
behavior.
* The release must be performed on a command-queue associated with a device
that was one of the devices specified via {CL_MEM_DEVICE_HANDLE_LIST_KHR}
when the memory object was imported using {clCreateBufferWithProperties} or
{clCreateImageWithProperties}. If {CL_MEM_DEVICE_HANDLE_LIST_KHR} was not
specified, the acquire can be performed on a command-queue associated with
specified, the release can be performed on a command-queue associated with
any device in the context.
* The memory object will be released on all devices specified via
{CL_MEM_DEVICE_HANDLE_LIST_KHR} when the memory object was imported
using {clCreateBufferWithProperties} or {clCreateImageWithProperties}.
If {CL_MEM_DEVICE_HANDLE_LIST_KHR} was not specified, the memory object
will be released on all devices in the context.
will be released for all devices in the context.

See "`Example with Acquire / Release`" provided in
<<cl_khr_external_memory-Sample-Code>> for more details on how to use this
Expand Down

0 comments on commit eec1a09

Please sign in to comment.