Compute Library
 22.08
CLSymbols Class Referencefinal

Class for loading OpenCL symbols. More...

#include <OpenCL.h>

Public Member Functions

 CLSymbols () noexcept(false)
 Default Constructor. More...
 
void load_symbols (void *handle)
 Load OpenCL symbols from handle. More...
 
bool load (const std::string &library, bool use_loader=false)
 Load symbols from the given OpenCL library path. More...
 
bool load_default ()
 Load symbols from any of the default OpenCL library names. More...
 

Static Public Member Functions

static CLSymbolsget ()
 Get the static instance of CLSymbols. More...
 

Data Fields

std::function< decltype(clCreateContext)> clCreateContext_ptr = nullptr
 
std::function< decltype(clCreateContextFromType)> clCreateContextFromType_ptr = nullptr
 
std::function< decltype(clCreateCommandQueue)> clCreateCommandQueue_ptr = nullptr
 
std::function< decltype(clCreateCommandQueueWithProperties)> clCreateCommandQueueWithProperties_ptr = nullptr
 
std::function< decltype(clGetContextInfo)> clGetContextInfo_ptr = nullptr
 
std::function< decltype(clBuildProgram)> clBuildProgram_ptr = nullptr
 
std::function< decltype(clEnqueueNDRangeKernel)> clEnqueueNDRangeKernel_ptr = nullptr
 
std::function< decltype(clSetKernelArg)> clSetKernelArg_ptr = nullptr
 
std::function< decltype(clReleaseKernel)> clReleaseKernel_ptr = nullptr
 
std::function< decltype(clCreateProgramWithSource)> clCreateProgramWithSource_ptr = nullptr
 
std::function< decltype(clCreateBuffer)> clCreateBuffer_ptr = nullptr
 
std::function< decltype(clRetainKernel)> clRetainKernel_ptr = nullptr
 
std::function< decltype(clCreateKernel)> clCreateKernel_ptr = nullptr
 
std::function< decltype(clGetProgramInfo)> clGetProgramInfo_ptr = nullptr
 
std::function< decltype(clFlush)> clFlush_ptr = nullptr
 
std::function< decltype(clFinish)> clFinish_ptr = nullptr
 
std::function< decltype(clReleaseProgram)> clReleaseProgram_ptr = nullptr
 
std::function< decltype(clRetainContext)> clRetainContext_ptr = nullptr
 
std::function< decltype(clCreateProgramWithBinary)> clCreateProgramWithBinary_ptr = nullptr
 
std::function< decltype(clReleaseCommandQueue)> clReleaseCommandQueue_ptr = nullptr
 
std::function< decltype(clEnqueueMapBuffer)> clEnqueueMapBuffer_ptr = nullptr
 
std::function< decltype(clRetainProgram)> clRetainProgram_ptr = nullptr
 
std::function< decltype(clGetProgramBuildInfo)> clGetProgramBuildInfo_ptr = nullptr
 
std::function< decltype(clEnqueueReadBuffer)> clEnqueueReadBuffer_ptr = nullptr
 
std::function< decltype(clEnqueueWriteBuffer)> clEnqueueWriteBuffer_ptr = nullptr
 
std::function< decltype(clReleaseEvent)> clReleaseEvent_ptr = nullptr
 
std::function< decltype(clReleaseContext)> clReleaseContext_ptr = nullptr
 
std::function< decltype(clRetainCommandQueue)> clRetainCommandQueue_ptr = nullptr
 
std::function< decltype(clEnqueueUnmapMemObject)> clEnqueueUnmapMemObject_ptr = nullptr
 
std::function< decltype(clRetainMemObject)> clRetainMemObject_ptr = nullptr
 
std::function< decltype(clReleaseMemObject)> clReleaseMemObject_ptr = nullptr
 
std::function< decltype(clGetDeviceInfo)> clGetDeviceInfo_ptr = nullptr
 
std::function< decltype(clGetDeviceIDs)> clGetDeviceIDs_ptr = nullptr
 
std::function< decltype(clGetMemObjectInfo)> clGetMemObjectInfo_ptr = nullptr
 
std::function< decltype(clRetainEvent)> clRetainEvent_ptr = nullptr
 
