public class EXTMigrateMemobject extends java.lang.ObjectNative bindings to the ext_migrate_memobject extension.
This extension defines a mechanism for assigning which device an OpenCL memory object resides.
Fields Modifier and Type Field Description
CL_COMMAND_MIGRATE_MEM_OBJECT_EXTReturned in the
param_valueparameter of the clGetEventInfo when
CL_MIGRATE_MEM_OBJECT_HOST_EXTThis flag specifies that the specified set of memory objects are to be migrated to the host, regardless of the target command queue.
All Methods Static Methods Concrete Methods Modifier and Type Method Description
clEnqueueMigrateMemObjectEXT(long command_queue, PointerBuffer mem_objects, long flags, PointerBuffer event_wait_list, PointerBuffer event)Provides the application with a way to indicate which device a set of memory objects should be associated.
nclEnqueueMigrateMemObjectEXT(long command_queue, int num_mem_objects, long mem_objects, long flags, int num_events_in_wait_list, long event_wait_list, long event)Unsafe version of:
public static final int CL_MIGRATE_MEM_OBJECT_HOST_EXT
- See Also:
- Constant Field Values
public static int nclEnqueueMigrateMemObjectEXT(long command_queue, int num_mem_objects, long mem_objects, long flags, int num_events_in_wait_list, long event_wait_list, long event)Unsafe version of:
num_mem_objects- the number of memory objects specified in the
num_events_in_wait_list- the number of events in
public static int clEnqueueMigrateMemObjectEXT(long command_queue, PointerBuffer mem_objects, long flags, @Nullable PointerBuffer event_wait_list, @Nullable PointerBuffer event)Provides the application with a way to indicate which device a set of memory objects should be associated. Typically, memory objects are implicitly migrated to a device for which enqueued commands, using the memory object, are targeted. clEnqueueMigrateMemObjectEXT allows this migration to be explicitly performed ahead of the dependent commands. This permits an application to overlap the placement of memory objects with other unrelated operations. Once the OpenCL event, returned from clEnqueueMigrateMemObject, has been marked
COMPLETEthe memory objects specified in
mem_objectshave been successfully migrated to the device associated with
command_queue. The migrated memory object shall remain resident on the device until another command is enqueued that either implicitly or explicitly migrates it away. As well, clEnqueueMigrateMemObjectEXT can be used to direct the initial placement of a memory object, after creation, possibly avoiding the initial overhead of instantiating the object on the first enqueued command to use it.
The user is responsible for managing the event dependencies, associated with this command, in order to avoid overlapping access to memory objects. Improperly specified event dependencies passed to clEnqueueMigrateMemObject could result in undefined results.
command_queue- a valid command queue
mem_objects- the memory objects to migrate to the OpenCL device associated with
flags- a bitfield that is used to specify migration options. One of:
event_wait_list- a list of events that need to complete before this particular command can be executed. If
NULL, then this particular command does not wait on any event to complete. The events specified in
event_wait_listact as synchronization points. The context associated with events in
command_queuemust be the same.
event- 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.
NULLin 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
eventarguments are not
NULL, the event argument should not refer to an element of the