Class CL12
- java.lang.Object
-
- org.lwjgl.opencl.CL10
-
- org.lwjgl.opencl.CL11
-
- org.lwjgl.opencl.CL12
-
-
Field Summary
-
Fields inherited from class org.lwjgl.opencl.CL10
CL_A, CL_ADDRESS_CLAMP, CL_ADDRESS_CLAMP_TO_EDGE, CL_ADDRESS_NONE, CL_ADDRESS_REPEAT, CL_ARGB, CL_BGRA, CL_BUILD_ERROR, CL_BUILD_IN_PROGRESS, CL_BUILD_NONE, CL_BUILD_PROGRAM_FAILURE, CL_BUILD_SUCCESS, CL_COMMAND_ACQUIRE_GL_OBJECTS, CL_COMMAND_COPY_BUFFER, CL_COMMAND_COPY_BUFFER_TO_IMAGE, CL_COMMAND_COPY_IMAGE, CL_COMMAND_COPY_IMAGE_TO_BUFFER, CL_COMMAND_MAP_BUFFER, CL_COMMAND_MAP_IMAGE, CL_COMMAND_MARKER, CL_COMMAND_NATIVE_KERNEL, CL_COMMAND_NDRANGE_KERNEL, CL_COMMAND_READ_BUFFER, CL_COMMAND_READ_IMAGE, CL_COMMAND_RELEASE_GL_OBJECTS, CL_COMMAND_TASK, CL_COMMAND_UNMAP_MEM_OBJECT, CL_COMMAND_WRITE_BUFFER, CL_COMMAND_WRITE_IMAGE, CL_COMPILER_NOT_AVAILABLE, CL_COMPLETE, CL_CONTEXT_DEVICES, CL_CONTEXT_PLATFORM, CL_CONTEXT_PROPERTIES, CL_CONTEXT_REFERENCE_COUNT, CL_DEVICE_ADDRESS_BITS, CL_DEVICE_AVAILABLE, CL_DEVICE_COMPILER_AVAILABLE, CL_DEVICE_ENDIAN_LITTLE, CL_DEVICE_ERROR_CORRECTION_SUPPORT, CL_DEVICE_EXECUTION_CAPABILITIES, CL_DEVICE_EXTENSIONS, CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, CL_DEVICE_GLOBAL_MEM_CACHE_TYPE, CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE, CL_DEVICE_GLOBAL_MEM_SIZE, CL_DEVICE_IMAGE_SUPPORT, CL_DEVICE_IMAGE2D_MAX_HEIGHT, CL_DEVICE_IMAGE2D_MAX_WIDTH, CL_DEVICE_IMAGE3D_MAX_DEPTH, CL_DEVICE_IMAGE3D_MAX_HEIGHT, CL_DEVICE_IMAGE3D_MAX_WIDTH, CL_DEVICE_LOCAL_MEM_SIZE, CL_DEVICE_LOCAL_MEM_TYPE, CL_DEVICE_MAX_CLOCK_FREQUENCY, CL_DEVICE_MAX_COMPUTE_UNITS, CL_DEVICE_MAX_CONSTANT_ARGS, CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE, CL_DEVICE_MAX_MEM_ALLOC_SIZE, CL_DEVICE_MAX_PARAMETER_SIZE, CL_DEVICE_MAX_READ_IMAGE_ARGS, CL_DEVICE_MAX_SAMPLERS, CL_DEVICE_MAX_WORK_GROUP_SIZE, CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS, CL_DEVICE_MAX_WORK_ITEM_SIZES, CL_DEVICE_MAX_WRITE_IMAGE_ARGS, CL_DEVICE_MEM_BASE_ADDR_ALIGN, CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, CL_DEVICE_NAME, CL_DEVICE_NOT_AVAILABLE, CL_DEVICE_NOT_FOUND, CL_DEVICE_PLATFORM, CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR, CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE, CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT, CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG, CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT, CL_DEVICE_PROFILE, CL_DEVICE_PROFILING_TIMER_RESOLUTION, CL_DEVICE_QUEUE_PROPERTIES, CL_DEVICE_SINGLE_FP_CONFIG, CL_DEVICE_TYPE, CL_DEVICE_TYPE_ACCELERATOR, CL_DEVICE_TYPE_ALL, CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_DEFAULT, CL_DEVICE_TYPE_GPU, CL_DEVICE_VENDOR, CL_DEVICE_VENDOR_ID, CL_DEVICE_VERSION, CL_DRIVER_VERSION, CL_EVENT_COMMAND_EXECUTION_STATUS, CL_EVENT_COMMAND_QUEUE, CL_EVENT_COMMAND_TYPE, CL_EVENT_REFERENCE_COUNT, CL_EXEC_KERNEL, CL_EXEC_NATIVE_KERNEL, CL_FALSE, CL_FILTER_LINEAR, CL_FILTER_NEAREST, CL_FLOAT, CL_FP_DENORM, CL_FP_FMA, CL_FP_INF_NAN, CL_FP_ROUND_TO_INF, CL_FP_ROUND_TO_NEAREST, CL_FP_ROUND_TO_ZERO, CL_GLOBAL, CL_HALF_FLOAT, CL_IMAGE_DEPTH, CL_IMAGE_ELEMENT_SIZE, CL_IMAGE_FORMAT, CL_IMAGE_FORMAT_MISMATCH, CL_IMAGE_FORMAT_NOT_SUPPORTED, CL_IMAGE_HEIGHT, CL_IMAGE_ROW_PITCH, CL_IMAGE_SLICE_PITCH, CL_IMAGE_WIDTH, CL_INTENSITY, CL_INVALID_ARG_INDEX, CL_INVALID_ARG_SIZE, CL_INVALID_ARG_VALUE, CL_INVALID_BINARY, CL_INVALID_BUFFER_SIZE, CL_INVALID_BUILD_OPTIONS, CL_INVALID_COMMAND_QUEUE, CL_INVALID_CONTEXT, CL_INVALID_DEVICE, CL_INVALID_DEVICE_TYPE, CL_INVALID_EVENT, CL_INVALID_EVENT_WAIT_LIST, CL_INVALID_GLOBAL_OFFSET, CL_INVALID_GLOBAL_WORK_SIZE, CL_INVALID_HOST_PTR, CL_INVALID_IMAGE_FORMAT_DESCRIPTOR, CL_INVALID_IMAGE_SIZE, CL_INVALID_KERNEL, CL_INVALID_KERNEL_ARGS, CL_INVALID_KERNEL_DEFINITION, CL_INVALID_KERNEL_NAME, CL_INVALID_MEM_OBJECT, CL_INVALID_OPERATION, CL_INVALID_PLATFORM, CL_INVALID_PROGRAM, CL_INVALID_PROGRAM_EXECUTABLE, CL_INVALID_QUEUE_PROPERTIES, CL_INVALID_SAMPLER, CL_INVALID_VALUE, CL_INVALID_WORK_DIMENSION, CL_INVALID_WORK_GROUP_SIZE, CL_INVALID_WORK_ITEM_SIZE, CL_KERNEL_COMPILE_WORK_GROUP_SIZE, CL_KERNEL_CONTEXT, CL_KERNEL_FUNCTION_NAME, CL_KERNEL_LOCAL_MEM_SIZE, CL_KERNEL_NUM_ARGS, CL_KERNEL_PROGRAM, CL_KERNEL_REFERENCE_COUNT, CL_KERNEL_WORK_GROUP_SIZE, CL_LOCAL, CL_LUMINANCE, CL_MAP_FAILURE, CL_MAP_READ, CL_MAP_WRITE, CL_MEM_ALLOC_HOST_PTR, CL_MEM_CONTEXT, CL_MEM_COPY_HOST_PTR, CL_MEM_COPY_OVERLAP, CL_MEM_FLAGS, CL_MEM_HOST_PTR, CL_MEM_MAP_COUNT, CL_MEM_OBJECT_ALLOCATION_FAILURE, CL_MEM_OBJECT_BUFFER, CL_MEM_OBJECT_IMAGE2D, CL_MEM_OBJECT_IMAGE3D, CL_MEM_READ_ONLY, CL_MEM_READ_WRITE, CL_MEM_REFERENCE_COUNT, CL_MEM_SIZE, CL_MEM_TYPE, CL_MEM_USE_HOST_PTR, CL_MEM_WRITE_ONLY, CL_NONE, CL_OUT_OF_HOST_MEMORY, CL_OUT_OF_RESOURCES, CL_PLATFORM_EXTENSIONS, CL_PLATFORM_NAME, CL_PLATFORM_PROFILE, CL_PLATFORM_VENDOR, CL_PLATFORM_VERSION, CL_PROFILING_COMMAND_END, CL_PROFILING_COMMAND_QUEUED, CL_PROFILING_COMMAND_START, CL_PROFILING_COMMAND_SUBMIT, CL_PROFILING_INFO_NOT_AVAILABLE, CL_PROGRAM_BINARIES, CL_PROGRAM_BINARY_SIZES, CL_PROGRAM_BUILD_LOG, CL_PROGRAM_BUILD_OPTIONS, CL_PROGRAM_BUILD_STATUS, CL_PROGRAM_CONTEXT, CL_PROGRAM_DEVICES, CL_PROGRAM_NUM_DEVICES, CL_PROGRAM_REFERENCE_COUNT, CL_PROGRAM_SOURCE, CL_QUEUE_CONTEXT, CL_QUEUE_DEVICE, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, CL_QUEUE_PROFILING_ENABLE, CL_QUEUE_PROPERTIES, CL_QUEUE_REFERENCE_COUNT, CL_QUEUED, CL_R, CL_RA, CL_READ_ONLY_CACHE, CL_READ_WRITE_CACHE, CL_RG, CL_RGB, CL_RGBA, CL_RUNNING, CL_SAMPLER_ADDRESSING_MODE, CL_SAMPLER_CONTEXT, CL_SAMPLER_FILTER_MODE, CL_SAMPLER_NORMALIZED_COORDS, CL_SAMPLER_REFERENCE_COUNT, CL_SIGNED_INT16, CL_SIGNED_INT32, CL_SIGNED_INT8, CL_SNORM_INT16, CL_SNORM_INT8, CL_SUBMITTED, CL_SUCCESS, CL_TRUE, CL_UNORM_INT_101010, CL_UNORM_INT16, CL_UNORM_INT8, CL_UNORM_SHORT_555, CL_UNORM_SHORT_565, CL_UNSIGNED_INT16, CL_UNSIGNED_INT32, CL_UNSIGNED_INT8, CL_VERSION_1_0
-
Fields inherited from class org.lwjgl.opencl.CL11
CL_ADDRESS_MIRRORED_REPEAT, CL_BUFFER_CREATE_TYPE_REGION, CL_COMMAND_COPY_BUFFER_RECT, CL_COMMAND_READ_BUFFER_RECT, CL_COMMAND_USER, CL_COMMAND_WRITE_BUFFER_RECT, CL_CONTEXT_NUM_DEVICES, CL_DEVICE_HOST_UNIFIED_MEMORY, CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR, CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE, CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF, CL_DEVICE_NATIVE_VECTOR_WIDTH_INT, CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG, CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT, CL_DEVICE_OPENCL_C_VERSION, CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF, CL_EVENT_CONTEXT, CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST, CL_FP_SOFT_FLOAT, CL_INVALID_PROPERTY, CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE, CL_KERNEL_PRIVATE_MEM_SIZE, CL_MEM_ASSOCIATED_MEMOBJECT, CL_MEM_OFFSET, CL_MISALIGNED_SUB_BUFFER_OFFSET, CL_RGBx, CL_RGx, CL_Rx, CL_VERSION_1_1
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
clCompileProgram(long program, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, org.lwjgl.PointerBuffer input_headers, org.lwjgl.PointerBuffer header_include_names, CLProgramCallbackI pfn_notify, long user_data)
Compiles a program's source for all the devices or a specific device(s) in the OpenCL context associated withprogram
.static int
clCompileProgram(long program, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer options, org.lwjgl.PointerBuffer input_headers, org.lwjgl.PointerBuffer header_include_names, CLProgramCallbackI pfn_notify, long user_data)
Compiles a program's source for all the devices or a specific device(s) in the OpenCL context associated withprogram
.static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, float[] host_ptr, int[] errcode_ret)
Array version of:CreateImage
static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, int[] host_ptr, int[] errcode_ret)
Array version of:CreateImage
static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, short[] host_ptr, int[] errcode_ret)
Array version of:CreateImage
static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, java.nio.ByteBuffer host_ptr, int[] errcode_ret)
Array version of:CreateImage
static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, java.nio.ByteBuffer host_ptr, java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, java.nio.FloatBuffer host_ptr, java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, java.nio.IntBuffer host_ptr, java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.static long
clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, java.nio.ShortBuffer host_ptr, java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.static long
clCreateProgramWithBuiltInKernels(long context, long device, java.lang.CharSequence kernel_names, java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.static long
clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence kernel_names, int[] errcode_ret)
Array version of:CreateProgramWithBuiltInKernels
static long
clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence kernel_names, java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.static long
clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer kernel_names, int[] errcode_ret)
Array version of:CreateProgramWithBuiltInKernels
static long
clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer kernel_names, java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.static int
clCreateSubDevices(long in_device, org.lwjgl.PointerBuffer properties, org.lwjgl.PointerBuffer out_devices, int[] num_devices_ret)
Array version of:CreateSubDevices
static int
clCreateSubDevices(long in_device, org.lwjgl.PointerBuffer properties, org.lwjgl.PointerBuffer out_devices, java.nio.IntBuffer num_devices_ret)
Creates an array of sub-devices that each reference a non-intersecting set of compute units withinin_device
, according to a partition scheme given byproperties
.static int
clEnqueueBarrierWithWaitList(long command_queue, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
enqueues a barrier command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued incommand_queue
to complete before it completes.static int
clEnqueueFillBuffer(long command_queue, long buffer, java.nio.ByteBuffer pattern, long offset, long size, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a command to fill a buffer object with a pattern of a given pattern size.static int
clEnqueueFillImage(long command_queue, long image, float[] fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Array version of:EnqueueFillImage
static int
clEnqueueFillImage(long command_queue, long image, int[] fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Array version of:EnqueueFillImage
static int
clEnqueueFillImage(long command_queue, long image, java.nio.ByteBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.static int
clEnqueueFillImage(long command_queue, long image, java.nio.FloatBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.static int
clEnqueueFillImage(long command_queue, long image, java.nio.IntBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color.static int
clEnqueueMarkerWithWaitList(long command_queue, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a marker command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued incommand_queue
to complete before it completes.static int
clEnqueueMigrateMemObjects(long command_queue, org.lwjgl.PointerBuffer mem_objects, long flags, org.lwjgl.PointerBuffer event_wait_list, org.lwjgl.PointerBuffer event)
Enqueues a command to indicate which device a set of memory objects should be associated with.static long
clGetExtensionFunctionAddressForPlatform(long platform, java.lang.CharSequence funcname)
Returns the address of the extension function named byfuncname
for a givenplatform
.static long
clGetExtensionFunctionAddressForPlatform(long platform, java.nio.ByteBuffer funcname)
Returns the address of the extension function named byfuncname
for a givenplatform
.static int
clGetKernelArgInfo(long kernel, int arg_indx, int param_name, int[] param_value, org.lwjgl.PointerBuffer param_value_size_ret)
Array version of:GetKernelArgInfo
static int
clGetKernelArgInfo(long kernel, int arg_indx, int param_name, long[] param_value, org.lwjgl.PointerBuffer param_value_size_ret)
Array version of:GetKernelArgInfo
static int
clGetKernelArgInfo(long kernel, int arg_indx, int param_name, java.nio.ByteBuffer param_value, org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.static int
clGetKernelArgInfo(long kernel, int arg_indx, int param_name, java.nio.IntBuffer param_value, org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.static int
clGetKernelArgInfo(long kernel, int arg_indx, int param_name, java.nio.LongBuffer param_value, org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel.static long
clLinkProgram(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, long input_program, CLProgramCallbackI pfn_notify, long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.static long
clLinkProgram(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, org.lwjgl.PointerBuffer input_programs, CLProgramCallbackI pfn_notify, long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.static long
clLinkProgram(long context, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer options, org.lwjgl.PointerBuffer input_programs, CLProgramCallbackI pfn_notify, long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.static int
clReleaseDevice(long device)
Decrements the device reference count ifdevice
is a valid sub-device created by a call toCreateSubDevices
.static int
clRetainDevice(long device)
Increments the device reference count ifdevice
is a valid sub-device created by a call toCreateSubDevices
.static int
clUnloadPlatformCompiler(long platform)
Allows the implementation to release the resources allocated by the OpenCL compiler for platform.static int
nclCompileProgram(long program, int num_devices, long device_list, long options, int num_input_headers, long input_headers, long header_include_names, long pfn_notify, long user_data)
Unsafe version of:CompileProgram
static long
nclCreateImage(long context, long flags, long image_format, long image_desc, long host_ptr, long errcode_ret)
Unsafe version of:CreateImage
static long
nclCreateProgramWithBuiltInKernels(long context, int num_devices, long device_list, long kernel_names, long errcode_ret)
Unsafe version of:CreateProgramWithBuiltInKernels
static int
nclCreateSubDevices(long in_device, long properties, int num_devices, long out_devices, long num_devices_ret)
Unsafe version of:CreateSubDevices
static int
nclEnqueueBarrierWithWaitList(long command_queue, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueBarrierWithWaitList
static int
nclEnqueueFillBuffer(long command_queue, long buffer, long pattern, long pattern_size, long offset, long size, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueFillBuffer
static int
nclEnqueueFillImage(long command_queue, long image, long fill_color, long origin, long region, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueFillImage
static int
nclEnqueueMarkerWithWaitList(long command_queue, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueMarkerWithWaitList
static int
nclEnqueueMigrateMemObjects(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:EnqueueMigrateMemObjects
static long
nclGetExtensionFunctionAddressForPlatform(long platform, long funcname)
Unsafe version of:GetExtensionFunctionAddressForPlatform
static int
nclGetKernelArgInfo(long kernel, int arg_indx, int param_name, long param_value_size, long param_value, long param_value_size_ret)
Unsafe version of:GetKernelArgInfo
static long
nclLinkProgram(long context, int num_devices, long device_list, long options, int num_input_programs, long input_programs, long pfn_notify, long user_data)
Unsafe version of:LinkProgram
-
Methods inherited from class org.lwjgl.opencl.CL10
clBuildProgram, clBuildProgram, clBuildProgram, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateBuffer, clCreateCommandQueue, clCreateCommandQueue, clCreateContext, clCreateContext, clCreateContext, clCreateContextFromType, clCreateContextFromType, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage2D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateImage3D, clCreateKernel, clCreateKernel, clCreateKernel, clCreateKernel, clCreateKernelsInProgram, clCreateKernelsInProgram, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithBinary, clCreateProgramWithSource, clCreateProgramWithSource, clCreateProgramWithSource, clCreateProgramWithSource, clCreateSampler, clCreateSampler, clEnqueueBarrier, clEnqueueCopyBuffer, clEnqueueCopyBufferToImage, clEnqueueCopyImage, clEnqueueCopyImageToBuffer, clEnqueueMapBuffer, clEnqueueMapBuffer, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMapImage, clEnqueueMarker, clEnqueueNativeKernel, clEnqueueNativeKernel, clEnqueueNDRangeKernel, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadBuffer, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueReadImage, clEnqueueTask, clEnqueueUnmapMemObject, clEnqueueWaitForEvents, clEnqueueWaitForEvents, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteBuffer, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clEnqueueWriteImage, clFinish, clFlush, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetCommandQueueInfo, clGetContextInfo, clGetContextInfo, clGetContextInfo, clGetContextInfo, clGetDeviceIDs, clGetDeviceIDs, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetDeviceInfo, clGetEventInfo, clGetEventInfo, clGetEventInfo, clGetEventInfo, clGetEventProfilingInfo, clGetEventProfilingInfo, clGetEventProfilingInfo, clGetExtensionFunctionAddress, clGetExtensionFunctionAddress, clGetImageInfo, clGetImageInfo, clGetImageInfo, clGetImageInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetKernelWorkGroupInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetMemObjectInfo, clGetPlatformIDs, clGetPlatformIDs, clGetPlatformInfo, clGetPlatformInfo, clGetPlatformInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramBuildInfo, clGetProgramInfo, clGetProgramInfo, clGetProgramInfo, clGetProgramInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSamplerInfo, clGetSupportedImageFormats, clGetSupportedImageFormats, clReleaseCommandQueue, clReleaseContext, clReleaseEvent, clReleaseKernel, clReleaseMemObject, clReleaseProgram, clReleaseSampler, clRetainCommandQueue, clRetainContext, clRetainEvent, clRetainKernel, clRetainMemObject, clRetainProgram, clRetainSampler, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg, clSetKernelArg1b, clSetKernelArg1d, clSetKernelArg1f, clSetKernelArg1i, clSetKernelArg1l, clSetKernelArg1p, clSetKernelArg1s, clSetKernelArg2b, clSetKernelArg2d, clSetKernelArg2f, clSetKernelArg2i, clSetKernelArg2l, clSetKernelArg2p, clSetKernelArg2s, clSetKernelArg4b, clSetKernelArg4d, clSetKernelArg4f, clSetKernelArg4i, clSetKernelArg4l, clSetKernelArg4p, clSetKernelArg4s, clUnloadCompiler, clWaitForEvents, clWaitForEvents, nclBuildProgram, nclCreateBuffer, nclCreateCommandQueue, nclCreateContext, nclCreateContextFromType, nclCreateImage2D, nclCreateImage3D, nclCreateKernel, nclCreateKernelsInProgram, nclCreateProgramWithBinary, nclCreateProgramWithSource, nclCreateSampler, nclEnqueueCopyBuffer, nclEnqueueCopyBufferToImage, nclEnqueueCopyImage, nclEnqueueCopyImageToBuffer, nclEnqueueMapBuffer, nclEnqueueMapImage, nclEnqueueMarker, nclEnqueueNativeKernel, nclEnqueueNDRangeKernel, nclEnqueueReadBuffer, nclEnqueueReadImage, nclEnqueueTask, nclEnqueueUnmapMemObject, nclEnqueueWaitForEvents, nclEnqueueWriteBuffer, nclEnqueueWriteImage, nclGetCommandQueueInfo, nclGetContextInfo, nclGetDeviceIDs, nclGetDeviceInfo, nclGetEventInfo, nclGetEventProfilingInfo, nclGetExtensionFunctionAddress, nclGetImageInfo, nclGetKernelInfo, nclGetKernelWorkGroupInfo, nclGetMemObjectInfo, nclGetPlatformIDs, nclGetPlatformInfo, nclGetProgramBuildInfo, nclGetProgramInfo, nclGetSamplerInfo, nclGetSupportedImageFormats, nclSetKernelArg, nclWaitForEvents
-
Methods inherited from class org.lwjgl.opencl.CL11
clCreateSubBuffer, clCreateSubBuffer, clCreateUserEvent, clCreateUserEvent, clEnqueueCopyBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueReadBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clEnqueueWriteBufferRect, clSetEventCallback, clSetMemObjectDestructorCallback, clSetUserEventStatus, nclCreateSubBuffer, nclCreateUserEvent, nclEnqueueCopyBufferRect, nclEnqueueReadBufferRect, nclEnqueueWriteBufferRect, nclSetEventCallback, nclSetMemObjectDestructorCallback
-
-
-
-
Field Detail
-
CL_COMPILE_PROGRAM_FAILURE, CL_LINKER_NOT_AVAILABLE, CL_LINK_PROGRAM_FAILURE, CL_DEVICE_PARTITION_FAILED, CL_KERNEL_ARG_INFO_NOT_AVAILABLE, CL_INVALID_IMAGE_DESCRIPTOR, CL_INVALID_COMPILER_OPTIONS, CL_INVALID_LINKER_OPTIONS, CL_INVALID_DEVICE_PARTITION_COUNT
Error Codes.
-
CL_VERSION_1_2
OpenCL Version.
-
CL_BLOCKING, CL_NON_BLOCKING
cl_bool
-
CL_DEVICE_TYPE_CUSTOM
cl_device_type - bitfield
-
CL_DEVICE_DOUBLE_FP_CONFIG, CL_DEVICE_LINKER_AVAILABLE, CL_DEVICE_BUILT_IN_KERNELS, CL_DEVICE_IMAGE_MAX_BUFFER_SIZE, CL_DEVICE_IMAGE_MAX_ARRAY_SIZE, CL_DEVICE_PARENT_DEVICE, CL_DEVICE_PARTITION_MAX_SUB_DEVICES, CL_DEVICE_PARTITION_PROPERTIES, CL_DEVICE_PARTITION_AFFINITY_DOMAIN, CL_DEVICE_PARTITION_TYPE, CL_DEVICE_REFERENCE_COUNT, CL_DEVICE_PREFERRED_INTEROP_USER_SYNC, CL_DEVICE_PRINTF_BUFFER_SIZE
cl_device_info
-
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
cl_device_fp_config - bitfield
-
CL_CONTEXT_INTEROP_USER_SYNC
cl_context_properties
-
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
cl_device_partition_property list null-terminator
-
CL_DEVICE_PARTITION_EQUALLY
Split the aggregate device into as many smaller aggregate devices as can be created, each containingn
compute units. The valuen
is passed as the value accompanying this property. Ifn
does not divide evenly intoDEVICE_PARTITION_MAX_COMPUTE_UNITS
, then the remaining compute units are not used.
-
CL_DEVICE_PARTITION_BY_COUNTS
This property is followed by aDEVICE_PARTITION_BY_COUNTS_LIST_END
terminated list of compute unit counts. For each nonzero countm
in the list, a sub-device is created withm
compute units in it.The number of non-zero count entries in the list may not exceed
DEVICE_PARTITION_MAX_SUB_DEVICES
.The total number of compute units specified may not exceed
DEVICE_PARTITION_MAX_COMPUTE_UNITS
.
-
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
Split the device into smaller aggregate devices containing one or more compute units that all share part of a cache hierarchy. The value accompanying this property may be drawn from the following list:DEVICE_AFFINITY_DOMAIN_NUMA
– Split the device into sub-devices comprised of compute units that share a NUMA node.DEVICE_AFFINITY_DOMAIN_L4_CACHE
– Split the device into sub-devices comprised of compute units that share a level 4 data cache.DEVICE_AFFINITY_DOMAIN_L3_CACHE
– Split the device into sub-devices comprised of compute units that share a level 3 data cache.DEVICE_AFFINITY_DOMAIN_L2_CACHE
– Split the device into sub-devices comprised of compute units that share a level 2 data cache.DEVICE_AFFINITY_DOMAIN_L1_CACHE
– Split the device into sub-devices comprised of compute units that share a level 1 data cache.DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
– Split the device along the next partitionable affinity domain. The implementation shall find the first level along which the device or sub-device may be further subdivided in the order NUMA, L4, L3, L2, L1, and partition the device into sub-devices comprised of compute units that share memory subsystems at this level.
The user may determine what happened by calling
GetDeviceInfo
(DEVICE_PARTITION_TYPE
) on the sub-devices.
-
CL_DEVICE_AFFINITY_DOMAIN_NUMA, CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE, CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE, CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE, CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE, CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
cl_device_affinity_domain
-
CL_MEM_HOST_WRITE_ONLY, CL_MEM_HOST_READ_ONLY, CL_MEM_HOST_NO_ACCESS
cl_mem_flags - bitfield
-
CL_MIGRATE_MEM_OBJECT_HOST, CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED
cl_mem_migration_flags - bitfield
-
CL_MEM_OBJECT_IMAGE2D_ARRAY, CL_MEM_OBJECT_IMAGE1D, CL_MEM_OBJECT_IMAGE1D_ARRAY, CL_MEM_OBJECT_IMAGE1D_BUFFER
cl_mem_object_type
-
CL_IMAGE_ARRAY_SIZE, CL_IMAGE_BUFFER, CL_IMAGE_NUM_MIP_LEVELS, CL_IMAGE_NUM_SAMPLES
cl_image_info
-
CL_MAP_WRITE_INVALIDATE_REGION
cl_map_flags - bitfield
-
CL_PROGRAM_NUM_KERNELS, CL_PROGRAM_KERNEL_NAMES
cl_program_info
-
CL_PROGRAM_BINARY_TYPE
cl_program_build_info
-
CL_PROGRAM_BINARY_TYPE_NONE, CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT, CL_PROGRAM_BINARY_TYPE_LIBRARY, CL_PROGRAM_BINARY_TYPE_EXECUTABLE
cl_program_binary_type
-
CL_KERNEL_ATTRIBUTES
cl_kernel_info
-
CL_KERNEL_ARG_ADDRESS_QUALIFIER, CL_KERNEL_ARG_ACCESS_QUALIFIER, CL_KERNEL_ARG_TYPE_NAME, CL_KERNEL_ARG_TYPE_QUALIFIER, CL_KERNEL_ARG_NAME
cl_kernel_arg_info
-
CL_KERNEL_ARG_ADDRESS_GLOBAL, CL_KERNEL_ARG_ADDRESS_LOCAL, CL_KERNEL_ARG_ADDRESS_CONSTANT, CL_KERNEL_ARG_ADDRESS_PRIVATE
cl_kernel_arg_address_qualifier
-
CL_KERNEL_ARG_ACCESS_READ_ONLY, CL_KERNEL_ARG_ACCESS_WRITE_ONLY, CL_KERNEL_ARG_ACCESS_READ_WRITE, CL_KERNEL_ARG_ACCESS_NONE
cl_kernel_arg_access_qualifier
-
CL_KERNEL_ARG_TYPE_NONE, CL_KERNEL_ARG_TYPE_CONST, CL_KERNEL_ARG_TYPE_RESTRICT, CL_KERNEL_ARG_TYPE_VOLATILE
cl_kernel_arg_type_qualifier
-
CL_KERNEL_GLOBAL_WORK_SIZE
cl_kernel_work_group_info
-
-
Method Detail
-
nclGetExtensionFunctionAddressForPlatform
public static long nclGetExtensionFunctionAddressForPlatform(long platform, long funcname)
Unsafe version of:GetExtensionFunctionAddressForPlatform
-
clGetExtensionFunctionAddressForPlatform
public static long clGetExtensionFunctionAddressForPlatform(long platform, java.nio.ByteBuffer funcname) public static long clGetExtensionFunctionAddressForPlatform(long platform, java.lang.CharSequence funcname)
Returns the address of the extension function named byfuncname
for a givenplatform
. The pointer returned should be cast to a function pointer type matching the extension function's definition defined in the appropriate extension specification and header file. A return value ofNULL
indicates that the specified function does not exist for the implementation or platform is not a valid platform. A non-NULL
return value forclGetExtensionFunctionAddressForPlatform
does not guarantee that an extension function is actually supported by the platform. The application must also make a corresponding query usingclGetPlatformInfo(platform, CL_PLATFORM_EXTENSIONS, … )
orclGetDeviceInfo(device, CL_DEVICE_EXTENSIONS, … )
to determine if an extension is supported by the OpenCL implementation.clGetExtensionFunctionAddressForPlatform
may not be queried for core (non-extension) functions in OpenCL. For functions that are queryable withclGetExtensionFunctionAddressForPlatform
, implementations may choose to also export those functions statically from the object libraries implementing those functions. However, portable applications cannot rely on this behavior.- Parameters:
platform
- the platform to queryfuncname
- the extension function name- See Also:
- Reference Page
-
clRetainDevice
public static int clRetainDevice(long device)
Increments the device reference count ifdevice
is a valid sub-device created by a call toCreateSubDevices
. Ifdevice
is a root level device i.e. acl_device_id
returned byGetDeviceIDs
, the device reference count remains unchanged.- Parameters:
device
- the device to retain- Returns:
SUCCESS
if the function is executed successfully or the device is a root-level device. Otherwise, it returns one of the following errors:INVALID_DEVICE
ifdevice
is not a valid sub-device created by a call toCreateSubDevices
.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.
- See Also:
- Reference Page
-
clReleaseDevice
public static int clReleaseDevice(long device)
Decrements the device reference count ifdevice
is a valid sub-device created by a call toCreateSubDevices
. Ifdevice
is a root level device i.e. acl_device_id
returned byGetDeviceIDs
, the device reference count remains unchanged.After the
device
reference count becomes zero and all the objects attached todevice
(such as command-queues) are released, the device object is deleted.- Parameters:
device
- the device to release- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_DEVICE
ifdevice
is not a valid sub-device created by a call toCreateSubDevices
.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.
- See Also:
- Reference Page
-
nclCreateSubDevices
public static int nclCreateSubDevices(long in_device, long properties, int num_devices, long out_devices, long num_devices_ret)
Unsafe version of:CreateSubDevices
- Parameters:
num_devices
- the size of memory pointed to byout_devices
specified as the number ofcl_device_id
entries.
-
clCreateSubDevices
public static int clCreateSubDevices(long in_device, org.lwjgl.PointerBuffer properties, @Nullable org.lwjgl.PointerBuffer out_devices, @Nullable java.nio.IntBuffer num_devices_ret)
Creates an array of sub-devices that each reference a non-intersecting set of compute units withinin_device
, according to a partition scheme given byproperties
. The output sub-devices may be used in every way that the root (or parent) device can be used, including creating contexts, building programs, further calls toclCreateSubDevices
and creating command-queues. When a command-queue is created against a sub-device, the commands enqueued on the queue are executed only on the sub-device.A few examples that describe how to specify partition properties in
properties
argument toclCreateSubDevices
are given below:- To partition a device containing 16 compute units into two sub-devices, each containing 8 compute units, pass the following in
properties
:
[DEVICE_PARTITION_EQUALLY
, 8, 0 ] - To partition a device with four compute units into two sub-devices with one sub-device containing 3 compute units and the other sub-device 1 compute
unit, pass the following in
properties
argument:
[DEVICE_PARTITION_BY_COUNTS
, 3, 1,DEVICE_PARTITION_BY_COUNTS_LIST_END
, 0 ] - To split a device along the outermost cache line (if any), pass the following in
properties
argument:
[DEVICE_PARTITION_BY_AFFINITY_DOMAIN
,DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
, 0 ]
- Parameters:
in_device
- the device to be partitionedproperties
- specifies howin_device
is to be partition described by a partition name and its corresponding value. Each partition name is immediately followed by the corresponding desired value. The list is terminated with 0. Only one partitioning scheme can be specified inproperties
. One of:DEVICE_PARTITION_EQUALLY
DEVICE_PARTITION_BY_COUNTS
DEVICE_PARTITION_BY_AFFINITY_DOMAIN
out_devices
- the buffer where the OpenCL sub-devices will be returned. Ifout_devices
isNULL
, this argument is ignored. Ifout_devices
is notNULL
,num_devices
must be greater than or equal to the number of sub-devices that device may be partitioned into according to the partitioning scheme specified inproperties
.num_devices_ret
- the number of sub-devices that device may be partitioned into according to the partitioning scheme specified inproperties
. Ifnum_devices_ret
isNULL
, it is ignored.- Returns:
SUCCESS
if the partition is created successfully. Otherwise, it returns aNULL
value with the following error values returned inerrcode_ret
:INVALID_DEVICE
ifin_device
is not valid.INVALID_VALUE
if values specified inproperties
are not valid or if values specified inproperties
are valid but not supported by the device.INVALID_VALUE
ifout_devices
is notNULL
andnum_devices
is less than the number of sub-devices created by the partition scheme.DEVICE_PARTITION_FAILED
if the partition name is supported by the implementation butin_device
could not be further partitioned.INVALID_DEVICE_PARTITION_COUNT
if the partition name specified inproperties
isDEVICE_PARTITION_BY_COUNTS
and the number of sub-devices requested exceedsDEVICE_PARTITION_MAX_SUB_DEVICES
or the total number of compute units requested exceedsDEVICE_PARTITION_MAX_COMPUTE_UNITS
forin_device
, or the number of compute units requested for one or more sub-devices is less than zero or the number of sub-devices requested exceedsDEVICE_PARTITION_MAX_COMPUTE_UNITS
forin_device
.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.
- See Also:
- Reference Page
- To partition a device containing 16 compute units into two sub-devices, each containing 8 compute units, pass the following in
-
nclCreateImage
public static long nclCreateImage(long context, long flags, long image_format, long image_desc, long host_ptr, long errcode_ret)
Unsafe version of:CreateImage
-
clCreateImage
public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable java.nio.ByteBuffer host_ptr, @Nullable java.nio.IntBuffer errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable java.nio.ShortBuffer host_ptr, @Nullable java.nio.IntBuffer errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable java.nio.IntBuffer host_ptr, @Nullable java.nio.IntBuffer errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable java.nio.FloatBuffer host_ptr, @Nullable java.nio.IntBuffer errcode_ret)
Creates a 1D image, 1D image buffer, 1D image array, 2D image, 2D image array or 3D image object.For a 3D image or 2D image array, the image data specified by
host_ptr
is stored as a linear sequence of adjacent 2D image slices or 2D images respectively. Each 2D image is a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.For a 2D image, the image data specified by
host_ptr
is stored as a linear sequence of adjacent scanlines. Each scanline is a linear sequence of image elements.For a 1D image array, the image data specified by
host_ptr
is stored as a linear sequence of adjacent 1D images respectively. Each 1D image or 1D image buffer is a single scanline which is a linear sequence of adjacent elements.- Parameters:
context
- a valid OpenCL context on which the image object is to be createdflags
- a bit-field that is used to specify allocation and usage information about the image memory object being created.For all image types except
MEM_OBJECT_IMAGE1D_BUFFER
, if value specified forflags
is 0, the default is used which isMEM_READ_WRITE
.For
MEM_OBJECT_IMAGE1D_BUFFER
image type, if theMEM_READ_WRITE
,MEM_READ_ONLY
orMEM_WRITE_ONLY
values are not specified inflags
, they are inherited from the corresponding memory access qualifers associated with buffer. TheMEM_USE_HOST_PTR
,MEM_ALLOC_HOST_PTR
andMEM_COPY_HOST_PTR
values cannot be specified inflags
but are inherited from the corresponding memory access qualifiers associated with buffer. IfMEM_COPY_HOST_PTR
is specified in the memory access qualifier values associated with buffer it does not imply any additional copies when the sub-buffer is created from buffer. If theMEM_HOST_WRITE_ONLY
,MEM_HOST_READ_ONLY
orMEM_HOST_NO_ACCESS
values are not specified inflags
, they are inherited from the corresponding memory access qualifiers associated with buffer. One of:MEM_READ_WRITE
MEM_WRITE_ONLY
MEM_READ_ONLY
MEM_USE_HOST_PTR
MEM_ALLOC_HOST_PTR
MEM_COPY_HOST_PTR
MEM_HOST_WRITE_ONLY
MEM_HOST_READ_ONLY
MEM_HOST_NO_ACCESS
image_format
- a pointer to aCLImageFormat
structure that describes format properties of the image to be allocatedimage_desc
- a pointer to aCLImageDesc
structure that describes type and dimensions of the image to be allocatedhost_ptr
- a pointer to the image data that may already be allocated by the application. Refer to table below for a description of how large the buffer thathost_ptr
points to must be.ImageType Size of buffer that host_ptr
points toMEM_OBJECT_IMAGE1D
≥ image_row_pitch
MEM_OBJECT_IMAGE1D_BUFFER
≥ image_row_pitch
MEM_OBJECT_IMAGE2D
≥ image_row_pitch * image_height
MEM_OBJECT_IMAGE3D
≥ image_slice_pitch * image_depth
MEM_OBJECT_IMAGE1D_ARRAY
≥ image_slice_pitch * image_array_size
MEM_OBJECT_IMAGE2D_ARRAY
≥ image_slice_pitch * image_array_size
errcode_ret
- will return an appropriate error code. Iferrcode_ret
isNULL
, no error code is returned.- Returns:
- a valid non-zero image object and the
errcode_ret
is set toSUCCESS
if the image object is created successfully. Otherwise, it returns aNULL
value with one of the following error values returned inerrcode_ret
:INVALID_CONTEXT
ifcontext
is not a valid context.INVALID_VALUE
if values specified inflags
are not valid.INVALID_IMAGE_FORMAT_DESCRIPTOR
if values specified inimage_format
are not valid or ifimage_format
isNULL
.INVALID_IMAGE_FORMAT_DESCRIPTOR
if a 2D image is created from a buffer and the row pitch and base address alignment does not follow the rules described for creating a 2D image from a buffer.INVALID_IMAGE_FORMAT_DESCRIPTOR
if a 2D image is created from a 2D image object and the rules described above are not followed.INVALID_IMAGE_DESCRIPTOR
if values specified inimage_desc
are not valid or ifimage_desc
isNULL
.INVALID_IMAGE_SIZE
if image dimensions specified inimage_desc
exceed the maximum image dimensions for all devices in context.INVALID_HOST_PTR
ifhost_ptr
isNULL
andMEM_USE_HOST_PTR
orMEM_COPY_HOST_PTR
are set in flags or ifhost_ptr
is notNULL
butMEM_COPY_HOST_PTR
orMEM_USE_HOST_PTR
are not set in flags.INVALID_VALUE
if an image buffer is being created and the buffer object was created withMEM_WRITE_ONLY
and flags specifiesMEM_READ_WRITE
orMEM_READ_ONLY
, or if the buffer object was created withMEM_READ_ONLY
and flags specifiesMEM_READ_WRITE
orMEM_WRITE_ONLY
, or if flags specifiesMEM_USE_HOST_PTR
orMEM_ALLOC_HOST_PTR
orMEM_COPY_HOST_PTR
.INVALID_VALUE
if an image buffer is being created or an image is being created from another memory object (image or buffer) and themem_object
object was created withMEM_HOST_WRITE_ONLY
and flags specifiesMEM_HOST_READ_ONLY
, or ifmem_object
was created withMEM_HOST_READ_ONLY
and flags specifiesMEM_HOST_WRITE_ONLY
, or ifmem_object
was created withMEM_HOST_NO_ACCESS
and flags specifiesMEM_HOST_READ_ONLY
orMEM_HOST_WRITE_ONLY
.IMAGE_FORMAT_NOT_SUPPORTED
if theimage_format
is not supported.MEM_OBJECT_ALLOCATION_FAILURE
if there is a failure to allocate memory for image object.INVALID_OPERATION
if there are no devices in context that support images.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.
- See Also:
- Reference Page
-
nclCreateProgramWithBuiltInKernels
public static long nclCreateProgramWithBuiltInKernels(long context, int num_devices, long device_list, long kernel_names, long errcode_ret)
Unsafe version of:CreateProgramWithBuiltInKernels
- Parameters:
num_devices
- the number of devices listed indevice_list
-
clCreateProgramWithBuiltInKernels
public static long clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer kernel_names, @Nullable java.nio.IntBuffer errcode_ret) public static long clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence kernel_names, @Nullable java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.- Parameters:
context
- a valid OpenCL contextdevice_list
- a pointer to a list of devices that are incontext
.device_list
must be a non-NULL
value. The built-in kernels are loaded for devices specified in this list.The devices associated with the program object will be the list of devices specified by
device_list
. The list of devices specified bydevice_list
must be devices associated withcontext
.kernel_names
- a semi-colon separated list of built-in kernel nameserrcode_ret
- will return an appropriate error code. Iferrcode_ret
isNULL
, no error code is returned.- Returns:
- a valid non-zero program object and
errcode_ret
is set toSUCCESS
if the program object is created successfully. Otherwise, it returns aNULL
value with one of the following error values returned inerrcode_ret
:INVALID_CONTEXT
ifcontext
is not a valid context.INVALID_VALUE
ifdevice_list
isNULL
ornum_devices
is zero.INVALID_VALUE
ifkernel_names
isNULL
orkernel_names
contains a kernel name that is not supported by any of the devices indevice_list
.INVALID_DEVICE
if devices listed indevice_list
are not in the list of devices associated withcontext
.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.
- See Also:
- Reference Page
-
clCreateProgramWithBuiltInKernels
public static long clCreateProgramWithBuiltInKernels(long context, long device, java.lang.CharSequence kernel_names, @Nullable java.nio.IntBuffer errcode_ret)
Creates a program object for a context, and loads the information related to the built-in kernels into a program object.- Parameters:
context
- a valid OpenCL contextkernel_names
- a semi-colon separated list of built-in kernel nameserrcode_ret
- will return an appropriate error code. Iferrcode_ret
isNULL
, no error code is returned.- Returns:
- a valid non-zero program object and
errcode_ret
is set toSUCCESS
if the program object is created successfully. Otherwise, it returns aNULL
value with one of the following error values returned inerrcode_ret
:INVALID_CONTEXT
ifcontext
is not a valid context.INVALID_VALUE
ifdevice_list
isNULL
ornum_devices
is zero.INVALID_VALUE
ifkernel_names
isNULL
orkernel_names
contains a kernel name that is not supported by any of the devices indevice_list
.INVALID_DEVICE
if devices listed indevice_list
are not in the list of devices associated withcontext
.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.
- See Also:
- Reference Page
-
nclCompileProgram
public static int nclCompileProgram(long program, int num_devices, long device_list, long options, int num_input_headers, long input_headers, long header_include_names, long pfn_notify, long user_data)
Unsafe version of:CompileProgram
- Parameters:
num_devices
- the number of devices listed indevice_list
num_input_headers
- the number of programs that describe headers in the array referenced byinput_headers
-
clCompileProgram
public static int clCompileProgram(long program, @Nullable org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer options, @Nullable org.lwjgl.PointerBuffer input_headers, @Nullable org.lwjgl.PointerBuffer header_include_names, @Nullable CLProgramCallbackI pfn_notify, long user_data) public static int clCompileProgram(long program, @Nullable org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, @Nullable org.lwjgl.PointerBuffer input_headers, @Nullable org.lwjgl.PointerBuffer header_include_names, @Nullable CLProgramCallbackI pfn_notify, long user_data)
Compiles a program's source for all the devices or a specific device(s) in the OpenCL context associated withprogram
. The pre-processor runs before the program sources are compiled. The compiled binary is built for all devices associated withprogram
or the list of devices specified. The compiled binary can be queried usingGetProgramInfo
(program,PROGRAM_BINARIES
, …) and can be specified toCreateProgramWithBinary
to create a new program object.- Parameters:
program
- the program object that is the compilation targetdevice_list
- a pointer to a list of devices associated withprogram
. Ifdevice_list
is aNULL
value, the compile is performed for all devices associated with program. Ifdevice_list
is a non-NULL
value, the compile is performed for devices specified in this list.options
- a pointer to a null-terminated string of characters that describes the compilation options to be used for building the program executableinput_headers
- an array of program embedded headers created withCreateProgramWithSource
header_include_names
- an array that has a one to one correspondence withinput_headers
. Each entry inheader_include_names
specifies the include name used by source in program that comes from an embedded header. The corresponding entry ininput_headers
identifies the program object which contains the header source to be used. The embedded headers are first searched before the headers in the list of directories specified by the –I compile option. If multiple entries inheader_include_names
refer to the same header name, the first one encountered will be used.pfn_notify
- a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be called when the program executable has been built (successfully or unsuccessfully).If
pfn_notify
is notNULL
,clCompileProgram
does not need to wait for the compiler to complete and can return immediately once the compilation can begin. The compilation can begin if the context, program whose sources are being compiled, list of devices, input headers, programs that describe input headers and compiler options specified are all valid and appropriate host and device resources needed to perform the compile are available.If
pfn_notify
isNULL
,clCompileProgram
does not return until the compiler has completed. This callback function may be called asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.user_data
- will be passed as an argument whenpfn_notify
is called.user_data
can beNULL
.- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_PROGRAM
ifprogram
is not a valid program object.INVALID_VALUE
ifdevice_list
isNULL
andnum_devices
is greater than zero, or ifdevice_list
is notNULL
andnum_devices
is zero.INVALID_VALUE
ifnum_input_headers
is zero andheader_include_names
orinput_headers
are notNULL
or ifnum_input_headers
is not zero andheader_include_names
orinput_headers
areNULL
.INVALID_VALUE
ifpfn_notify
isNULL
butuser_data
is notNULL
.INVALID_DEVICE
if OpenCL devices listed indevice_list
are not in the list of devices associated with program.INVALID_COMPILER_OPTIONS
if the compiler options specified by options are invalid.INVALID_OPERATION
if the compilation or build of a program executable for any of the devices listed indevice_list
by a previous call toclCompileProgram
orBuildProgram
for program has not completed.COMPILER_NOT_AVAILABLE
if a compiler is not available i.e.DEVICE_COMPILER_AVAILABLE
is set toFALSE
.COMPILE_PROGRAM_FAILURE
if there is a failure to compile the program source. This error will be returned ifclCompileProgram
does not return until the compile has completed.INVALID_OPERATION
if there are kernel objects attached toprogram
.INVALID_OPERATION
ifprogram
has no source i.e. it has not been created withCreateProgramWithSource
.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.
- See Also:
- Reference Page
-
nclLinkProgram
public static long nclLinkProgram(long context, int num_devices, long device_list, long options, int num_input_programs, long input_programs, long pfn_notify, long user_data)
Unsafe version of:LinkProgram
- Parameters:
num_devices
- the number of devices listed indevice_list
num_input_programs
- the number of programs in array referenced byinput_programs
-
clLinkProgram
public static long clLinkProgram(long context, @Nullable org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer options, @Nullable org.lwjgl.PointerBuffer input_programs, @Nullable CLProgramCallbackI pfn_notify, long user_data) public static long clLinkProgram(long context, @Nullable org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, @Nullable org.lwjgl.PointerBuffer input_programs, @Nullable CLProgramCallbackI pfn_notify, long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.clLinkProgram
creates a new program object which contains this executable. The executable binary can be queried usingGetProgramInfo
(program,PROGRAM_BINARIES
, …) and can be specified toCreateProgramWithBinary
to create a new program object.The devices associated with the returned program object will be the list of devices specified by
device_list
or ifdevice_list
isNULL
it will be the list of devices associated with context.- Parameters:
context
- a valid OpenCL contextdevice_list
- a pointer to a list of devices that are incontext
. Ifdevice_list
is aNULL
value, the link is performed for all devices associated withcontext
for which a compiled object is available. Ifdevice_list
is a non-NULL
value, the link is performed for devices specified in this list for which a compiled object is available.options
- a pointer to a null-terminated string of characters that describes the link options to be used for building the program executableinput_programs
- an array of program objects that are compiled binaries or libraries that are to be linked to create the program executable. For each device indevice_list
or ifdevice_list
isNULL
the list of devices associated withcontext
, the following cases occur:- All programs specified by
input_programs
contain a compiled binary or library for the device. In this case, a link is performed to generate a program executable for this device. - None of the programs contain a compiled binary or library for that device. In this case, no link is performed and there will be no program executable generated for this device.
- All other cases will return a
INVALID_OPERATION
error.
- All programs specified by
pfn_notify
- a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be called when the program executable has been built (successfully or unsuccessfully).If
pfn_notify
is notNULL
,clLinkProgram
does not need to wait for the linker to complete and can return immediately once the linking operation can begin. Once the linker has completed, thepfn_notify
callback function is called which returns the program object returned byclLinkProgram
. The application can query the link status and log for this program object. This callback function may be called asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.If
pfn_notify
isNULL
,clLinkProgram
does not return until the linker has completed.user_data
- will be passed as an argument whenpfn_notify
is called.user_data
can beNULL
.- Returns:
- a valid non-zero program object, if the linking operation can begin. The linking operation can begin if the context, list of devices, input programs and
linker options specified are all valid and appropriate host and device resources needed to perform the link are available.
If
pfn_notify
isNULL
, theerrcode_ret
will be set toSUCCESS
if the link operation was successful andLINK_PROGRAM_FAILURE
if there is a failure to link the compiled binaries and/or libraries.If
pfn_notify
is notNULL
,clLinkProgram
does not have to wait until the linker to complete and can returnSUCCESS
inerrcode_ret
if the linking operation can begin. Thepfn_notify
callback function will return aSUCCESS
orLINK_PROGRAM_FAILURE
if the linking operation was successful or not.Otherwise
clLinkProgram
returns aNULL
program object with an appropriate error inerrcode_ret
. The application should query the linker status of this program object to check if the link was successful or not. The list of errors that can be returned are:INVALID_CONTEXT
ifcontext
is not a valid context.INVALID_VALUE
ifdevice_list
isNULL
andnum_devices
is greater than zero, or ifdevice_list
is notNULL
andnum_devices
is zero.INVALID_VALUE
ifnum_input_programs
is zero andinput_programs
isNULL
or ifnum_input_programs
is zero andinput_programs
is notNULL
or ifnum_input_programs
is not zero andinput_programs
isNULL
.INVALID_PROGRAM
if programs specified ininput_programs
are not valid program objects.INVALID_VALUE
ifpfn_notify
isNULL
butuser_data
is notNULL
.INVALID_DEVICE
if OpenCL devices listed indevice_list
are not in the list of devices associated withcontext
.INVALID_LINKER_OPTIONS
if the linker options specified byoptions
are invalid.INVALID_OPERATION
if the compilation or build of a program executable for any of the devices listed indevice_list
by a previous call toCompileProgram
orBuildProgram
for program has not completed.INVALID_OPERATION
if the rules for devices containing compiled binaries or libraries as described ininput_programs
argument above are not followed.LINKER_NOT_AVAILABLE
if a linker is not available i.e.DEVICE_LINKER_AVAILABLE
is set toFALSE
.LINK_PROGRAM_FAILURE
if there is a failure to link the compiled binaries and/or libraries.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.
- See Also:
- Reference Page
-
clLinkProgram
public static long clLinkProgram(long context, @Nullable org.lwjgl.PointerBuffer device_list, java.lang.CharSequence options, long input_program, @Nullable CLProgramCallbackI pfn_notify, long user_data)
Links a set of compiled program objects and libraries for all the devices or a specific device(s) in the OpenCL context and creates an executable.clLinkProgram
creates a new program object which contains this executable. The executable binary can be queried usingGetProgramInfo
(program,PROGRAM_BINARIES
, …) and can be specified toCreateProgramWithBinary
to create a new program object.The devices associated with the returned program object will be the list of devices specified by
device_list
or ifdevice_list
isNULL
it will be the list of devices associated with context.- Parameters:
context
- a valid OpenCL contextdevice_list
- a pointer to a list of devices that are incontext
. Ifdevice_list
is aNULL
value, the link is performed for all devices associated withcontext
for which a compiled object is available. Ifdevice_list
is a non-NULL
value, the link is performed for devices specified in this list for which a compiled object is available.options
- a pointer to a null-terminated string of characters that describes the link options to be used for building the program executablepfn_notify
- a function pointer to a notification routine. The notification routine is a callback function that an application can register and which will be called when the program executable has been built (successfully or unsuccessfully).If
pfn_notify
is notNULL
,clLinkProgram
does not need to wait for the linker to complete and can return immediately once the linking operation can begin. Once the linker has completed, thepfn_notify
callback function is called which returns the program object returned byclLinkProgram
. The application can query the link status and log for this program object. This callback function may be called asynchronously by the OpenCL implementation. It is the application's responsibility to ensure that the callback function is thread-safe.If
pfn_notify
isNULL
,clLinkProgram
does not return until the linker has completed.user_data
- will be passed as an argument whenpfn_notify
is called.user_data
can beNULL
.- Returns:
- a valid non-zero program object, if the linking operation can begin. The linking operation can begin if the context, list of devices, input programs and
linker options specified are all valid and appropriate host and device resources needed to perform the link are available.
If
pfn_notify
isNULL
, theerrcode_ret
will be set toSUCCESS
if the link operation was successful andLINK_PROGRAM_FAILURE
if there is a failure to link the compiled binaries and/or libraries.If
pfn_notify
is notNULL
,clLinkProgram
does not have to wait until the linker to complete and can returnSUCCESS
inerrcode_ret
if the linking operation can begin. Thepfn_notify
callback function will return aSUCCESS
orLINK_PROGRAM_FAILURE
if the linking operation was successful or not.Otherwise
clLinkProgram
returns aNULL
program object with an appropriate error inerrcode_ret
. The application should query the linker status of this program object to check if the link was successful or not. The list of errors that can be returned are:INVALID_CONTEXT
ifcontext
is not a valid context.INVALID_VALUE
ifdevice_list
isNULL
andnum_devices
is greater than zero, or ifdevice_list
is notNULL
andnum_devices
is zero.INVALID_VALUE
ifnum_input_programs
is zero andinput_programs
isNULL
or ifnum_input_programs
is zero andinput_programs
is notNULL
or ifnum_input_programs
is not zero andinput_programs
isNULL
.INVALID_PROGRAM
if programs specified ininput_programs
are not valid program objects.INVALID_VALUE
ifpfn_notify
isNULL
butuser_data
is notNULL
.INVALID_DEVICE
if OpenCL devices listed indevice_list
are not in the list of devices associated withcontext
.INVALID_LINKER_OPTIONS
if the linker options specified byoptions
are invalid.INVALID_OPERATION
if the compilation or build of a program executable for any of the devices listed indevice_list
by a previous call toCompileProgram
orBuildProgram
for program has not completed.INVALID_OPERATION
if the rules for devices containing compiled binaries or libraries as described ininput_programs
argument above are not followed.LINKER_NOT_AVAILABLE
if a linker is not available i.e.DEVICE_LINKER_AVAILABLE
is set toFALSE
.LINK_PROGRAM_FAILURE
if there is a failure to link the compiled binaries and/or libraries.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.
- See Also:
- Reference Page
-
clUnloadPlatformCompiler
public static int clUnloadPlatformCompiler(long platform)
Allows the implementation to release the resources allocated by the OpenCL compiler for platform. This is a hint from the application and does not guarantee that the compiler will not be used in the future or that the compiler will actually be unloaded by the implementation. Calls toBuildProgram
,CompileProgram
orLinkProgram
afterclUnloadPlatformCompiler
will reload the compiler, if necessary, to build the appropriate program executable.- Parameters:
platform
- the platform for which to unload the compiler- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_PLATFORM
ifplatform
is not a valid platform.
- See Also:
- Reference Page
-
nclGetKernelArgInfo
public static int nclGetKernelArgInfo(long kernel, int arg_indx, int param_name, long param_value_size, long param_value, long param_value_size_ret)
Unsafe version of:GetKernelArgInfo
- Parameters:
param_value_size
- the size in bytes of memory pointed to byparam_value
. This size must be ≥ size of return type. Ifparam_value
isNULL
, it is ignored.
-
clGetKernelArgInfo
public static int clGetKernelArgInfo(long kernel, int arg_indx, int param_name, @Nullable java.nio.ByteBuffer param_value, @Nullable org.lwjgl.PointerBuffer param_value_size_ret) public static int clGetKernelArgInfo(long kernel, int arg_indx, int param_name, @Nullable java.nio.IntBuffer param_value, @Nullable org.lwjgl.PointerBuffer param_value_size_ret) public static int clGetKernelArgInfo(long kernel, int arg_indx, int param_name, @Nullable java.nio.LongBuffer param_value, @Nullable org.lwjgl.PointerBuffer param_value_size_ret)
Returns information about the arguments of a kernel. Kernel argument information is only available if the program object associated with kernel is created withCreateProgramWithSource
and the program executable is built with the-cl-kernel-arg-info
option specified in options argument toBuildProgram
orCompileProgram
.- Parameters:
kernel
- specifies the kernel object being queriedarg_indx
- the argument index. Arguments to the kernel are referred by indices that go from 0 for the leftmost argument ton - 1
, wheren
is the total number of arguments declared by a kernel.param_name
- the argument information to query. One of:KERNEL_ARG_ADDRESS_QUALIFIER
KERNEL_ARG_ACCESS_QUALIFIER
KERNEL_ARG_TYPE_NAME
KERNEL_ARG_TYPE_QUALIFIER
KERNEL_ARG_NAME
param_value
- a pointer to memory where the appropriate result being queried is returned. Ifparam_value
isNULL
, it is ignored.param_value_size_ret
- the actual size in bytes of data being queried byparam_value
. IfNULL
, it is ignored.- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_ARG_INDEX
ifarg_indx
is not a valid argument index.INVALID_VALUE
ifparam_name
is not valid, or if size in bytes specified byparam_value
size is < size of return type andparam_value
is notNULL
.KERNEL_ARG_INFO_NOT_AVAILABLE
if the argument information is not available forkernel
.INVALID_KERNEL
ifkernel
is a not a valid kernel object.
- See Also:
- Reference Page
-
nclEnqueueFillBuffer
public static int nclEnqueueFillBuffer(long command_queue, long buffer, long pattern, long pattern_size, long offset, long size, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueFillBuffer
- Parameters:
pattern_size
- the pattern sizenum_events_in_wait_list
- the number of events inevent_wait_list
-
clEnqueueFillBuffer
public static int clEnqueueFillBuffer(long command_queue, long buffer, java.nio.ByteBuffer pattern, long offset, long size, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
Enqueues a command to fill a buffer object with a pattern of a given pattern size. The usage information which indicates whether the memory object can be read or written by a kernel and/or the host and is given by thecl_mem_flags
argument value specified when buffer is created is ignored byclEnqueueFillBuffer
.- Parameters:
command_queue
- the command-queue in which the fill command will be queued. The OpenCL context associated withcommand_queue
andbuffer
must be the same.buffer
- a valid buffer objectpattern
- pointer to the data pattern of sizepattern_size
in bytes.pattern
will be used to fill a region in buffer starting atoffset
and issize
bytes in size. The data pattern must be a scalar or vector integer or floating-point data type supported by OpenCL. For example, if buffer is to be filled with a pattern offloat4
values, then pattern will be a pointer to acl_float4
value andpattern_size
will besizeof(cl_float4)
. The maximum value ofpattern_size
is the size of the largest integer or floating-point vector data type supported by the OpenCL device. The memory associated withpattern
can be reused or freed after the function returns.offset
- the location in bytes of the region being filled inbuffer
and must be a multiple ofpattern_size
size
- the size in bytes of region being filled inbuffer
and must be a multiple ofpattern_size
event_wait_list
- a list of events that need to complete before this particular command can be executed. Ifevent_wait_list
isNULL
, then this particular command does not wait on any event to complete. The events specified inevent_wait_list
act as synchronization points. The context associated with events inevent_wait_list
andcommand_queue
must 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.event
can beNULL
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 theevent_wait_list
and theevent
arguments are notNULL
, the event argument should not refer to an element of theevent_wait_list
array.- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_COMMAND_QUEUE
ifcommand_queue
is not a valid command-queue.INVALID_CONTEXT
if the context associated withcommand_queue
andbuffer
are not the same or if the context associated withcommand_queue
and events inevent_wait_list
are not the same.INVALID_MEM_OBJECT
ifbuffer
is not a valid buffer object.INVALID_VALUE
ifoffset
oroffset + size
require accessing elements outside the buffer buffer object respectively.INVALID_VALUE
ifpattern
isNULL
or ifpattern_size
is 0 or ifpattern_size
is not one of[1, 2, 4, 8, 16, 32, 64, 128]
.INVALID_VALUE
ifoffset
andsize
are not a multiple ofpattern_size
.INVALID_EVENT_WAIT_LIST
ifevent_wait_list
isNULL
andnum_events_in_wait_list
> 0, orevent_wait_list
is notNULL
andnum_events_in_wait_list
is 0, or if event objects inevent_wait_list
are not valid events.MISALIGNED_SUB_BUFFER_OFFSET
ifbuffer
is a sub-buffer object and offset specified when the sub-buffer object is created is not aligned toDEVICE_MEM_BASE_ADDR_ALIGN
value for device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE
if there is a failure to allocate memory for data store associated withbuffer
.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.
- See Also:
- Reference Page
-
nclEnqueueFillImage
public static int nclEnqueueFillImage(long command_queue, long image, long fill_color, long origin, long region, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueFillImage
- Parameters:
num_events_in_wait_list
- the number of events inevent_wait_list
-
clEnqueueFillImage
public static int clEnqueueFillImage(long command_queue, long image, java.nio.ByteBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event) public static int clEnqueueFillImage(long command_queue, long image, java.nio.IntBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event) public static int clEnqueueFillImage(long command_queue, long image, java.nio.FloatBuffer fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
Enqueues a command to fill an image object with a specified color. The usage information which indicates whether the memory object can be read or written by a kernel and/or the host and is given by thecl_mem_flags
argument value specified when image is created is ignored byclEnqueueFillImage
.- Parameters:
command_queue
- the command-queue in which the fill command will be queued. The OpenCL context associated withcommand_queue
andimage
must be the same.image
- a valid image objectfill_color
- the fill color. The fill color is a four component RGBA floating-point color value if theimage
channel data type is not an unnormalized signed and unsigned integer type, is a four component signed integer value if theimage
channel data type is an unnormalized signed integer type and is a four component unsigned integer value if theimage
channel data type is an unnormalized unsigned integer type. The fill color will be converted to the appropriate image channel format and order associated withimage
.origin
- the(x, y, z)
offset in pixels in the 1D, 2D or 3D image, the(x, y)
offset and the image index in the 2D image array or the(x)
offset and the image index in the 1D image array. If image is a 2D image object,origin[2]
must be 0. If image is a 1D image or 1D image buffer object,origin[1]
andorigin[2]
must be 0. If image is a 1D image array object,origin[2]
must be 0. If image is a 1D image array object,origin[1]
describes the image index in the 1D image array. If image is a 2D image array object,origin[2]
describes the image index in the 2D image array.region
- the(width, height, depth)
in pixels of the 1D, 2D or 3D rectangle, the(width, height)
in pixels of the 2D rectangle and the number of images of a 2D image array or the(width)
in pixels of the 1D rectangle and the number of images of a 1D image array. If image is a 2D image object,region[2]
must be 1. If image is a 1D image or 1D image buffer object,region[1]
andregion[2]
must be 1. If image is a 1D image array object,region[2]
must be 1. The values inregion
cannot be 0.event_wait_list
- a list of events that need to complete before this particular command can be executed. Ifevent_wait_list
isNULL
, then this particular command does not wait on any event to complete. The events specified inevent_wait_list
act as synchronization points. The context associated with events inevent_wait_list
andcommand_queue
must 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.event
can beNULL
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 theevent_wait_list
and theevent
arguments are notNULL
, the event argument should not refer to an element of theevent_wait_list
array.- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_COMMAND_QUEUE
ifcommand_queue
is not a valid command-queue.INVALID_CONTEXT
if the context associated withcommand_queue
andimage
are not the same or if the context associated withcommand_queue
and events inevent_wait_list
are not the same.INVALID_MEM_OBJECT
ifimage
is not a valid image object.INVALID_VALUE
iffill_color
isNULL
.INVALID_VALUE
if the region being filled as specified byorigin
andregion
is out of bounds or ifptr
is aNULL
value.INVALID_VALUE
if values inorigin
andregion
do not follow rules described in the argument description fororigin
andregion
.INVALID_EVENT_WAIT_LIST
ifevent_wait_list
isNULL
andnum_events_in_wait_list
> 0, orevent_wait_list
is notNULL
andnum_events_in_wait_list
is 0, or if event objects inevent_wait_list
are not valid events.INVALID_IMAGE_SIZE
if image dimensions (image width, height, specified or compute row and/or slice pitch) for image are not supported by device associated with queue.IMAGE_FORMAT_NOT_SUPPORTED
if image format (image channel order and data type) for image are not supported by device associated with queue.MEM_OBJECT_ALLOCATION_FAILURE
if there is a failure to allocate memory for data store associated withimage
.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.
- See Also:
- Reference Page
-
nclEnqueueMigrateMemObjects
public static int nclEnqueueMigrateMemObjects(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:EnqueueMigrateMemObjects
- Parameters:
num_mem_objects
- the number of memory objects specified inmem_objects
num_events_in_wait_list
- the number of events inevent_wait_list
-
clEnqueueMigrateMemObjects
public static int clEnqueueMigrateMemObjects(long command_queue, org.lwjgl.PointerBuffer mem_objects, long flags, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
Enqueues a command to indicate which device a set of memory objects should be associated with. Typically, memory objects are implicitly migrated to a device for which enqueued commands, using the memory object, are targeted.clEnqueueMigrateMemObjects
allows this migration to be explicitly performed ahead of the dependent commands. This allows a user to preemptively change the association of a memory object, through regular command queue scheduling, in order to prepare for another upcoming command. This also permits an application to overlap the placement of memory objects with other unrelated operations before these memory objects are needed potentially hiding transfer latencies. Once the event, returned fromclEnqueueMigrateMemObjects
, has been markedCOMPLETE
the memory objects specified inmem_objects
have 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.clEnqueueMigrateMemObjects
can also 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
clEnqueueMigrateMemObjects
could result in undefined results.- Parameters:
command_queue
- a valid command-queue. The specified set of memory objects inmem_objects
will be migrated to the OpenCL device associated withcommand_queue
or to the host if theMIGRATE_MEM_OBJECT_HOST
has been specified.mem_objects
- a pointer to a list of memory objectsflags
- a bit-field that is used to specify migration options. One of:MIGRATE_MEM_OBJECT_HOST
MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED
event_wait_list
- a list of events that need to complete before this particular command can be executed. Ifevent_wait_list
isNULL
, then this particular command does not wait on any event to complete. The events specified inevent_wait_list
act as synchronization points. The context associated with events inevent_wait_list
andcommand_queue
must 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.event
can beNULL
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 theevent_wait_list
and theevent
arguments are notNULL
, the event argument should not refer to an element of theevent_wait_list
array.- Returns:
SUCCESS
if the function is executed successfully. Otherwise, it returns one of the following errors:INVALID_COMMAND_QUEUE
ifcommand_queue
is not a valid command-queue.INVALID_CONTEXT
if the context associated withcommand_queue
and memory objects inmem_objects
are not the same or if the context associated withcommand_queue
and events inevent_wait_list
are not the same.INVALID_MEM_OBJECT
if any of the memory objects inmem_objects
is not a valid memory object.INVALID_VALUE
ifnum_mem_objects
is zero or ifmem_objects
isNULL
.INVALID_VALUE
ifflags
is not 0 or is not any of the values described in the table above.INVALID_EVENT_WAIT_LIST
ifevent_wait_list
isNULL
andnum_events_in_wait_list
> 0, orevent_wait_list
is notNULL
andnum_events_in_wait_list
is 0, or if event objects inevent_wait_list
are not valid events.MEM_OBJECT_ALLOCATION_FAILURE
if there is a failure to allocate memory for the specified set of memory objects inmem_objects
.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.
- See Also:
- Reference Page
-
nclEnqueueMarkerWithWaitList
public static int nclEnqueueMarkerWithWaitList(long command_queue, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueMarkerWithWaitList
- Parameters:
num_events_in_wait_list
- the number of events inevent_wait_list
-
clEnqueueMarkerWithWaitList
public static int clEnqueueMarkerWithWaitList(long command_queue, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
Enqueues a marker command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued incommand_queue
to complete before it completes. This command returns an event which can be waited on, i.e. this event can be waited on to insure that all events either in theevent_wait_list
or all previously enqueued commands, queued before this command tocommand_queue
, have completed.- Parameters:
command_queue
- a valid command-queueevent_wait_list
- a list of events that need to complete before this particular command can be executed. Ifevent_wait_list
isNULL
, then this particular command does not wait on any event to complete. The events specified inevent_wait_list
act as synchronization points. The context associated with events inevent_wait_list
andcommand_queue
must 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.event
can beNULL
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 theevent_wait_list
and theevent
arguments are notNULL
, the event argument should not refer to an element of theevent_wait_list
array.- Returns:
SUCCESS
if the function is successfully executed. Otherwise, it returns one of the following errors:INVALID_COMMAND_QUEUE
ifcommand_queue
is not a valid command-queue.INVALID_CONTEXT
if context associated withcommand_queue
and events inevent_wait_list
are not the same.INVALID_EVENT_WAIT_LIST
ifevent_wait_list
isNULL
andnum_events_in_wait_list
> 0, orevent_wait_list
is notNULL
andnum_events_in_wait_list
is 0, or if event objects inevent_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.
- See Also:
- Reference Page
-
nclEnqueueBarrierWithWaitList
public static int nclEnqueueBarrierWithWaitList(long command_queue, int num_events_in_wait_list, long event_wait_list, long event)
Unsafe version of:EnqueueBarrierWithWaitList
- Parameters:
num_events_in_wait_list
- the number of events inevent_wait_list
-
clEnqueueBarrierWithWaitList
public static int clEnqueueBarrierWithWaitList(long command_queue, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
enqueues a barrier command which waits for either a list of events to complete, or if the list is empty it waits for all commands previously enqueued incommand_queue
to complete before it completes. This command blocks command execution, that is, any following commands enqueued after it do not execute until it completes. This command returns an event which can be waited on, i.e. this event can be waited on to insure that all events either in theevent_wait_list
or all previously enqueued commands, queued before this command tocommand_queue
, have completed.- Parameters:
command_queue
- a valid command-queueevent_wait_list
- a list of events that need to complete before this particular command can be executed. Ifevent_wait_list
isNULL
, then this particular command does not wait on any event to complete. The events specified inevent_wait_list
act as synchronization points. The context associated with events inevent_wait_list
andcommand_queue
must 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.event
can beNULL
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 theevent_wait_list
and theevent
arguments are notNULL
, the event argument should not refer to an element of theevent_wait_list
array.- Returns:
SUCCESS
if the function is successfully executed. Otherwise, it returns one of the following errors:INVALID_COMMAND_QUEUE
ifcommand_queue
is not a valid command-queue.INVALID_CONTEXT
if context associated withcommand_queue
and events inevent_wait_list
are not the same.INVALID_EVENT_WAIT_LIST
ifevent_wait_list
isNULL
andnum_events_in_wait_list
> 0, orevent_wait_list
is notNULL
andnum_events_in_wait_list
is 0, or if event objects inevent_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.
- See Also:
- Reference Page
-
clCreateSubDevices
public static int clCreateSubDevices(long in_device, org.lwjgl.PointerBuffer properties, @Nullable org.lwjgl.PointerBuffer out_devices, @Nullable int[] num_devices_ret)
Array version of:CreateSubDevices
- See Also:
- Reference Page
-
clCreateImage
public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable java.nio.ByteBuffer host_ptr, @Nullable int[] errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable short[] host_ptr, @Nullable int[] errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable int[] host_ptr, @Nullable int[] errcode_ret) public static long clCreateImage(long context, long flags, CLImageFormat image_format, CLImageDesc image_desc, @Nullable float[] host_ptr, @Nullable int[] errcode_ret)
Array version of:CreateImage
- See Also:
- Reference Page
-
clCreateProgramWithBuiltInKernels
public static long clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.nio.ByteBuffer kernel_names, @Nullable int[] errcode_ret) public static long clCreateProgramWithBuiltInKernels(long context, org.lwjgl.PointerBuffer device_list, java.lang.CharSequence kernel_names, @Nullable int[] errcode_ret)
Array version of:CreateProgramWithBuiltInKernels
- See Also:
- Reference Page
-
clGetKernelArgInfo
public static int clGetKernelArgInfo(long kernel, int arg_indx, int param_name, @Nullable int[] param_value, @Nullable org.lwjgl.PointerBuffer param_value_size_ret) public static int clGetKernelArgInfo(long kernel, int arg_indx, int param_name, @Nullable long[] param_value, @Nullable org.lwjgl.PointerBuffer param_value_size_ret)
Array version of:GetKernelArgInfo
- See Also:
- Reference Page
-
clEnqueueFillImage
public static int clEnqueueFillImage(long command_queue, long image, int[] fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event) public static int clEnqueueFillImage(long command_queue, long image, float[] fill_color, org.lwjgl.PointerBuffer origin, org.lwjgl.PointerBuffer region, @Nullable org.lwjgl.PointerBuffer event_wait_list, @Nullable org.lwjgl.PointerBuffer event)
Array version of:EnqueueFillImage
- See Also:
- Reference Page
-
-