std::function< decltype(clGetPlatformInfo)> clGetPlatformInfo_ptr = nullptr
 
std::function< decltype(clGetPlatformIDs)> clGetPlatformIDs_ptr = nullptr
 
std::function< decltype(clGetKernelWorkGroupInfo)> clGetKernelWorkGroupInfo_ptr = nullptr
 
std::function< decltype(clGetCommandQueueInfo)> clGetCommandQueueInfo_ptr = nullptr
 
std::function< decltype(clGetKernelInfo)> clGetKernelInfo_ptr = nullptr
 
std::function< decltype(clGetEventProfilingInfo)> clGetEventProfilingInfo_ptr = nullptr
 
std::function< decltype(clSVMAlloc)> clSVMAlloc_ptr = nullptr
 
std::function< decltype(clSVMFree)> clSVMFree_ptr = nullptr
 
std::function< decltype(clEnqueueSVMMap)> clEnqueueSVMMap_ptr = nullptr
 
std::function< decltype(clEnqueueSVMUnmap)> clEnqueueSVMUnmap_ptr = nullptr
 
std::function< decltype(clEnqueueMarker)> clEnqueueMarker_ptr = nullptr
 
std::function< decltype(clWaitForEvents)> clWaitForEvents_ptr = nullptr
 
std::function< decltype(clCreateImage)> clCreateImage_ptr = nullptr
 
std::function< decltype(clSetKernelExecInfo)> clSetKernelExecInfo_ptr = nullptr
 
std::function< decltype(clImportMemoryARM)> clImportMemoryARM_ptr = nullptr
 

Detailed Description

Class for loading OpenCL symbols.

Definition at line 61 of file OpenCL.h.

Constructor & Destructor Documentation

◆ CLSymbols()

CLSymbols ( )
noexcept

Default Constructor.

Definition at line 37 of file OpenCL.cpp.

38  : _loaded(
39 {
40  false, false
41 })
42 {
43 }

Member Function Documentation

◆ get()

CLSymbols & get ( )
static

Get the static instance of CLSymbols.

Returns
The static instance of CLSymbols.

Definition at line 45 of file OpenCL.cpp.

Referenced by CLTuner::add_tuning_params(), clBuildProgram(), clCreateBuffer(), clCreateCommandQueue(), clCreateCommandQueueWithProperties(), clCreateContext(), clCreateContextFromType(), clCreateImage(), clCreateKernel(), clCreateProgramWithBinary(), clCreateProgramWithSource(), clEnqueueMapBuffer(), clEnqueueMarker(), clEnqueueNDRangeKernel(), clEnqueueReadBuffer(), clEnqueueSVMMap(), clEnqueueSVMUnmap(), clEnqueueUnmapMemObject(), clEnqueueWriteBuffer(), clFinish(), clFlush(), clGetCommandQueueInfo(), clGetContextInfo(), clGetDeviceIDs(), clGetDeviceInfo(), clGetEventProfilingInfo(), clGetKernelInfo(), clGetKernelWorkGroupInfo(), clGetMemObjectInfo(), clGetPlatformIDs(), clGetPlatformInfo(), clGetProgramBuildInfo(), clGetProgramInfo(), clImportMemoryARM(), clReleaseCommandQueue(), clReleaseContext(), clReleaseEvent(), clReleaseKernel(), clReleaseMemObject(), clReleaseProgram(), clRetainCommandQueue(), clRetainContext(), clRetainEvent(), clRetainKernel(), clRetainMemObject(), clRetainProgram(), clSetKernelArg(), clSetKernelExecInfo(), clSVMAlloc(), clSVMFree(), clWaitForEvents(), arm_compute::opencl_is_available(), OpenCLMemoryUsage::test_start(), OpenCLClock< output_timestamps >::test_start(), OpenCLMemoryUsage::test_stop(), and OpenCLClock< output_timestamps >::test_stop().

46 {
47  static CLSymbols symbols;
48  return symbols;
49 }
CLSymbols() noexcept(false)
Default Constructor.
Definition: OpenCL.cpp:37

◆ load()

bool load ( const std::string &  library,
bool  use_loader = false 
)

Load symbols from the given OpenCL library path.

