This extension defines an API that allows improved control of the physical memory used by the graphics device.
It allows to share a memory allocated by the Graphics driver to be used by other device on the bus by exposing a write-only bus address. One example of application would be a video capture device which would DMA into the GPU memory.
It also offers the reverse operation of specifying a buffer allocated on another device to be used for write access by the GPU.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | CL_COMMAND_MAKE_BUFFERS_RESIDENT_AMD
New command types for the events returned by the amd_bus_addressable_memory functions. |
| public static final int | CL_COMMAND_WAIT_SIGNAL_AMD
New command types for the events returned by the amd_bus_addressable_memory functions. |
| public static final int | CL_COMMAND_WRITE_SIGNAL_AMD
New command types for the events returned by the amd_bus_addressable_memory functions. |
| public static final int | CL_MEM_BUS_ADDRESSABLE_AMD
Accepted by the |
| public static final int | CL_MEM_EXTERNAL_PHYSICAL_AMD
Accepted by the |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public static int | Returns: SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
a command-queue command_queue, PointerBuffer a pointer to a list of memory objects created with mem_objects, boolean MEM_BUS_ADDRESSABLE_AMD flagindicates if read operation is blocking or non-blocking blocking_make_resident, CLBusAddressAMD.a pointer to a list of bus_addresses,CLBusAddressAMD structuresa list of events that need to complete before this particular command can be executed. If event_wait_list, PointerBuffer 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.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)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.The application requires the bus address in order to access the buffers from a remote device. |
| public static int | Returns: SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
a command-queue command_queue, long a memory object mem_object, int the signal value value, PointerBuffer a list of events that need to complete before this particular command can be executed. If event_wait_list, PointerBuffer 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.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)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.Instructs the OpenCL to wait until |
| public static int | Returns: SUCCESS if the function is executed successfully. Otherwise, it returns one of the following errors:
a command-queue command_queue, long a memory object mem_object, int the signal value value, long the write offset offset, PointerBuffer a list of events that need to complete before this particular command can be executed. If event_wait_list, PointerBuffer 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.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)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.This command instructs the OpenCL to write |
| public static int | nclEnqueueMakeBuffersResidentAMD(long command_queue, int
the number of memory objects in num_mem_objs, long mem_objects, int blocking_make_resident, long bus_addresses, int mem_objectsthe number of events in num_events_in_wait_list, long event_wait_list, long event)event_wait_listUnsafe version of: |
| public static int | nclEnqueueWaitSignalAMD(long command_queue, long mem_object, int value, int
the number of events in num_events_in_wait_list, long event_wait_list, long event)event_wait_listUnsafe version of: |
| public static int | nclEnqueueWriteSignalAMD(long command_queue, long mem_object, int value, long offset, int
the number of events in num_events_in_wait_list, long event_wait_list, long event)event_wait_listUnsafe version of: |
| CL_COMMAND_MAKE_BUFFERS_RESIDENT_AMD | back to summary |
|---|---|
| public static final int CL_COMMAND_MAKE_BUFFERS_RESIDENT_AMD New command types for the events returned by the amd_bus_addressable_memory functions. | |
| CL_COMMAND_WAIT_SIGNAL_AMD | back to summary |
|---|---|
| public static final int CL_COMMAND_WAIT_SIGNAL_AMD New command types for the events returned by the amd_bus_addressable_memory functions. | |
| CL_COMMAND_WRITE_SIGNAL_AMD | back to summary |
|---|---|
| public static final int CL_COMMAND_WRITE_SIGNAL_AMD New command types for the events returned by the amd_bus_addressable_memory functions. | |
| CL_MEM_BUS_ADDRESSABLE_AMD | back to summary |
|---|---|
| public static final int CL_MEM_BUS_ADDRESSABLE_AMD Accepted by the This flag specifies that the application wants the OpenCL implementation to create a buffer that can be accessed by remote device DMA.
| |
| CL_MEM_EXTERNAL_PHYSICAL_AMD | back to summary |
|---|---|
| public static final int CL_MEM_EXTERNAL_PHYSICAL_AMD Accepted by the This flag specifies that the application wants the OpenCL implementation to create a buffer from an already allocated memory on remote device.
| |
| AMDBusAddressableMemory | back to summary |
|---|---|
| protected AMDBusAddressableMemory() | |
| clEnqueueMakeBuffersResidentAMD | back to summary |
|---|---|
| public static int clEnqueueMakeBuffersResidentAMD(long command_queue, PointerBuffer mem_objects, boolean blocking_make_resident, CLBusAddressAMD. The application requires the bus address in order to access the buffers from a remote device. As the OS may rearrange buffers to make space for other memory allocation, we must make the buffers resident before trying to access them on remote device. This function is used to make buffers resident.
| |
| clEnqueueWaitSignalAMD | back to summary |
|---|---|
| public static int clEnqueueWaitSignalAMD(long command_queue, long mem_object, int value, PointerBuffer event_wait_list, PointerBuffer event) Instructs the OpenCL to wait until
| |
| clEnqueueWriteSignalAMD | back to summary |
|---|---|
| public static int clEnqueueWriteSignalAMD(long command_queue, long mem_object, int value, long offset, PointerBuffer event_wait_list, PointerBuffer event) This command instructs the OpenCL to write
| |
| nclEnqueueMakeBuffersResidentAMD | back to summary |
|---|---|
| public static int nclEnqueueMakeBuffersResidentAMD(long command_queue, int num_mem_objs, long mem_objects, int blocking_make_resident, long bus_addresses, int num_events_in_wait_list, long event_wait_list, long event) Unsafe version of:
| |
| nclEnqueueWaitSignalAMD | back to summary |
|---|---|
| public static int nclEnqueueWaitSignalAMD(long command_queue, long mem_object, int value, int num_events_in_wait_list, long event_wait_list, long event) Unsafe version of:
| |
| nclEnqueueWriteSignalAMD | back to summary |
|---|---|
| public static int nclEnqueueWriteSignalAMD(long command_queue, long mem_object, int value, long offset, int num_events_in_wait_list, long event_wait_list, long event) Unsafe version of:
| |