compute-runtime/runtime/api/api.h

1056 lines
28 KiB
C

/*
* Copyright (C) 2017-2019 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "public/cl_ext_private.h"
#include "runtime/api/dispatch.h"
#include "CL/cl.h"
#include "CL/cl_gl.h"
#ifdef __cplusplus
extern "C" {
#endif
cl_int CL_API_CALL clGetPlatformIDs(
cl_uint numEntries,
cl_platform_id *platforms,
cl_uint *numPlatforms);
cl_int CL_API_CALL clGetPlatformInfo(
cl_platform_id platform,
cl_platform_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetDeviceIDs(
cl_platform_id platform,
cl_device_type deviceType,
cl_uint numEntries,
cl_device_id *devices,
cl_uint *numDevices);
cl_int CL_API_CALL clGetDeviceInfo(
cl_device_id device,
cl_device_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clCreateSubDevices(
cl_device_id inDevice,
const cl_device_partition_property *properties,
cl_uint numDevices,
cl_device_id *outDevices,
cl_uint *numDevicesRet);
cl_int CL_API_CALL clRetainDevice(
cl_device_id device);
cl_int CL_API_CALL clReleaseDevice(
cl_device_id device);
cl_context CL_API_CALL clCreateContext(
const cl_context_properties *properties,
cl_uint numDevices,
const cl_device_id *devices,
void(CL_CALLBACK *funcNotify)(const char *, const void *, size_t, void *),
void *userData,
cl_int *errcodeRet);
cl_context CL_API_CALL clCreateContextFromType(
const cl_context_properties *properties,
cl_device_type deviceType,
void(CL_CALLBACK *funcNotify)(const char *, const void *, size_t, void *),
void *userData,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainContext(
cl_context context);
cl_int CL_API_CALL clReleaseContext(
cl_context context);
cl_int CL_API_CALL clGetContextInfo(
cl_context context,
cl_context_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetGLContextInfoKHR(
const cl_context_properties *properties,
cl_gl_context_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_command_queue CL_API_CALL clCreateCommandQueue(
cl_context context,
cl_device_id device,
cl_command_queue_properties properties,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainCommandQueue(
cl_command_queue commandQueue);
cl_int CL_API_CALL clReleaseCommandQueue(
cl_command_queue commandQueue);
cl_int CL_API_CALL clGetCommandQueueInfo(
cl_command_queue commandQueue,
cl_command_queue_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
// deprecated OpenCL 1.0
cl_int CL_API_CALL clSetCommandQueueProperty(
cl_command_queue commandQueue,
cl_command_queue_properties properties,
cl_bool enable,
cl_command_queue_properties *oldProperties);
cl_mem CL_API_CALL clCreateBuffer(
cl_context context,
cl_mem_flags flags,
size_t size,
void *hostPtr,
cl_int *errcodeRet);
cl_mem CL_API_CALL clCreateBufferWithPropertiesINTEL(
cl_context context,
const cl_mem_properties_intel *properties,
size_t size,
void *hostPtr,
cl_int *errcodeRet);
cl_mem CL_API_CALL clCreateSubBuffer(
cl_mem buffer,
cl_mem_flags flags,
cl_buffer_create_type bufferCreateType,
const void *bufferCreateInfo,
cl_int *errcodeRet);
cl_mem CL_API_CALL clCreateImage(
cl_context context,
cl_mem_flags flags,
const cl_image_format *imageFormat,
const cl_image_desc *imageDesc,
void *hostPtr,
cl_int *errcodeRet);
cl_mem CL_API_CALL clCreateImageWithPropertiesINTEL(
cl_context context,
cl_mem_properties_intel *properties,
const cl_image_format *imageFormat,
const cl_image_desc *imageDesc,
void *hostPtr,
cl_int *errcodeRet);
// deprecated OpenCL 1.1
cl_mem CL_API_CALL clCreateImage2D(
cl_context context,
cl_mem_flags flags,
const cl_image_format *imageFormat,
size_t imageWidth,
size_t imageHeight,
size_t imageRowPitch,
void *hostPtr,
cl_int *errcodeRet);
// deprecated OpenCL 1.1
cl_mem CL_API_CALL clCreateImage3D(
cl_context context,
cl_mem_flags flags,
const cl_image_format *imageFormat,
size_t imageWidth,
size_t imageHeight,
size_t imageDepth,
size_t imageRowPitch,
size_t imageSlicePitch,
void *hostPtr,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainMemObject(
cl_mem memobj);
cl_int CL_API_CALL clReleaseMemObject(
cl_mem memobj);
cl_int CL_API_CALL clGetSupportedImageFormats(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type imageType,
cl_uint numEntries,
cl_image_format *imageFormats,
cl_uint *numImageFormats);
cl_int CL_API_CALL clGetMemObjectInfo(
cl_mem memobj,
cl_mem_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetImageInfo(
cl_mem image,
cl_image_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetImageParamsINTEL(
cl_context context,
const cl_image_format *imageFormat,
const cl_image_desc *imageDesc,
size_t *imageRowPitch,
size_t *imageSlicePitch);
cl_int CL_API_CALL clSetMemObjectDestructorCallback(
cl_mem memobj,
void(CL_CALLBACK *funcNotify)(cl_mem, void *),
void *userData);
cl_sampler CL_API_CALL clCreateSampler(
cl_context context,
cl_bool normalizedCoords,
cl_addressing_mode addressingMode,
cl_filter_mode filterMode,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainSampler(
cl_sampler sampler);
cl_int CL_API_CALL clReleaseSampler(
cl_sampler sampler);
cl_int CL_API_CALL clGetSamplerInfo(
cl_sampler sampler,
cl_sampler_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_program CL_API_CALL clCreateProgramWithSource(
cl_context context,
cl_uint count,
const char **strings,
const size_t *lengths,
cl_int *errcodeRet);
cl_program CL_API_CALL clCreateProgramWithBinary(
cl_context context,
cl_uint numDevices,
const cl_device_id *deviceList,
const size_t *lengths,
const unsigned char **binaries,
cl_int *binaryStatus,
cl_int *errcodeRet);
cl_program CL_API_CALL clCreateProgramWithIL(cl_context context,
const void *il,
size_t length,
cl_int *errcodeRet);
cl_program CL_API_CALL clCreateProgramWithBuiltInKernels(
cl_context context,
cl_uint numDevices,
const cl_device_id *deviceList,
const char *kernelNames,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainProgram(
cl_program program);
cl_int CL_API_CALL clReleaseProgram(
cl_program program);
cl_int CL_API_CALL clBuildProgram(
cl_program program,
cl_uint numDevices,
const cl_device_id *deviceList,
const char *options,
void(CL_CALLBACK *funcNotify)(cl_program program, void *userData),
void *userData);
cl_int CL_API_CALL clCompileProgram(
cl_program program,
cl_uint numDevices,
const cl_device_id *deviceList,
const char *options,
cl_uint numInputHeaders,
const cl_program *inputHeaders,
const char **headerIncludeNames,
void(CL_CALLBACK *funcNotify)(cl_program program, void *userData),
void *userData);
cl_program CL_API_CALL clLinkProgram(
cl_context context,
cl_uint numDevices,
const cl_device_id *deviceList,
const char *options,
cl_uint numInputPrograms,
const cl_program *inputPrograms,
void(CL_CALLBACK *funcNotify)(cl_program program, void *userData),
void *userData,
cl_int *errcodeRet);
cl_int CL_API_CALL clUnloadPlatformCompiler(
cl_platform_id platform);
// deprecated OpenCL 1.1
cl_int CL_API_CALL clUnloadCompiler(void);
cl_int CL_API_CALL clGetProgramInfo(
cl_program program,
cl_program_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetProgramBuildInfo(
cl_program program,
cl_device_id device,
cl_program_build_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_kernel CL_API_CALL clCreateKernel(
cl_program program,
const char *kernelName,
cl_int *errcodeRet);
cl_int CL_API_CALL clCreateKernelsInProgram(
cl_program program,
cl_uint numKernels,
cl_kernel *kernels,
cl_uint *numKernelsRet);
cl_int CL_API_CALL clRetainKernel(
cl_kernel kernel);
cl_int CL_API_CALL clReleaseKernel(
cl_kernel kernel);
cl_int CL_API_CALL clSetKernelArg(
cl_kernel kernel,
cl_uint argIndex,
size_t argSize,
const void *argValue);
cl_int CL_API_CALL clGetKernelInfo(
cl_kernel kernel,
cl_kernel_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetKernelArgInfo(
cl_kernel kernel,
cl_uint argIndx,
cl_kernel_arg_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clGetKernelWorkGroupInfo(
cl_kernel kernel,
cl_device_id device,
cl_kernel_work_group_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clWaitForEvents(
cl_uint numEvents,
const cl_event *eventList);
cl_int CL_API_CALL clGetEventInfo(
cl_event event,
cl_event_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_event CL_API_CALL clCreateUserEvent(
cl_context context,
cl_int *errcodeRet);
cl_int CL_API_CALL clRetainEvent(
cl_event event);
cl_int CL_API_CALL clReleaseEvent(
cl_event event);
cl_int CL_API_CALL clSetUserEventStatus(
cl_event event,
cl_int executionStatus);
cl_int CL_API_CALL clSetEventCallback(
cl_event event,
cl_int commandExecCallbackType,
void(CL_CALLBACK *funcNotify)(cl_event, cl_int, void *),
void *userData);
cl_int CL_API_CALL clGetEventProfilingInfo(
cl_event event,
cl_profiling_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clFlush(
cl_command_queue commandQueue);
cl_int CL_API_CALL clFinish(
cl_command_queue commandQueue);
cl_int CL_API_CALL clEnqueueReadBuffer(
cl_command_queue commandQueue,
cl_mem buffer,
cl_bool blockingRead,
size_t offset,
size_t cb,
void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueReadBufferRect(
cl_command_queue commandQueue,
cl_mem buffer,
cl_bool blockingRead,
const size_t *bufferOrigin,
const size_t *hostOrigin,
const size_t *region,
size_t bufferRowPitch,
size_t bufferSlicePitch,
size_t hostRowPitch,
size_t hostSlicePitch,
void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueWriteBuffer(
cl_command_queue commandQueue,
cl_mem buffer,
cl_bool blockingWrite,
size_t offset,
size_t cb,
const void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueWriteBufferRect(
cl_command_queue commandQueue,
cl_mem buffer,
cl_bool blockingWrite,
const size_t *bufferOrigin,
const size_t *hostOrigin,
const size_t *region,
size_t bufferRowPitch,
size_t bufferSlicePitch,
size_t hostRowPitch,
size_t hostSlicePitch,
const void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueFillBuffer(
cl_command_queue commandQueue,
cl_mem buffer,
const void *pattern,
size_t patternSize,
size_t offset,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueCopyBuffer(
cl_command_queue commandQueue,
cl_mem srcBuffer,
cl_mem dstBuffer,
size_t srcOffset,
size_t dstOffset,
size_t cb,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueCopyBufferRect(
cl_command_queue commandQueue,
cl_mem srcBuffer,
cl_mem dstBuffer,
const size_t *srcOrigin,
const size_t *dstOrigin,
const size_t *region,
size_t srcRowPitch,
size_t srcSlicePitch,
size_t dstRowPitch,
size_t dstSlicePitch,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueReadImage(
cl_command_queue commandQueue,
cl_mem image,
cl_bool blockingRead,
const size_t *origin,
const size_t *region,
size_t rowPitch,
size_t slicePitch,
void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueWriteImage(
cl_command_queue commandQueue,
cl_mem image,
cl_bool blockingWrite,
const size_t *origin,
const size_t *region,
size_t inputRowPitch,
size_t inputSlicePitch,
const void *ptr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueFillImage(
cl_command_queue commandQueue,
cl_mem image,
const void *fillColor,
const size_t *origin,
const size_t *region,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueCopyImage(
cl_command_queue commandQueue,
cl_mem srcImage,
cl_mem dstImage,
const size_t *srcOrigin,
const size_t *dstOrigin,
const size_t *region,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueCopyImageToBuffer(
cl_command_queue commandQueue,
cl_mem srcImage,
cl_mem dstBuffer,
const size_t *srcOrigin,
const size_t *region,
size_t dstOffset,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueCopyBufferToImage(
cl_command_queue commandQueue,
cl_mem srcBuffer,
cl_mem dstImage,
size_t srcOffset,
const size_t *dstOrigin,
const size_t *region,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
void *CL_API_CALL clEnqueueMapBuffer(
cl_command_queue commandQueue,
cl_mem buffer,
cl_bool blockingMap,
cl_map_flags mapFlags,
size_t offset,
size_t cb,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event,
cl_int *errcodeRet);
void *CL_API_CALL clEnqueueMapImage(
cl_command_queue commandQueue,
cl_mem image,
cl_bool blockingMap,
cl_map_flags mapFlags,
const size_t *origin,
const size_t *region,
size_t *imageRowPitch,
size_t *imageSlicePitch,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event,
cl_int *errcodeRet);
cl_int CL_API_CALL clEnqueueUnmapMemObject(
cl_command_queue commandQueue,
cl_mem memobj,
void *mappedPtr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueMigrateMemObjects(
cl_command_queue commandQueue,
cl_uint numMemObjects,
const cl_mem *memObjects,
cl_mem_migration_flags flags,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueNDRangeKernel(
cl_command_queue commandQueue,
cl_kernel kernel,
cl_uint workDim,
const size_t *globalWorkOffset,
const size_t *globalWorkSize,
const size_t *localWorkSize,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueTask(
cl_command_queue commandQueue,
cl_kernel kernel,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueNativeKernel(
cl_command_queue commandQueue,
void(CL_CALLBACK *userFunc)(void *),
void *args,
size_t cbArgs,
cl_uint numMemObjects,
const cl_mem *memList,
const void **argsMemLoc,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
// deprecated OpenCL 1.1
cl_int CL_API_CALL clEnqueueMarker(
cl_command_queue commandQueue,
cl_event *event);
// deprecated OpenCL 1.1
cl_int CL_API_CALL clEnqueueWaitForEvents(
cl_command_queue commandQueue,
cl_uint numEvents,
const cl_event *eventList);
// deprecated OpenCL 1.1
cl_int CL_API_CALL clEnqueueBarrier(
cl_command_queue commandQueue);
cl_int CL_API_CALL clEnqueueMarkerWithWaitList(
cl_command_queue commandQueue,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueBarrierWithWaitList(
cl_command_queue commandQueue,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
// deprecated OpenCL 1.1
void *CL_API_CALL clGetExtensionFunctionAddress(
const char *funcName);
void *CL_API_CALL clGetExtensionFunctionAddressForPlatform(
cl_platform_id platform,
const char *funcName);
// CL-GL Sharing
cl_mem CL_API_CALL clCreateFromGLBuffer(
cl_context context,
cl_mem_flags flags,
cl_GLuint bufobj,
int *errcodeRet);
// OpenCL 1.2
cl_mem CL_API_CALL clCreateFromGLTexture(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int *errcodeRet);
// deprecated OpenCL 1.1
cl_mem CL_API_CALL clCreateFromGLTexture2D(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int *errcodeRet);
// deprecated OpenCL 1.1
cl_mem CL_API_CALL clCreateFromGLTexture3D(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int *errcodeRet);
cl_mem CL_API_CALL clCreateFromGLRenderbuffer(
cl_context context,
cl_mem_flags flags,
cl_GLuint renderbuffer,
cl_int *errcodeRet);
cl_int CL_API_CALL clGetGLObjectInfo(
cl_mem memobj,
cl_gl_object_type *glObjectType,
cl_GLuint *glObjectName);
cl_int CL_API_CALL clGetGLTextureInfo(
cl_mem memobj,
cl_gl_texture_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clEnqueueAcquireGLObjects(
cl_command_queue commandQueue,
cl_uint numObjects,
const cl_mem *memObjects,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueReleaseGLObjects(
cl_command_queue commandQueue,
cl_uint numObjects,
const cl_mem *memObjects,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
// OpenCL 2.0
void *CL_API_CALL clSVMAlloc(
cl_context context,
cl_svm_mem_flags flags,
size_t size,
cl_uint alignment);
void CL_API_CALL clSVMFree(
cl_context context,
void *svmPointer);
cl_int CL_API_CALL clEnqueueSVMFree(
cl_command_queue commandQueue,
cl_uint numSvmPointers,
void *svmPointers[],
void(CL_CALLBACK *pfnFreeFunc)(
cl_command_queue queue,
cl_uint numSvmPointers,
void *svmPointers[],
void *userData),
void *userData,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueSVMMemcpy(
cl_command_queue commandQueue,
cl_bool blockingCopy,
void *dstPtr,
const void *srcPtr,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueSVMMemFill(
cl_command_queue commandQueue,
void *svmPtr,
const void *pattern,
size_t patternSize,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueSVMMap(
cl_command_queue commandQueue,
cl_bool blockingMap,
cl_map_flags mapFlags,
void *svmPtr,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clEnqueueSVMUnmap(
cl_command_queue commandQueue,
void *svmPtr,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int CL_API_CALL clSetKernelArgSVMPointer(
cl_kernel kernel,
cl_uint argIndex,
const void *argValue);
cl_int CL_API_CALL clSetKernelExecInfo(
cl_kernel kernel,
cl_kernel_exec_info paramName,
size_t paramValueSize,
const void *paramValue);
cl_mem CL_API_CALL clCreatePipe(
cl_context context,
cl_mem_flags flags,
cl_uint pipePacketSize,
cl_uint pipeMaxPackets,
const cl_pipe_properties *properties,
cl_int *errcodeRet);
cl_int CL_API_CALL clGetPipeInfo(
cl_mem pipe,
cl_pipe_info paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_command_queue CL_API_CALL clCreateCommandQueueWithProperties(
cl_context context,
cl_device_id device,
const cl_queue_properties *properties,
cl_int *errcodeRet);
cl_command_queue CL_API_CALL clCreateCommandQueueWithPropertiesKHR(
cl_context context,
cl_device_id device,
const cl_queue_properties_khr *properties,
cl_int *errcodeRet);
cl_sampler CL_API_CALL clCreateSamplerWithProperties(
cl_context context,
const cl_sampler_properties *samplerProperties,
cl_int *errcodeRet);
cl_int CL_API_CALL clEnqueueVerifyMemoryINTEL(
cl_command_queue commandQueue,
const void *allocationPtr,
const void *expectedData,
size_t sizeOfComparison,
cl_uint comparisonMode);
cl_int CL_API_CALL clAddCommentINTEL(cl_device_id device, const char *comment);
// OpenCL 2.1
cl_int CL_API_CALL clGetDeviceAndHostTimer(cl_device_id device,
cl_ulong *deviceTimestamp,
cl_ulong *hostTimestamp);
cl_int CL_API_CALL clGetHostTimer(cl_device_id device,
cl_ulong *hostTimestamp);
cl_int CL_API_CALL clGetKernelSubGroupInfo(cl_kernel kernel,
cl_device_id device,
cl_kernel_sub_group_info paramName,
size_t inputValueSize,
const void *inputValue,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clSetDefaultDeviceCommandQueue(cl_context context,
cl_device_id device,
cl_command_queue commandQueue);
cl_int CL_API_CALL clEnqueueSVMMigrateMem(cl_command_queue commandQueue,
cl_uint numSvmPointers,
const void **svmPointers,
const size_t *sizes,
const cl_mem_migration_flags flags,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_kernel CL_API_CALL clCloneKernel(cl_kernel sourceKernel,
cl_int *errcodeRet);
extern CL_API_ENTRY cl_command_queue CL_API_CALL
clCreatePerfCountersCommandQueueINTEL(
cl_context context,
cl_device_id device,
cl_command_queue_properties properties,
cl_uint configuration,
cl_int *errcodeRet);
extern CL_API_ENTRY cl_int CL_API_CALL
clSetPerformanceConfigurationINTEL(
cl_device_id device,
cl_uint count,
cl_uint *offsets,
cl_uint *values);
extern CL_API_ENTRY cl_event CL_API_CALL
clCreateEventFromGLsyncKHR(
cl_context context,
cl_GLsync sync,
cl_int *errcodeRet) CL_EXT_SUFFIX__VERSION_1_2;
extern CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithILKHR(
cl_context context,
const void *il,
size_t length,
cl_int *errcodeRet) CL_API_SUFFIX__VERSION_1_2;
void *clHostMemAllocINTEL(
cl_context context,
cl_mem_properties_intel *properties,
size_t size,
cl_uint alignment,
cl_int *errcodeRet);
void *clDeviceMemAllocINTEL(
cl_context context,
cl_device_id device,
cl_mem_properties_intel *properties,
size_t size,
cl_uint alignment,
cl_int *errcodeRet);
void *clSharedMemAllocINTEL(
cl_context context,
cl_device_id device,
cl_mem_properties_intel *properties,
size_t size,
cl_uint alignment,
cl_int *errcodeRet);
cl_int clMemFreeINTEL(
cl_context context,
const void *ptr);
cl_int clGetMemAllocInfoINTEL(
cl_context context,
const void *ptr,
cl_mem_info_intel paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int clSetKernelArgMemPointerINTEL(
cl_kernel kernel,
cl_uint argIndex,
const void *argValue);
cl_int clEnqueueMemsetINTEL(
cl_command_queue commandQueue,
void *dstPtr,
cl_int value,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int clEnqueueMemFillINTEL(
cl_command_queue commandQueue,
void *dstPtr,
const void *pattern,
size_t patternSize,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int clEnqueueMemcpyINTEL(
cl_command_queue commandQueue,
cl_bool blocking,
void *dstPtr,
const void *srcPtr,
size_t size,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int clEnqueueMigrateMemINTEL(
cl_command_queue commandQueue,
const void *ptr,
size_t size,
cl_mem_migration_flags flags,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
cl_int clEnqueueMemAdviseINTEL(
cl_command_queue commandQueue,
const void *ptr,
size_t size,
cl_mem_advice_intel advice,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
}
cl_int CL_API_CALL clGetDeviceFunctionPointerINTEL(
cl_device_id device,
cl_program program,
const char *functionName,
cl_ulong *functionPointerRet);
cl_int CL_API_CALL clGetDeviceGlobalVariablePointerINTEL(
cl_device_id device,
cl_program program,
const char *globalVariableName,
size_t *globalVariableSizeRet,
void **globalVariablePointerRet);
cl_int CL_API_CALL clGetExecutionInfoINTEL(
cl_command_queue commandQueue,
cl_kernel kernel,
cl_uint workDim,
const size_t *globalWorkOffset,
const size_t *localWorkSize,
cl_execution_info_intel paramName,
size_t paramValueSize,
void *paramValue,
size_t *paramValueSizeRet);
cl_int CL_API_CALL clEnqueueNDRangeKernelINTEL(cl_command_queue commandQueue,
cl_kernel kernel,
cl_uint workDim,
const size_t *globalWorkOffset,
const size_t *workgroupCount,
const size_t *localWorkSize,
cl_uint numEventsInWaitList,
const cl_event *eventWaitList,
cl_event *event);
// OpenCL 2.2
cl_int CL_API_CALL clSetProgramSpecializationConstant(
cl_program program,
cl_uint specId,
size_t specSize,
const void *specValue);