Parameters
[in]libraryPath to the OpenCL library.
[in]use_loaderUse symbol loader function loadOpenCLPointer.
Returns
True if loading the library is successful.

Definition at line 90 of file OpenCL.cpp.

References clBuildProgram(), clCreateBuffer(), clCreateCommandQueue(), clCreateCommandQueueWithProperties(), clCreateContext(), clCreateContextFromType(), clCreateImage(), clCreateKernel(), clCreateProgramWithBinary(), clCreateProgramWithSource(), clEnqueueMapBuffer(), clEnqueueMarker(), clEnqueueNDRangeKernel(), clEnqueueReadBuffer(), clEnqueueSVMMap(), clEnqueueSVMUnmap(), clEnqueueUnmapMemObject(), clEnqueueWriteBuffer(), clFinish(), clFlush(), clGetCommandQueueInfo(), clGetContextInfo(), clGetDeviceIDs(), clGetDeviceInfo(), clGetEventProfilingInfo(), clGetKernelInfo(), clGetKernelWorkGroupInfo(), clGetMemObjectInfo(), clGetPlatformIDs(), clGetPlatformInfo(), clGetProgramBuildInfo(), clGetProgramInfo(), clImportMemoryARM(), clReleaseCommandQueue(), clReleaseContext(), clReleaseEvent(), clReleaseKernel(), clReleaseMemObject(), clReleaseProgram(), clRetainCommandQueue(), clRetainContext(), clRetainEvent(), clRetainKernel(), clRetainMemObject(), clRetainProgram(), clSetKernelArg(), clSetKernelExecInfo(), clSVMAlloc(), clSVMFree(), clWaitForEvents(), LOAD_FUNCTION_PTR, and name.

Referenced by CLSymbols::load_default().

91 {
92  void *handle = dlopen(library.c_str(), RTLD_LAZY | RTLD_LOCAL);
93 
94  if(handle == nullptr)
95  {
96  std::cerr << "Can't load " << library << ": " << dlerror() << "\n";
97  // Set status of loading to failed
98  _loaded.second = false;
99  return false;
100  }
101 
102 #ifdef __ANDROID__
103  typedef void* (*loadOpenCLPointer_t)(const char* name);
104  loadOpenCLPointer_t loadOpenCLPointer;
105  if (use_loader) {
106  typedef void (*enableOpenCL_t)();
107  enableOpenCL_t enableOpenCL =
108  reinterpret_cast<enableOpenCL_t>(dlsym(handle, "enableOpenCL"));
109  enableOpenCL();
110 
111  loadOpenCLPointer = reinterpret_cast<loadOpenCLPointer_t>(
112  dlsym(handle, "loadOpenCLPointer"));
113  } else {
114  loadOpenCLPointer = nullptr;
115  }
116 #define LOAD_FUNCTION_PTR(func_name, _handle) \
117  func_name##_ptr = reinterpret_cast<decltype(func_name) *>( use_loader ? \
118  loadOpenCLPointer(#func_name) : dlsym(handle, #func_name));
119 #else /* __ANDROID__ */
120  (void)use_loader; // Avoid unused warning
121 #define LOAD_FUNCTION_PTR(func_name, handle) \
122  func_name##_ptr = reinterpret_cast<decltype(func_name) *>(dlsym(handle, #func_name));
123 #endif /* __ANDROID__ */
124 
139  LOAD_FUNCTION_PTR(clFlush, handle);
140  LOAD_FUNCTION_PTR(clFinish, handle);
166  LOAD_FUNCTION_PTR(clSVMAlloc, handle);
167  LOAD_FUNCTION_PTR(clSVMFree, handle);
174 
175  // Third-party extensions
177 
178 #undef LOAD_FUNCTION_PTR
179 
180  //Don't call dlclose(handle) or all the symbols will be unloaded !
181 
182  // Disable default loading and set status to successful
183  _loaded = std::make_pair(true, true);
184 
185  return true;
186 }
cl_int clRetainMemObject(cl_mem memobj)
Definition: OpenCL.cpp:447
cl_int clEnqueueWriteBuffer(cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, size_t offset, size_t size, const void *ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:536
cl_int clGetEventProfilingInfo(cl_event event, cl_profiling_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:1012
cl_int clSetKernelExecInfo(cl_kernel kernel, cl_kernel_exec_info param_name, size_t param_value_size, const void *param_value)
Definition: OpenCL.cpp:1054
cl_command_queue clCreateCommandQueueWithProperties(cl_context context, cl_device_id device, const cl_queue_properties *properties, cl_int *errcode_ret)
Definition: OpenCL.cpp:331
cl_int clEnqueueUnmapMemObject(cl_command_queue command_queue, cl_mem memobj, void *mapped_ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:475
cl_int clGetPlatformIDs(cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms)
Definition: OpenCL.cpp:939
cl_int clRetainCommandQueue(cl_command_queue command_queue)
Definition: OpenCL.cpp:495
cl_int clEnqueueReadBuffer(cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, size_t offset, size_t size, void *ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:559
cl_int clSetKernelArg(cl_kernel kernel, cl_uint arg_index, size_t arg_size, const void *arg_value)
Definition: OpenCL.cpp:429
cl_mem clCreateImage(cl_context context, cl_mem_flags flags, const cl_image_format *image_format, const cl_image_desc *image_desc, void *host_ptr, cl_int *errcode_ret)
Definition: OpenCL.cpp:1031
cl_int clRetainEvent(cl_event event)
Definition: OpenCL.cpp:907
cl_int clRetainProgram(cl_program program)
Definition: OpenCL.cpp:602
cl_int clRetainKernel(cl_kernel kernel)
Definition: OpenCL.cpp:779
void clSVMFree(cl_context context, void *svm_pointer)
Definition: OpenCL.cpp:286
cl_int clGetPlatformInfo(cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:921
cl_program clCreateProgramWithBinary(cl_context context, cl_uint num_devices, const cl_device_id *device_list, const size_t *lengths, const unsigned char **binaries, cl_int *binary_status, cl_int *errcode_ret)
Definition: OpenCL.cpp:658
cl_int clGetDeviceInfo(cl_device_id device, cl_device_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:871
cl_int clGetProgramInfo(cl_program program, cl_program_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:739
std::unique_ptr< AssetsLibrary > library
Definition: main.cpp:76
cl_command_queue clCreateCommandQueue(cl_context context, cl_device_id device, cl_command_queue_properties properties, cl_int *errcode_ret)
Definition: OpenCL.cpp:314
cl_int clFlush(cl_command_queue command_queue)
Definition: OpenCL.cpp:711
cl_int clReleaseCommandQueue(cl_command_queue command_queue)
Definition: OpenCL.cpp:644
void * clEnqueueMapBuffer(cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map, cl_map_flags map_flags, size_t offset, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event, cl_int *errcode_ret)
Definition: OpenCL.cpp:616
cl_int clEnqueueSVMUnmap(cl_command_queue command_queue, void *svm_ptr, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:257
const char * name
cl_int clEnqueueNDRangeKernel(cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, const size_t *global_work_offset, const size_t *global_work_size, const size_t *local_work_size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:406
cl_mem clCreateBuffer(cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, cl_int *errcode_ret)
Definition: OpenCL.cpp:793
cl_int clEnqueueMarker(cl_command_queue command_queue, cl_event *event)
Definition: OpenCL.cpp:212
cl_context clCreateContextFromType(const cl_context_properties *properties, cl_device_type device_type, void(*pfn_notify)(const char *, const void *, size_t, void *), void *user_data, cl_int *errcode_ret)
Definition: OpenCL.cpp:368
cl_int clReleaseEvent(cl_event event)
Definition: OpenCL.cpp:522
cl_int clReleaseProgram(cl_program program)
Definition: OpenCL.cpp:697
cl_int clGetCommandQueueInfo(cl_command_queue command_queue, cl_command_queue_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:974
cl_int clEnqueueSVMMap(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags flags, void *svm_ptr, size_t size, cl_uint num_events_in_wait_list, const cl_event *event_wait_list, cl_event *event)
Definition: OpenCL.cpp:242
cl_int clReleaseKernel(cl_kernel kernel)
Definition: OpenCL.cpp:839
cl_int clGetContextInfo(cl_context context, cl_context_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:296
void * clSVMAlloc(cl_context context, cl_svm_mem_flags_arm flags, size_t size, cl_uint alignment)
Definition: OpenCL.cpp:272
cl_program clCreateProgramWithSource(cl_context context, cl_uint count, const char **strings, const size_t *lengths, cl_int *errcode_ret)
Definition: OpenCL.cpp:816
cl_int clGetMemObjectInfo(cl_mem memobj, cl_mem_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:889
cl_int clGetKernelWorkGroupInfo(cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:954
cl_context clCreateContext(const cl_context_properties *properties, cl_uint num_devices, const cl_device_id *devices, void(*pfn_notify)(const char *, const void *, size_t, void *), void *user_data, cl_int *errcode_ret)
Definition: OpenCL.cpp:348
#define LOAD_FUNCTION_PTR(func_name, handle)
cl_int clReleaseContext(cl_context context)
Definition: OpenCL.cpp:509
cl_mem clImportMemoryARM(cl_context context, cl_mem_flags flags, const cl_import_properties_arm *properties, void *memory, size_t size, cl_int *errcode_ret)
Definition: OpenCL.cpp:1072
cl_int clGetKernelInfo(cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:993
cl_kernel clCreateKernel(cl_program program, const char *kernel_name, cl_int *errcode_ret)
Definition: OpenCL.cpp:758
cl_int clWaitForEvents(cl_uint num_events, const cl_event *event_list)
Definition: OpenCL.cpp:227
cl_int clBuildProgram(cl_program program, cl_uint num_devices, const cl_device_id *device_list, const char *options, void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), void *user_data)
Definition: OpenCL.cpp:386
cl_int clReleaseMemObject(cl_mem memobj)
Definition: OpenCL.cpp:461
cl_int clRetainContext(cl_context context)
Definition: OpenCL.cpp:683
cl_int clFinish(cl_command_queue command_queue)
Definition: OpenCL.cpp:725
cl_int clGetProgramBuildInfo(cl_program program, cl_device_id device, cl_program_build_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret)
Definition: OpenCL.cpp:582
cl_int clGetDeviceIDs(cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices)
Definition: OpenCL.cpp:853

◆ load_default()

bool load_default ( )

Load symbols from any of the default OpenCL library names.

Returns
True if loading any library is successful.

Definition at line 51 of file OpenCL.cpp.

References ARM_COMPUTE_ERROR_ON_MSG, CLSymbols::clBuildProgram_ptr, and CLSymbols::load().

Referenced by clBuildProgram(), clCreateBuffer(), clCreateCommandQueue(), clCreateCommandQueueWithProperties(), clCreateContext(), clCreateContextFromType(), clCreateImage(), clCreateKernel(), clCreateProgramWithBinary(), clCreateProgramWithSource(), clEnqueueMapBuffer(), clEnqueueMarker(), clEnqueueNDRangeKernel(), clEnqueueReadBuffer(), clEnqueueSVMMap(), clEnqueueSVMUnmap(), clEnqueueUnmapMemObject(), clEnqueueWriteBuffer(), clFinish(), clFlush(), clGetCommandQueueInfo(), clGetContextInfo(), clGetDeviceIDs(), clGetDeviceInfo(), clGetEventProfilingInfo(), clGetKernelInfo(), clGetKernelWorkGroupInfo(), clGetMemObjectInfo(), clGetPlatformIDs(), clGetPlatformInfo(), clGetProgramBuildInfo(), clGetProgramInfo(), clImportMemoryARM(), clReleaseCommandQueue(), clReleaseContext(), clReleaseEvent(), clReleaseKernel(), clReleaseMemObject(), clReleaseProgram(), clRetainCommandQueue(), clRetainContext(), clRetainEvent(), clRetainKernel(), clRetainMemObject(), clRetainProgram(), CLRuntimeContext::CLRuntimeContext(), clSetKernelArg(), clSetKernelExecInfo(), clSVMAlloc(), clSVMFree(), clWaitForEvents(), and arm_compute::opencl_is_available().

52 {
53  static const std::vector<std::string> libraries{ "libOpenCL.so", "libGLES_mali.so", "libmali.so" };
54 
55  if(_loaded.first)
56  {
57  return _loaded.second;
58  }
59 
60  // Indicate that default loading has been tried
61  _loaded.first = true;
62 
63  for(const auto &lib : libraries)
64  {
65  if(load(lib, /* use_loader */false))
66  {
67  ARM_COMPUTE_ERROR_ON_MSG(this->clBuildProgram_ptr == nullptr, "Failed to load OpenCL symbols from shared library");
68  return true;
69  }
70  }
71 
72 #ifdef __ANDROID__
73  // When running in NDK environment, the above libraries are not accessible.
74  static const std::vector<std::string> android_libraries{ "libOpenCL-pixel.so", "libOpenCL-car.so" };
75 
76  for(const auto &lib : android_libraries)
77  {
78  if(load(lib, /* use_loader */true))
79  {
80  ARM_COMPUTE_ERROR_ON_MSG(this->clBuildProgram_ptr == nullptr, "Failed to load OpenCL symbols from android shared library");
81  return true;
82  }
83  }
84 #endif /* __ANDROID__ */
85 
86  std::cerr << "Couldn't find any OpenCL library.\n";
87  return false;
88 }
#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)
Definition: Error.h:456
bool load(const std::string &library, bool use_loader=false)
Load symbols from the given OpenCL library path.
Definition: OpenCL.cpp:90
std::function< decltype(clBuildProgram)> clBuildProgram_ptr
Definition: OpenCL.h:98

◆ load_symbols()

void load_symbols ( void *  handle)

Load OpenCL symbols from handle.

Parameters
[in]handleHandle to load symbols from

Field Documentation

◆ clBuildProgram_ptr

std::function<decltype( clBuildProgram )> clBuildProgram_ptr = nullptr

◆ clCreateBuffer_ptr

std::function<decltype( clCreateBuffer )> clCreateBuffer_ptr = nullptr

◆ clCreateCommandQueue_ptr

std::function<decltype( clCreateCommandQueue )> clCreateCommandQueue_ptr = nullptr

Definition at line 95 of file OpenCL.h.

Referenced by clCreateCommandQueue().

◆ clCreateCommandQueueWithProperties_ptr

std::function<decltype( clCreateCommandQueueWithProperties )> clCreateCommandQueueWithProperties_ptr = nullptr

Definition at line 96 of file OpenCL.h.

Referenced by clCreateCommandQueueWithProperties().

◆ clCreateContext_ptr

std::function<decltype( clCreateContext )> clCreateContext_ptr = nullptr

Definition at line 93 of file OpenCL.h.

Referenced by clCreateContext().

◆ clCreateContextFromType_ptr

std::function<decltype( clCreateContextFromType )> clCreateContextFromType_ptr = nullptr

Definition at line 94 of file OpenCL.h.

Referenced by clCreateContextFromType().

◆ clCreateImage_ptr

std::function<decltype( clCreateImage )> clCreateImage_ptr = nullptr

Definition at line 140 of file OpenCL.h.

Referenced by clCreateImage().

◆ clCreateKernel_ptr

std::function<decltype( clCreateKernel )> clCreateKernel_ptr = nullptr

Definition at line 105 of file OpenCL.h.

Referenced by clCreateKernel().

◆ clCreateProgramWithBinary_ptr

std::function<decltype( clCreateProgramWithBinary )> clCreateProgramWithBinary_ptr = nullptr

Definition at line 111 of file OpenCL.h.

Referenced by clCreateProgramWithBinary().

◆ clCreateProgramWithSource_ptr

std::function<decltype( clCreateProgramWithSource )> clCreateProgramWithSource_ptr = nullptr

Definition at line 102 of file OpenCL.h.

Referenced by clCreateProgramWithSource().

◆ clEnqueueMapBuffer_ptr

std::function<decltype( clEnqueueMapBuffer )> clEnqueueMapBuffer_ptr = nullptr

Definition at line 113 of file OpenCL.h.

Referenced by clEnqueueMapBuffer().

◆ clEnqueueMarker_ptr

std::function<decltype( clEnqueueMarker )> clEnqueueMarker_ptr = nullptr

Definition at line 138 of file OpenCL.h.

Referenced by clEnqueueMarker().

◆ clEnqueueNDRangeKernel_ptr

std::function<decltype( clEnqueueNDRangeKernel )> clEnqueueNDRangeKernel_ptr = nullptr

◆ clEnqueueReadBuffer_ptr

std::function<decltype( clEnqueueReadBuffer )> clEnqueueReadBuffer_ptr = nullptr

Definition at line 116 of file OpenCL.h.

Referenced by clEnqueueReadBuffer().

◆ clEnqueueSVMMap_ptr

std::function<decltype( clEnqueueSVMMap )> clEnqueueSVMMap_ptr = nullptr

Definition at line 136 of file OpenCL.h.

Referenced by clEnqueueSVMMap().

◆ clEnqueueSVMUnmap_ptr

std::function<decltype( clEnqueueSVMUnmap )> clEnqueueSVMUnmap_ptr = nullptr

Definition at line 137 of file OpenCL.h.

Referenced by clEnqueueSVMUnmap().

◆ clEnqueueUnmapMemObject_ptr

std::function<decltype( clEnqueueUnmapMemObject )> clEnqueueUnmapMemObject_ptr = nullptr

Definition at line 121 of file OpenCL.h.

Referenced by clEnqueueUnmapMemObject().

◆ clEnqueueWriteBuffer_ptr

std::function<decltype( clEnqueueWriteBuffer )> clEnqueueWriteBuffer_ptr = nullptr

Definition at line 117 of file OpenCL.h.

Referenced by clEnqueueWriteBuffer().

◆ clFinish_ptr

std::function<decltype( clFinish )> clFinish_ptr = nullptr

Definition at line 108 of file OpenCL.h.

Referenced by clFinish().

◆ clFlush_ptr

std::function<decltype( clFlush )> clFlush_ptr = nullptr

Definition at line 107 of file OpenCL.h.

Referenced by clFlush().

◆ clGetCommandQueueInfo_ptr

std::function<decltype( clGetCommandQueueInfo )> clGetCommandQueueInfo_ptr = nullptr

Definition at line 131 of file OpenCL.h.

Referenced by clGetCommandQueueInfo().

◆ clGetContextInfo_ptr

std::function<decltype( clGetContextInfo )> clGetContextInfo_ptr = nullptr

Definition at line 97 of file OpenCL.h.

Referenced by clGetContextInfo().

◆ clGetDeviceIDs_ptr

std::function<decltype( clGetDeviceIDs )> clGetDeviceIDs_ptr = nullptr

Definition at line 125 of file OpenCL.h.

Referenced by clGetDeviceIDs().

◆ clGetDeviceInfo_ptr

std::function<decltype( clGetDeviceInfo )> clGetDeviceInfo_ptr = nullptr

Definition at line 124 of file OpenCL.h.

Referenced by clGetDeviceInfo().

◆ clGetEventProfilingInfo_ptr

std::function<decltype( clGetEventProfilingInfo )> clGetEventProfilingInfo_ptr = nullptr

Definition at line 133 of file OpenCL.h.

Referenced by clGetEventProfilingInfo().

◆ clGetKernelInfo_ptr

std::function<decltype( clGetKernelInfo )> clGetKernelInfo_ptr = nullptr

Definition at line 132 of file OpenCL.h.

Referenced by clGetKernelInfo().

◆ clGetKernelWorkGroupInfo_ptr

std::function<decltype( clGetKernelWorkGroupInfo )> clGetKernelWorkGroupInfo_ptr = nullptr

Definition at line 130 of file OpenCL.h.

Referenced by clGetKernelWorkGroupInfo().

◆ clGetMemObjectInfo_ptr

std::function<decltype( clGetMemObjectInfo )> clGetMemObjectInfo_ptr = nullptr

Definition at line 126 of file OpenCL.h.

Referenced by clGetMemObjectInfo().

◆ clGetPlatformIDs_ptr

std::function<decltype( clGetPlatformIDs )> clGetPlatformIDs_ptr = nullptr

Definition at line 129 of file OpenCL.h.

Referenced by clGetPlatformIDs().

◆ clGetPlatformInfo_ptr

std::function<decltype( clGetPlatformInfo )> clGetPlatformInfo_ptr = nullptr

Definition at line 128 of file OpenCL.h.

Referenced by clGetPlatformInfo().

◆ clGetProgramBuildInfo_ptr

std::function<decltype( clGetProgramBuildInfo )> clGetProgramBuildInfo_ptr = nullptr

Definition at line 115 of file OpenCL.h.

Referenced by clGetProgramBuildInfo().

◆ clGetProgramInfo_ptr

std::function<decltype( clGetProgramInfo )> clGetProgramInfo_ptr = nullptr

Definition at line 106 of file OpenCL.h.

Referenced by clGetProgramInfo().

◆ clImportMemoryARM_ptr

std::function<decltype( clImportMemoryARM )> clImportMemoryARM_ptr = nullptr

Definition at line 144 of file OpenCL.h.

Referenced by clImportMemoryARM().

◆ clReleaseCommandQueue_ptr

std::function<decltype( clReleaseCommandQueue )> clReleaseCommandQueue_ptr = nullptr

Definition at line 112 of file OpenCL.h.

Referenced by clReleaseCommandQueue().

◆ clReleaseContext_ptr

std::function<decltype( clReleaseContext )> clReleaseContext_ptr = nullptr

Definition at line 119 of file OpenCL.h.

Referenced by clReleaseContext().

◆ clReleaseEvent_ptr

std::function<decltype( clReleaseEvent )> clReleaseEvent_ptr = nullptr

Definition at line 118 of file OpenCL.h.

Referenced by clReleaseEvent().

◆ clReleaseKernel_ptr

std::function<decltype( clReleaseKernel )> clReleaseKernel_ptr = nullptr

Definition at line 101 of file OpenCL.h.

Referenced by clReleaseKernel().

◆ clReleaseMemObject_ptr

std::function<decltype( clReleaseMemObject )> clReleaseMemObject_ptr = nullptr

◆ clReleaseProgram_ptr

std::function<decltype( clReleaseProgram )> clReleaseProgram_ptr = nullptr

Definition at line 109 of file OpenCL.h.

Referenced by clReleaseProgram().

◆ clRetainCommandQueue_ptr

std::function<decltype( clRetainCommandQueue )> clRetainCommandQueue_ptr = nullptr

Definition at line 120 of file OpenCL.h.

Referenced by clRetainCommandQueue().

◆ clRetainContext_ptr

std::function<decltype( clRetainContext )> clRetainContext_ptr = nullptr

Definition at line 110 of file OpenCL.h.

Referenced by clRetainContext().

◆ clRetainEvent_ptr

std::function<decltype( clRetainEvent )> clRetainEvent_ptr = nullptr

Definition at line 127 of file OpenCL.h.

Referenced by clRetainEvent().

◆ clRetainKernel_ptr

std::function<decltype( clRetainKernel )> clRetainKernel_ptr = nullptr

Definition at line 104 of file OpenCL.h.

Referenced by clRetainKernel().

◆ clRetainMemObject_ptr

std::function<decltype( clRetainMemObject )> clRetainMemObject_ptr = nullptr

◆ clRetainProgram_ptr

std::function<decltype( clRetainProgram )> clRetainProgram_ptr = nullptr

Definition at line 114 of file OpenCL.h.

Referenced by clRetainProgram().

◆ clSetKernelArg_ptr

std::function<decltype( clSetKernelArg )> clSetKernelArg_ptr = nullptr

Definition at line 100 of file OpenCL.h.

Referenced by clSetKernelArg().

◆ clSetKernelExecInfo_ptr

std::function<decltype( clSetKernelExecInfo )> clSetKernelExecInfo_ptr = nullptr

Definition at line 141 of file OpenCL.h.

Referenced by clSetKernelExecInfo().

◆ clSVMAlloc_ptr

std::function<decltype( clSVMAlloc )> clSVMAlloc_ptr = nullptr

◆ clSVMFree_ptr

std::function<decltype( clSVMFree )> clSVMFree_ptr = nullptr

◆ clWaitForEvents_ptr

std::function<decltype( clWaitForEvents )> clWaitForEvents_ptr = nullptr

Definition at line 139 of file OpenCL.h.

Referenced by clWaitForEvents().


The documentation for this class was generated from the following files: