Package org.lwjgl.opencl
Class EXTMigrateMemobject
- java.lang.Object
-
- org.lwjgl.opencl.EXTMigrateMemobject
-
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.
-
-
Field Summary
Fields Modifier and Type Field and Description static intCL_COMMAND_MIGRATE_MEM_OBJECT_EXTstatic intCL_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.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static intclEnqueueMigrateMemObjectEXT(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.
-
-
-
Field Detail
-
CL_MIGRATE_MEM_OBJECT_HOST_EXT
public static final int CL_MIGRATE_MEM_OBJECT_HOST_EXT
This flag specifies that the specified set of memory objects are to be migrated to the host, regardless of the target command queue.- See Also:
- Constant Field Values
-
CL_COMMAND_MIGRATE_MEM_OBJECT_EXT
public static final int CL_COMMAND_MIGRATE_MEM_OBJECT_EXT
- See Also:
- Constant Field Values
-
-
Method Detail
-
clEnqueueMigrateMemObjectEXT
public static int 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. 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 markedCOMPLETEthe memory objects specified inmem_objectshave been successfully migrated to the device associated withcommand_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.
- Parameters:
command_queue- a valid command queuemem_objects- the memory objects to migrate to the OpenCL device associated withcommand_queueflags- a bitfield that is used to specify migration options. One of:0 MIGRATE_MEM_OBJECT_HOST_EXTevent_wait_list- a list of events that need to complete before this particular command can be executed. Ifevent_wait_listisNULL, then this particular command does not wait on any event to complete. The events specified inevent_wait_listact as synchronization points. The context associated with events inevent_wait_listandcommand_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.eventcan beNULLin 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 theevent_wait_listand theeventarguments are notNULL, the event argument should not refer to an element of theevent_wait_listarray.
-
-