Top Description Fields Constructors Methods
org.lwjgl.opencl

public Class INTELUnifiedSharedMemory

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Native bindings to the intel_unified_shared_memory extension.

This extension adds "Unified Shared Memory" (USM) to OpenCL. Unified Shared Memory provides:

While Unified Shared Memory (USM) shares many features with Shared Virtual Memory (SVM), Unified Shared Memory provides a different mix of capabilities and control. Specifically:

Unified Shared Memory and Shared Virtual Memory can and will coexist for many implementations. All implementations that support Shared Virtual Memory may support at least some types of Unified Shared Memory.

Requires CL20.

Field Summary

Modifier and TypeField and Description
public static final int
CL_COMMAND_MEMADVISE_INTEL

New return values from GetEventInfo when param_name is EVENT_COMMAND_TYPE.

public static final int
CL_COMMAND_MEMCPY_INTEL

New return values from GetEventInfo when param_name is EVENT_COMMAND_TYPE.

public static final int
CL_COMMAND_MEMFILL_INTEL

New return values from GetEventInfo when param_name is EVENT_COMMAND_TYPE.

public static final int
CL_COMMAND_MIGRATEMEM_INTEL

New return values from GetEventInfo when param_name is EVENT_COMMAND_TYPE.

public static final int
CL_DEVICE_CROSS_DEVICE_SHARED_MEM_CAPABILITIES_INTEL

Accepted value for the param_name parameter to GetDeviceInfo to query the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_DEVICE_DEVICE_MEM_CAPABILITIES_INTEL

Accepted value for the param_name parameter to GetDeviceInfo to query the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_DEVICE_HOST_MEM_CAPABILITIES_INTEL

Accepted value for the param_name parameter to GetDeviceInfo to query the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL

Accepted value for the param_name parameter to GetDeviceInfo to query the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_DEVICE_SINGLE_DEVICE_SHARED_MEM_CAPABILITIES_INTEL

Accepted value for the param_name parameter to GetDeviceInfo to query the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_KERNEL_EXEC_INFO_INDIRECT_DEVICE_ACCESS_INTEL

Accepted value for the param_name parameter to SetKernelExecInfo to specify that the kernel may indirectly access Unified Shared Memory allocations of the specified type.

public static final int
CL_KERNEL_EXEC_INFO_INDIRECT_HOST_ACCESS_INTEL

Accepted value for the param_name parameter to SetKernelExecInfo to specify that the kernel may indirectly access Unified Shared Memory allocations of the specified type.

public static final int
CL_KERNEL_EXEC_INFO_INDIRECT_SHARED_ACCESS_INTEL

Accepted value for the param_name parameter to SetKernelExecInfo to specify that the kernel may indirectly access Unified Shared Memory allocations of the specified type.

public static final int
CL_KERNEL_EXEC_INFO_USM_PTRS_INTEL

Accepted value for the param_name parameter to SetKernelExecInfo to specify a set of Unified Shared Memory allocations that the kernel may indirectly access.

public static final int
CL_MEM_ALLOC_BASE_PTR_INTEL

Enumeration type and values for the param_name parameter to GetMemAllocInfoINTEL to query information about a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_DEVICE_INTEL

Enumeration type and values for the param_name parameter to GetMemAllocInfoINTEL to query information about a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_FLAGS_INTEL

Enumerant value requesting optional allocation properties for a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_INITIAL_PLACEMENT_DEVICE_INTEL

Bitfield type and bits describing optional allocation properties for a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_INITIAL_PLACEMENT_HOST_INTEL

Bitfield type and bits describing optional allocation properties for a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_SIZE_INTEL

Enumeration type and values for the param_name parameter to GetMemAllocInfoINTEL to query information about a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_TYPE_INTEL

Enumeration type and values for the param_name parameter to GetMemAllocInfoINTEL to query information about a Unified Shared Memory allocation.

public static final int
CL_MEM_ALLOC_WRITE_COMBINED_INTEL

Bitfield type and bits describing optional allocation properties for a Unified Shared Memory allocation.

public static final int
CL_MEM_TYPE_DEVICE_INTEL

Enumeration type and values describing the type of Unified Shared Memory allocation.

public static final int
CL_MEM_TYPE_HOST_INTEL

Enumeration type and values describing the type of Unified Shared Memory allocation.

public static final int
CL_MEM_TYPE_SHARED_INTEL

Enumeration type and values describing the type of Unified Shared Memory allocation.

public static final int
CL_MEM_TYPE_UNKNOWN_INTEL

Enumeration type and values describing the type of Unified Shared Memory allocation.

public static final int
CL_UNIFIED_SHARED_MEMORY_ACCESS_INTEL

Bitfield type and bits describing the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_UNIFIED_SHARED_MEMORY_ATOMIC_ACCESS_INTEL

Bitfield type and bits describing the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ACCESS_INTEL

Bitfield type and bits describing the Unified Shared Memory capabilities of an OpenCL device.

public static final int
CL_UNIFIED_SHARED_MEMORY_CONCURRENT_ATOMIC_ACCESS_INTEL

Bitfield type and bits describing the Unified Shared Memory capabilities of an OpenCL device.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static ByteBuffer

Returns:

a valid non-NULL address and SUCCESS will be returned in errcode_ret if the device Unified Shared Memory is allocated successfully. Otherwise, NULL will be returned, and errcode_ret will be set to one of the following error values:
clDeviceMemAllocINTEL
(long
a valid OpenCL context used to allocate the device memory
context
,
long
a valid OpenCL device ID to associate with the allocation
device
,
LongBuffer
an optional list of allocation properties and their corresponding values.

The list is terminated with the special property 0. If no allocation properties are required, properties may be NULL.

properties
,
long
the size in bytes of the requested device allocation
size
,
int
the minimum alignment in bytes for the requested device allocation.

It must be a power of two and must be equal to or smaller than the size of the largest data type supported by device. If alignment is 0, a default alignment will be used that is equal to the size of largest data type supported by device.

alignment
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Allocates Unified Shared Memory specific to an OpenCL device.

public static ByteBuffer
clDeviceMemAllocINTEL(long context, long device, long[] properties, long size, int alignment, int[] errcode_ret)

Array version of: DeviceMemAllocINTEL

public static int

Returns:

SUCCESS if the command is queued successfully. Otherwise, it will return one of the following errors:
  • INVALID_COMMAND_QUEUE if command_queue is not a valid host command-queue.
  • INVALID_CONTEXT if the context associated with command_queue and events in event_wait_list are not the same.
  • INVALID_VALUE if advice is not supported advice for the device associated with command_queue.
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list is greater than zero, or if event_wait_list is not NULL and num_events_in_wait_list is zero, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueMemAdviseINTEL
(long
a valid host command queue.

The memory advice hints will be queued for the device associated with command_queue.

command_queue
,
ByteBuffer
a pointer to the start of the shared Unified Shared Memory allocation
ptr
,
long
a bit-field describing the memory advice hints for the region
advice
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Provides advice about a region of a shared Unified Shared Memory allocation.

public static int

Returns:

SUCCESS if the command is queued successfully. Otherwise, it will return one of the following errors:
  • INVALID_COMMAND_QUEUE if command_queue is not a valid host command-queue.
  • INVALID_CONTEXT if the context associated with command_queue and events in event_wait_list are not the same.
  • INVALID_VALUE if either dst_ptr or src_ptr are NULL.
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list is greater than zero, or if event_wait_list is not NULL and num_events_in_wait_list is zero, or if event objects in event_wait_list are not valid events.
  • EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST if the copy operation is blocking and the execution status of any of the events in event_wait_list is a negative integer value.
  • MEM_COPY_OVERLAP if the values specified for dst_ptr, src_ptr and size result in an overlapping copy.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueMemcpyINTEL
(long
a valid host command queue.

The memory copy command will be queued for execution on the device associated with command_queue.

command_queue
,
boolean
indicates if the copy operation is blocking or non-blocking.

If blocking is TRUE, the copy command is blocking, and the function will not return until the copy command is complete. Otherwise, if blocking is FALSE, the copy command is non-blocking, and the contents of the dst_ptr cannot be used nor can the contents of the src_ptr be overwritten until the copy command is complete.

blocking
,
ByteBuffer
a pointer to the start of the memory region to copy to.

If dst_ptr is a pointer into a Unified Shared Memory allocation it must be valid for the context associated with command_queue.

dst_ptr
,
ByteBuffer
a pointer to the start of the memory region to copy from.

If src_ptr is a pointer into a Unified Shared Memory allocation it must be valid for the context associated with command_queue.

src_ptr
,
long
the size of the memory region to copy, in bytes
size
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Copies a region of memory from one location to another.

public static int

Returns:

SUCCESS if the command is queued successfully. Otherwise, it will return one of the following errors:
  • INVALID_COMMAND_QUEUE if command_queue is not a valid host command-queue.
  • INVALID_CONTEXT if the context associated with command_queue and events in event_wait_list are not the same.
  • INVALID_VALUE if dst_ptr is NULL, or if dst_ptr is not aligned to pattern_size bytes.
  • INVALID_VALUE if pattern is NULL.
  • INVALID_VALUE if pattern_size is not a power of two or is greater than the size of the largest integer or floating-point vector data type supported by the device associated with command_queue.
  • INVALID_VALUE if size is not a multiple of pattern_size.
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list is greater than zero, or if event_wait_list is not NULL and num_events_in_wait_list is zero, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueMemFillINTEL
(long
a valid host command queue.

The memory fill command will be queued for execution on the device associated with command_queue.

command_queue
,
ByteBuffer
a pointer to the start of the memory region to fill.

The Unified Shared Memory allocation pointed to by dst_ptr must be valid for the context associated with command_queue, must be accessible by the device associated with command_queue, and must be aligned to pattern_size bytes.

dst_ptr
,
ByteBuffer
a pointer to the value to write to the Unified Shared Memory region.

The memory associated with pattern can be reused or freed after the function returns.

pattern
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Fills a region of a memory with the specified pattern.

public static int

Returns:

SUCCESS if the command is queued successfully. Otherwise, it will return one of the following errors:
  • INVALID_COMMAND_QUEUE if command_queue is not a valid host command-queue.
  • INVALID_CONTEXT if the context associated with command_queue and events in event_wait_list are not the same.
  • INVALID_VALUE if flags is zero or is not a supported combination of memory migration flags.
  • INVALID_EVENT_WAIT_LIST if event_wait_list is NULL and num_events_in_wait_list is greater than zero, or if event_wait_list is not NULL and num_events_in_wait_list is zero, or if event objects in event_wait_list are not valid events.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clEnqueueMigrateMemINTEL
(long
a valid host command queue.

The memory migration command will be queued for execution on the device associated with command_queue.

command_queue
,
ByteBuffer
a pointer to the start of the shared Unified Shared Memory allocation to migrate
ptr
,
long
a bit-field that is used to specify memory migration options
flags
,
PointerBuffer
a list of events that need to complete before this particular command can be executed. If event_wait_list is NULL, then this particular command does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in event_wait_list and command_queue must be the same.
event_wait_list
,
PointerBuffer
Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete. event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the event_wait_list array.
event
)

Explicitly migrates a region of a shared Unified Shared Memory allocation to the device associated with command_queue.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following error values:
  • INVALID_CONTEXT if context is not a valid context.
  • INVALID_VALUE if param_name is not a valid Unified Shared Memory allocation query.
  • INVALID_VALUE` if param_value is not NULL and param_value_size is smaller than the size of the query return type.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetMemAllocInfoINTEL
(long
a valid OpenCL context to query for information about the Unified Shared Memory allocation
context
,
ByteBuffer
a pointer into a Unified Shared Memory allocation to query.

ptr need not be a value returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL, but the query may be faster if it is.

ptr
,
int param_name, ByteBuffer
a pointer to memory where the appropriate result being queried is returned.

If param_value is NULL, it is ignored.

param_value
,
PointerBuffer
the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
param_value_size_ret
)

Queries information about a Unified Shared Memory allocation.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following error values:
  • INVALID_CONTEXT if context is not a valid context.
  • INVALID_VALUE if param_name is not a valid Unified Shared Memory allocation query.
  • INVALID_VALUE` if param_value is not NULL and param_value_size is smaller than the size of the query return type.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetMemAllocInfoINTEL
(long
a valid OpenCL context to query for information about the Unified Shared Memory allocation
context
,
ByteBuffer
a pointer into a Unified Shared Memory allocation to query.

ptr need not be a value returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL, but the query may be faster if it is.

ptr
,
int param_name, IntBuffer
a pointer to memory where the appropriate result being queried is returned.

If param_value is NULL, it is ignored.

param_value
,
PointerBuffer
the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
param_value_size_ret
)

Queries information about a Unified Shared Memory allocation.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following error values:
  • INVALID_CONTEXT if context is not a valid context.
  • INVALID_VALUE if param_name is not a valid Unified Shared Memory allocation query.
  • INVALID_VALUE` if param_value is not NULL and param_value_size is smaller than the size of the query return type.
  • OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation on the device.
  • OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL implementation on the host.
clGetMemAllocInfoINTEL
(long
a valid OpenCL context to query for information about the Unified Shared Memory allocation
context
,
ByteBuffer
a pointer into a Unified Shared Memory allocation to query.

ptr need not be a value returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL, but the query may be faster if it is.

ptr
,
int param_name, PointerBuffer
a pointer to memory where the appropriate result being queried is returned.

If param_value is NULL, it is ignored.

param_value
,
PointerBuffer
the actual size in bytes of data being queried by param_value. If NULL, it is ignored.
param_value_size_ret
)

Queries information about a Unified Shared Memory allocation.

public static int
clGetMemAllocInfoINTEL(long context, ByteBuffer ptr, int param_name, int[] param_value, PointerBuffer param_value_size_ret)

Array version of: GetMemAllocInfoINTEL

public static ByteBuffer

Returns:

a valid non-NULL address and SUCCESS will be returned in errcode_ret if the host Unified Shared Memory is allocated successfully. Otherwise, NULL will be returned, and errcode_ret will be set to one of the following error values:
clHostMemAllocINTEL
(long
a valid OpenCL context used to allocate the host memory
context
,
LongBuffer
an optional list of allocation properties and their corresponding values.

The list is terminated with the special property 0. If no allocation properties are required, properties may be NULL.

properties
,
long
the size in bytes of the requested host allocation
size
,
int
the minimum alignment in bytes for the requested host allocation.

It must be a power of two and must be equal to or smaller than the size of the largest data type supported by any OpenCL device in context. If alignment is 0, a default alignment will be used that is equal to the size of the largest data type supported by any OpenCL device in context.

alignment
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Allocates host Unified Shared Memory.

public static ByteBuffer
clHostMemAllocINTEL(long context, long[] properties, long size, int alignment, int[] errcode_ret)

Array version of: HostMemAllocINTEL

public static int

Returns:

SUCCESS if the function executes successfully. Otherwise, they will return one of the following error values:
clMemBlockingFreeINTEL
(long
a valid OpenCL context used to free the Unified Shared Memory allocation
context
,
ByteBuffer
the Unified Shared Memory allocation to free.

It must be a value returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL, or a NULL pointer. If ptr is NULL then no action occurs.

ptr
)

Frees a Unified Shared Memory allocation.

public static int

Returns:

SUCCESS if the function executes successfully. Otherwise, they will return one of the following error values:
clMemFreeINTEL
(long
a valid OpenCL context used to free the Unified Shared Memory allocation
context
,
ByteBuffer
the Unified Shared Memory allocation to free.

It must be a value returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL, or a NULL pointer. If ptr is NULL then no action occurs.

ptr
)

Frees a Unified Shared Memory allocation.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
ByteBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
ShortBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
IntBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
LongBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
FloatBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
DoubleBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int

Returns:

SUCCESS if the function is executed successfully. Otherwise, it will return one of the following errors:
clSetKernelArgMemPointerINTEL
(long
a valid kernel object
kernel
,
int
the argument index to set.

Arguments to the kernel are referred to by indices that go from 0 for the leftmost argument to n - 1, where n is the total number of arguments declared by a kernel.

arg_index
,
PointerBuffer
the pointer value that should be used as the argument specified by arg_index.

The pointer value will be used as the argument by all API calls that enqueue a kernel until the argument value is set to a different pointer value by a subsequent call. A pointer into Unified Shared Memory allocation may only be set as an argument value for an argument declared to be a pointer to global or constant memory. For devices supporting shared system allocations, any pointer value is valid. Otherwise, the pointer value must be NULL or must point into a Unified Shared Memory allocation returned by HostMemAllocINTEL, DeviceMemAllocINTEL, or SharedMemAllocINTEL.

arg_value
)

Sets a pointer into a Unified Shared Memory allocation as an argument to a kernel.

public static int
clSetKernelArgMemPointerINTEL(long kernel, int arg_index, short[] arg_value)

Array version of: SetKernelArgMemPointerINTEL

public static int
clSetKernelArgMemPointerINTEL(long kernel, int arg_index, int[] arg_value)

Array version of: SetKernelArgMemPointerINTEL

public static int
clSetKernelArgMemPointerINTEL(long kernel, int arg_index, long[] arg_value)

Array version of: SetKernelArgMemPointerINTEL

public static int
clSetKernelArgMemPointerINTEL(long kernel, int arg_index, float[] arg_value)

Array version of: SetKernelArgMemPointerINTEL

public static int
clSetKernelArgMemPointerINTEL(long kernel, int arg_index, double[] arg_value)

Array version of: SetKernelArgMemPointerINTEL

public static ByteBuffer

Returns:

a valid non-NULL address and SUCCESS will be returned in errcode_ret if the shared Unified Shared Memory is allocated successfully. Otherwise, NULL will be returned, and errcode_ret will be set to one of the following error values:
clSharedMemAllocINTEL
(long
a valid OpenCL context used to allocate the Unified Shared Memory
context
,
long
an optional OpenCL device ID to associate with the allocation.

If device is NULL then the allocation is not associated with any device. Allocations with no associated device are accessible by the host and OpenCL devices in the context that have cross-device access capabilities.

device
,
LongBuffer
an optional list of allocation properties and their corresponding values.

The list is terminated with the special property 0. If no allocation properties are required, properties may be NULL.

properties
,
long
the size in bytes of the requested device allocation
size
,
int
the minimum alignment in bytes for the requested shared allocation.

It must be a power of two and must be equal to or smaller than the size of the largest data type supported by device. If alignment is 0, a default alignment will be used that is equal to the size of largest data type supported by device. If device is NULL, alignment must be a power of two equal to or smaller than the size of the largest data type supported by any OpenCL device in context, and the default alignment will be equal to the size of the largest data type supported by any OpenCL device in context.

alignment
,
IntBuffer
will return an appropriate error code. If errcode_ret is NULL, no error code is returned.
errcode_ret
)

Allocates Unified Shared Memory with shared ownership between the host and the specified OpenCL device.

public static ByteBuffer
clSharedMemAllocINTEL(long context, long device, long[] properties, long size, int alignment, int[] errcode_ret)

Array version of: SharedMemAllocINTEL

public static long
nclDeviceMemAllocINTEL(long context, long device, long properties, long size, int alignment, long errcode_ret)

Unsafe version of: DeviceMemAllocINTEL

public static int
nclEnqueueMemAdviseINTEL(long command_queue, long ptr, long
the size of the memory region
size
,
long advice, int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueMemAdviseINTEL

public static int
nclEnqueueMemcpyINTEL(long command_queue, int blocking, long dst_ptr, long src_ptr, long size, int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueMemcpyINTEL

public static int
nclEnqueueMemFillINTEL(long command_queue, long dst_ptr, long pattern, long
the size of of the value to write to the Unified Shared Memory region, in bytes.

Must be a power of two and must be less than or equal to the size of the largest integer or floating-point vector data type supported by the device.

pattern_size
,
long
the size of the memory region to set, in bytes
size
,
int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueMemFillINTEL

public static int
nclEnqueueMigrateMemINTEL(long command_queue, long ptr, long
the size of the memory region to migrate
size
,
long flags, int
the number of events in event_wait_list
num_events_in_wait_list
,
long event_wait_list, long event)

Unsafe version of: EnqueueMigrateMemINTEL

public static int
nclGetMemAllocInfoINTEL(long context, long ptr, int param_name, long
the size in bytes of memory pointed to by param_value. This size must be ≥ size of return type. If param_value is NULL, it is ignored.
param_value_size
,
long param_value, long param_value_size_ret)

Unsafe version of: GetMemAllocInfoINTEL

public static long
nclHostMemAllocINTEL(long context, long properties, long size, int alignment, long errcode_ret)

Unsafe version of: HostMemAllocINTEL

public static int
nclMemBlockingFreeINTEL(long context, long ptr)

Unsafe version of: MemBlockingFreeINTEL

public static int
nclMemFreeINTEL(long context, long ptr)

Unsafe version of: MemFreeINTEL

public static int
nclSetKernelArgMemPointerINTEL(long kernel, int arg_index, long arg_value)

Unsafe version of: SetKernelArgMemPointerINTEL

public static long
nclSharedMemAllocINTEL(long context, long device, long properties, long size, int alignment, long errcode_ret)

Unsafe version of: SharedMemAllocINTEL

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait