baoabmd 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/BaoabMD.js +928 -0
  2. package/CL/cl.h +1979 -0
  3. package/CL/cl_d3d10.h +268 -0
  4. package/CL/cl_d3d11.h +270 -0
  5. package/CL/cl_dx9_media_sharing.h +386 -0
  6. package/CL/cl_dx9_media_sharing_intel.h +18 -0
  7. package/CL/cl_egl.h +187 -0
  8. package/CL/cl_ext.h +4738 -0
  9. package/CL/cl_ext_intel.h +19 -0
  10. package/CL/cl_function_types.h +1199 -0
  11. package/CL/cl_gl.h +421 -0
  12. package/CL/cl_gl_ext.h +18 -0
  13. package/CL/cl_half.h +440 -0
  14. package/CL/cl_icd.h +349 -0
  15. package/CL/cl_layer.h +163 -0
  16. package/CL/cl_platform.h +1414 -0
  17. package/CL/cl_va_api_media_sharing_intel.h +220 -0
  18. package/CL/cl_version.h +85 -0
  19. package/CL/opencl.h +32 -0
  20. package/INSTRUCTIONS.txt +13 -0
  21. package/OpenCL.lib +0 -0
  22. package/binding.gyp +24 -0
  23. package/build/Release/forces.exp +0 -0
  24. package/build/Release/forces.iobj +0 -0
  25. package/build/Release/forces.ipdb +0 -0
  26. package/build/Release/forces.lib +0 -0
  27. package/build/Release/forces.node +0 -0
  28. package/build/Release/forces.pdb +0 -0
  29. package/build/Release/nothing.lib +0 -0
  30. package/build/Release/obj/forces/forces.node.recipe +11 -0
  31. package/build/Release/obj/forces/forces.obj +0 -0
  32. package/build/Release/obj/forces/forces.tlog/CL.command.1.tlog +0 -0
  33. package/build/Release/obj/forces/forces.tlog/CL.read.1.tlog +0 -0
  34. package/build/Release/obj/forces/forces.tlog/CL.write.1.tlog +0 -0
  35. package/build/Release/obj/forces/forces.tlog/Cl.items.tlog +2 -0
  36. package/build/Release/obj/forces/forces.tlog/forces.lastbuildstate +2 -0
  37. package/build/Release/obj/forces/forces.tlog/link.command.1.tlog +0 -0
  38. package/build/Release/obj/forces/forces.tlog/link.read.1.tlog +0 -0
  39. package/build/Release/obj/forces/forces.tlog/link.secondary.1.tlog +5 -0
  40. package/build/Release/obj/forces/forces.tlog/link.write.1.tlog +0 -0
  41. package/build/Release/obj/forces/win_delay_load_hook.obj +0 -0
  42. package/build/binding.sln +39 -0
  43. package/build/forces.vcxproj +156 -0
  44. package/build/forces.vcxproj.filters +46 -0
  45. package/extra xyz files/traj_GB1-10000s.xyz +451900 -0
  46. package/forces.cpp +194 -0
  47. package/package.json +26 -0
  48. package/pdb/1UBQ.pdb +970 -0
  49. package/pdb/1YRF.pdb +1467 -0
  50. package/pdb/input.pdb +4521 -0
package/CL/cl.h ADDED
@@ -0,0 +1,1979 @@
1
+ /*******************************************************************************
2
+ * Copyright (c) 2008-2026 The Khronos Group Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ ******************************************************************************/
16
+
17
+ #ifndef __OPENCL_CL_H
18
+ #define __OPENCL_CL_H
19
+
20
+ #include <CL/cl_version.h>
21
+ #include <CL/cl_platform.h>
22
+
23
+ #ifdef __cplusplus
24
+ extern "C" {
25
+ #endif
26
+
27
+ #if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__
28
+ /* Disable warning C4201: nonstandard extension used : nameless struct/union */
29
+ #pragma warning( push )
30
+ #pragma warning( disable : 4201 )
31
+ #endif
32
+
33
+ /******************************************************************************/
34
+
35
+ typedef struct _cl_platform_id * cl_platform_id;
36
+ typedef struct _cl_device_id * cl_device_id;
37
+ typedef struct _cl_context * cl_context;
38
+ typedef struct _cl_command_queue * cl_command_queue;
39
+ typedef struct _cl_mem * cl_mem;
40
+ typedef struct _cl_program * cl_program;
41
+ typedef struct _cl_kernel * cl_kernel;
42
+ typedef struct _cl_event * cl_event;
43
+ typedef struct _cl_sampler * cl_sampler;
44
+
45
+ typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */
46
+ typedef cl_ulong cl_bitfield;
47
+ typedef cl_ulong cl_properties;
48
+ typedef cl_bitfield cl_device_type;
49
+ typedef cl_uint cl_platform_info;
50
+ typedef cl_uint cl_device_info;
51
+ typedef cl_bitfield cl_device_fp_config;
52
+ typedef cl_uint cl_device_mem_cache_type;
53
+ typedef cl_uint cl_device_local_mem_type;
54
+ typedef cl_bitfield cl_device_exec_capabilities;
55
+ #ifdef CL_VERSION_2_0
56
+ typedef cl_bitfield cl_device_svm_capabilities;
57
+ #endif
58
+ typedef cl_bitfield cl_command_queue_properties;
59
+ #ifdef CL_VERSION_1_2
60
+ typedef intptr_t cl_device_partition_property;
61
+ typedef cl_bitfield cl_device_affinity_domain;
62
+ #endif
63
+
64
+ typedef intptr_t cl_context_properties;
65
+ typedef cl_uint cl_context_info;
66
+ #ifdef CL_VERSION_2_0
67
+ typedef cl_properties cl_queue_properties;
68
+ #endif
69
+ typedef cl_uint cl_command_queue_info;
70
+ typedef cl_uint cl_channel_order;
71
+ typedef cl_uint cl_channel_type;
72
+ typedef cl_bitfield cl_mem_flags;
73
+ #ifdef CL_VERSION_2_0
74
+ typedef cl_bitfield cl_svm_mem_flags;
75
+ #endif
76
+ typedef cl_uint cl_mem_object_type;
77
+ typedef cl_uint cl_mem_info;
78
+ #ifdef CL_VERSION_1_2
79
+ typedef cl_bitfield cl_mem_migration_flags;
80
+ #endif
81
+ typedef cl_uint cl_image_info;
82
+ #ifdef CL_VERSION_1_1
83
+ typedef cl_uint cl_buffer_create_type;
84
+ #endif
85
+ typedef cl_uint cl_addressing_mode;
86
+ typedef cl_uint cl_filter_mode;
87
+ typedef cl_uint cl_sampler_info;
88
+ typedef cl_bitfield cl_map_flags;
89
+ #ifdef CL_VERSION_2_0
90
+ typedef intptr_t cl_pipe_properties;
91
+ typedef cl_uint cl_pipe_info;
92
+ #endif
93
+ typedef cl_uint cl_program_info;
94
+ typedef cl_uint cl_program_build_info;
95
+ #ifdef CL_VERSION_1_2
96
+ typedef cl_uint cl_program_binary_type;
97
+ #endif
98
+ typedef cl_int cl_build_status;
99
+ typedef cl_uint cl_kernel_info;
100
+ #ifdef CL_VERSION_1_2
101
+ typedef cl_uint cl_kernel_arg_info;
102
+ typedef cl_uint cl_kernel_arg_address_qualifier;
103
+ typedef cl_uint cl_kernel_arg_access_qualifier;
104
+ typedef cl_bitfield cl_kernel_arg_type_qualifier;
105
+ #endif
106
+ typedef cl_uint cl_kernel_work_group_info;
107
+ #ifdef CL_VERSION_2_1
108
+ typedef cl_uint cl_kernel_sub_group_info;
109
+ #endif
110
+ typedef cl_uint cl_event_info;
111
+ typedef cl_uint cl_command_type;
112
+ typedef cl_uint cl_profiling_info;
113
+ #ifdef CL_VERSION_2_0
114
+ typedef cl_properties cl_sampler_properties;
115
+ typedef cl_uint cl_kernel_exec_info;
116
+ #endif
117
+ #ifdef CL_VERSION_3_0
118
+ typedef cl_bitfield cl_device_atomic_capabilities;
119
+ typedef cl_bitfield cl_device_device_enqueue_capabilities;
120
+ typedef cl_uint cl_khronos_vendor_id;
121
+ typedef cl_properties cl_mem_properties;
122
+ #endif
123
+ typedef cl_uint cl_version;
124
+ #ifdef CL_VERSION_3_1
125
+ typedef cl_bitfield cl_device_integer_dot_product_capabilities;
126
+ #endif
127
+
128
+ typedef struct _cl_image_format {
129
+ cl_channel_order image_channel_order;
130
+ cl_channel_type image_channel_data_type;
131
+ } cl_image_format;
132
+
133
+ #ifdef CL_VERSION_1_2
134
+
135
+ typedef struct _cl_image_desc {
136
+ cl_mem_object_type image_type;
137
+ size_t image_width;
138
+ size_t image_height;
139
+ size_t image_depth;
140
+ size_t image_array_size;
141
+ size_t image_row_pitch;
142
+ size_t image_slice_pitch;
143
+ cl_uint num_mip_levels;
144
+ cl_uint num_samples;
145
+ #if defined(CL_VERSION_2_0) && __CL_HAS_ANON_UNION__
146
+ __CL_ANON_UNION__ union {
147
+ #endif
148
+ cl_mem buffer;
149
+ #if defined(CL_VERSION_2_0) && __CL_HAS_ANON_UNION__
150
+ cl_mem mem_object;
151
+ };
152
+ #endif
153
+ } cl_image_desc;
154
+
155
+ #endif
156
+
157
+ #ifdef CL_VERSION_1_1
158
+
159
+ typedef struct _cl_buffer_region {
160
+ size_t origin;
161
+ size_t size;
162
+ } cl_buffer_region;
163
+
164
+ #endif
165
+
166
+ #ifdef CL_VERSION_3_0
167
+
168
+ #define CL_NAME_VERSION_MAX_NAME_SIZE 64
169
+
170
+ typedef struct _cl_name_version {
171
+ cl_version version;
172
+ char name[CL_NAME_VERSION_MAX_NAME_SIZE];
173
+ } cl_name_version;
174
+
175
+ #endif
176
+
177
+ #ifdef CL_VERSION_3_1
178
+
179
+ typedef struct _cl_device_integer_dot_product_acceleration_properties {
180
+ cl_bool signed_accelerated;
181
+ cl_bool unsigned_accelerated;
182
+ cl_bool mixed_signedness_accelerated;
183
+ cl_bool accumulating_saturating_signed_accelerated;
184
+ cl_bool accumulating_saturating_unsigned_accelerated;
185
+ cl_bool accumulating_saturating_mixed_signedness_accelerated;
186
+ } cl_device_integer_dot_product_acceleration_properties;
187
+
188
+ #endif
189
+
190
+ /******************************************************************************/
191
+
192
+ /* Error Codes */
193
+ #define CL_SUCCESS 0
194
+ #define CL_DEVICE_NOT_FOUND -1
195
+ #define CL_DEVICE_NOT_AVAILABLE -2
196
+ #define CL_COMPILER_NOT_AVAILABLE -3
197
+ #define CL_MEM_OBJECT_ALLOCATION_FAILURE -4
198
+ #define CL_OUT_OF_RESOURCES -5
199
+ #define CL_OUT_OF_HOST_MEMORY -6
200
+ #define CL_PROFILING_INFO_NOT_AVAILABLE -7
201
+ #define CL_MEM_COPY_OVERLAP -8
202
+ #define CL_IMAGE_FORMAT_MISMATCH -9
203
+ #define CL_IMAGE_FORMAT_NOT_SUPPORTED -10
204
+ #define CL_BUILD_PROGRAM_FAILURE -11
205
+ #define CL_MAP_FAILURE -12
206
+ #ifdef CL_VERSION_1_1
207
+ #define CL_MISALIGNED_SUB_BUFFER_OFFSET -13
208
+ #define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14
209
+ #endif
210
+ #ifdef CL_VERSION_1_2
211
+ #define CL_COMPILE_PROGRAM_FAILURE -15
212
+ #define CL_LINKER_NOT_AVAILABLE -16
213
+ #define CL_LINK_PROGRAM_FAILURE -17
214
+ #define CL_DEVICE_PARTITION_FAILED -18
215
+ #define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19
216
+ #endif
217
+
218
+ #define CL_INVALID_VALUE -30
219
+ #define CL_INVALID_DEVICE_TYPE -31
220
+ #define CL_INVALID_PLATFORM -32
221
+ #define CL_INVALID_DEVICE -33
222
+ #define CL_INVALID_CONTEXT -34
223
+ #define CL_INVALID_QUEUE_PROPERTIES -35
224
+ #define CL_INVALID_COMMAND_QUEUE -36
225
+ #define CL_INVALID_HOST_PTR -37
226
+ #define CL_INVALID_MEM_OBJECT -38
227
+ #define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39
228
+ #define CL_INVALID_IMAGE_SIZE -40
229
+ #define CL_INVALID_SAMPLER -41
230
+ #define CL_INVALID_BINARY -42
231
+ #define CL_INVALID_BUILD_OPTIONS -43
232
+ #define CL_INVALID_PROGRAM -44
233
+ #define CL_INVALID_PROGRAM_EXECUTABLE -45
234
+ #define CL_INVALID_KERNEL_NAME -46
235
+ #define CL_INVALID_KERNEL_DEFINITION -47
236
+ #define CL_INVALID_KERNEL -48
237
+ #define CL_INVALID_ARG_INDEX -49
238
+ #define CL_INVALID_ARG_VALUE -50
239
+ #define CL_INVALID_ARG_SIZE -51
240
+ #define CL_INVALID_KERNEL_ARGS -52
241
+ #define CL_INVALID_WORK_DIMENSION -53
242
+ #define CL_INVALID_WORK_GROUP_SIZE -54
243
+ #define CL_INVALID_WORK_ITEM_SIZE -55
244
+ #define CL_INVALID_GLOBAL_OFFSET -56
245
+ #define CL_INVALID_EVENT_WAIT_LIST -57
246
+ #define CL_INVALID_EVENT -58
247
+ #define CL_INVALID_OPERATION -59
248
+ #define CL_INVALID_GL_OBJECT -60
249
+ #define CL_INVALID_BUFFER_SIZE -61
250
+ #define CL_INVALID_MIP_LEVEL -62
251
+ #define CL_INVALID_GLOBAL_WORK_SIZE -63
252
+ #ifdef CL_VERSION_1_1
253
+ #define CL_INVALID_PROPERTY -64
254
+ #endif
255
+ #ifdef CL_VERSION_1_2
256
+ #define CL_INVALID_IMAGE_DESCRIPTOR -65
257
+ #define CL_INVALID_COMPILER_OPTIONS -66
258
+ #define CL_INVALID_LINKER_OPTIONS -67
259
+ #define CL_INVALID_DEVICE_PARTITION_COUNT -68
260
+ #endif
261
+ #ifdef CL_VERSION_2_0
262
+ #define CL_INVALID_PIPE_SIZE -69
263
+ #define CL_INVALID_DEVICE_QUEUE -70
264
+ #endif
265
+ #ifdef CL_VERSION_2_2
266
+ #define CL_INVALID_SPEC_ID -71
267
+ #define CL_MAX_SIZE_RESTRICTION_EXCEEDED -72
268
+ #endif
269
+
270
+
271
+ /* cl_bool */
272
+ #define CL_FALSE 0
273
+ #define CL_TRUE 1
274
+ #ifdef CL_VERSION_1_2
275
+ #define CL_BLOCKING CL_TRUE
276
+ #define CL_NON_BLOCKING CL_FALSE
277
+ #endif
278
+
279
+ /* cl_platform_info */
280
+ #define CL_PLATFORM_PROFILE 0x0900
281
+ #define CL_PLATFORM_VERSION 0x0901
282
+ #define CL_PLATFORM_NAME 0x0902
283
+ #define CL_PLATFORM_VENDOR 0x0903
284
+ #define CL_PLATFORM_EXTENSIONS 0x0904
285
+ #ifdef CL_VERSION_2_1
286
+ #define CL_PLATFORM_HOST_TIMER_RESOLUTION 0x0905
287
+ #endif
288
+ #ifdef CL_VERSION_3_0
289
+ #define CL_PLATFORM_NUMERIC_VERSION 0x0906
290
+ #define CL_PLATFORM_EXTENSIONS_WITH_VERSION 0x0907
291
+ #endif
292
+
293
+ /* cl_device_type - bitfield */
294
+ #define CL_DEVICE_TYPE_DEFAULT (1 << 0)
295
+ #define CL_DEVICE_TYPE_CPU (1 << 1)
296
+ #define CL_DEVICE_TYPE_GPU (1 << 2)
297
+ #define CL_DEVICE_TYPE_ACCELERATOR (1 << 3)
298
+ #ifdef CL_VERSION_1_2
299
+ #define CL_DEVICE_TYPE_CUSTOM (1 << 4)
300
+ #endif
301
+ #define CL_DEVICE_TYPE_ALL 0xFFFFFFFF
302
+
303
+ /* cl_device_info */
304
+ #define CL_DEVICE_TYPE 0x1000
305
+ #define CL_DEVICE_VENDOR_ID 0x1001
306
+ #define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002
307
+ #define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003
308
+ #define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004
309
+ #define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 /* deprecated */
310
+ #ifdef CL_VERSION_3_1
311
+ #define CL_DEVICE_MAX_WORK_GROUP_SIZES 0x1005
312
+ #endif
313
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006
314
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007
315
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008
316
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009
317
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A
318
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B
319
+ #define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C
320
+ #define CL_DEVICE_ADDRESS_BITS 0x100D
321
+ #define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E
322
+ #define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F
323
+ #define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010
324
+ #define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011
325
+ #define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012
326
+ #define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013
327
+ #define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014
328
+ #define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015
329
+ #define CL_DEVICE_IMAGE_SUPPORT 0x1016
330
+ #define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017
331
+ #define CL_DEVICE_MAX_SAMPLERS 0x1018
332
+ #define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019
333
+ #define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A
334
+ #define CL_DEVICE_SINGLE_FP_CONFIG 0x101B
335
+ #define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C
336
+ #define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D
337
+ #define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E
338
+ #define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F
339
+ #define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020
340
+ #define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021
341
+ #define CL_DEVICE_LOCAL_MEM_TYPE 0x1022
342
+ #define CL_DEVICE_LOCAL_MEM_SIZE 0x1023
343
+ #define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024
344
+ #define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025
345
+ #define CL_DEVICE_ENDIAN_LITTLE 0x1026
346
+ #define CL_DEVICE_AVAILABLE 0x1027
347
+ #define CL_DEVICE_COMPILER_AVAILABLE 0x1028
348
+ #define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029
349
+ #define CL_DEVICE_QUEUE_PROPERTIES 0x102A /* deprecated */
350
+ #ifdef CL_VERSION_2_0
351
+ #define CL_DEVICE_QUEUE_ON_HOST_PROPERTIES 0x102A
352
+ #endif
353
+ #define CL_DEVICE_NAME 0x102B
354
+ #define CL_DEVICE_VENDOR 0x102C
355
+ #define CL_DRIVER_VERSION 0x102D
356
+ #define CL_DEVICE_PROFILE 0x102E
357
+ #define CL_DEVICE_VERSION 0x102F
358
+ #define CL_DEVICE_EXTENSIONS 0x1030
359
+ #define CL_DEVICE_PLATFORM 0x1031
360
+ #ifdef CL_VERSION_1_2
361
+ #define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032
362
+ #endif
363
+ /* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG which is already defined in "cl_ext.h" */
364
+ #ifdef CL_VERSION_1_1
365
+ #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034
366
+ #define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035
367
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036
368
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037
369
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038
370
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039
371
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A
372
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B
373
+ #define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C
374
+ #define CL_DEVICE_OPENCL_C_VERSION 0x103D
375
+ #endif
376
+ #ifdef CL_VERSION_1_2
377
+ #define CL_DEVICE_LINKER_AVAILABLE 0x103E
378
+ #define CL_DEVICE_BUILT_IN_KERNELS 0x103F
379
+ #define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040
380
+ #define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041
381
+ #define CL_DEVICE_PARENT_DEVICE 0x1042
382
+ #define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043
383
+ #define CL_DEVICE_PARTITION_PROPERTIES 0x1044
384
+ #define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045
385
+ #define CL_DEVICE_PARTITION_TYPE 0x1046
386
+ #define CL_DEVICE_REFERENCE_COUNT 0x1047
387
+ #define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048
388
+ #define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049
389
+ #endif
390
+ #ifdef CL_VERSION_2_0
391
+ #define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A
392
+ #define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B
393
+ #define CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS 0x104C
394
+ #define CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE 0x104D
395
+ #define CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES 0x104E
396
+ #define CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE 0x104F
397
+ #define CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE 0x1050
398
+ #define CL_DEVICE_MAX_ON_DEVICE_QUEUES 0x1051
399
+ #define CL_DEVICE_MAX_ON_DEVICE_EVENTS 0x1052
400
+ #define CL_DEVICE_SVM_CAPABILITIES 0x1053
401
+ #define CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE 0x1054
402
+ #define CL_DEVICE_MAX_PIPE_ARGS 0x1055
403
+ #define CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS 0x1056
404
+ #define CL_DEVICE_PIPE_MAX_PACKET_SIZE 0x1057
405
+ #define CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT 0x1058
406
+ #define CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT 0x1059
407
+ #define CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT 0x105A
408
+ #endif
409
+ #ifdef CL_VERSION_2_1
410
+ #define CL_DEVICE_IL_VERSION 0x105B
411
+ #define CL_DEVICE_MAX_NUM_SUB_GROUPS 0x105C
412
+ #define CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS 0x105D
413
+ #endif
414
+ #ifdef CL_VERSION_3_0
415
+ #define CL_DEVICE_NUMERIC_VERSION 0x105E
416
+ #define CL_DEVICE_EXTENSIONS_WITH_VERSION 0x1060
417
+ #define CL_DEVICE_ILS_WITH_VERSION 0x1061
418
+ #define CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION 0x1062
419
+ #define CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES 0x1063
420
+ #define CL_DEVICE_ATOMIC_FENCE_CAPABILITIES 0x1064
421
+ #define CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT 0x1065
422
+ #define CL_DEVICE_OPENCL_C_ALL_VERSIONS 0x1066
423
+ #define CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x1067
424
+ #define CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT 0x1068
425
+ #define CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT 0x1069
426
+ #endif
427
+ #ifdef CL_VERSION_3_1
428
+ #define CL_DEVICE_UUID 0x106A
429
+ #define CL_DRIVER_UUID 0x106B
430
+ #define CL_DEVICE_LUID_VALID 0x106C
431
+ #define CL_DEVICE_LUID 0x106D
432
+ #define CL_DEVICE_NODE_MASK 0x106E
433
+ #endif
434
+ #ifdef CL_VERSION_3_0
435
+ #define CL_DEVICE_OPENCL_C_FEATURES 0x106F
436
+ #define CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES 0x1070
437
+ #define CL_DEVICE_PIPE_SUPPORT 0x1071
438
+ #define CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED 0x1072
439
+ #endif
440
+ #ifdef CL_VERSION_3_1
441
+ #define CL_DEVICE_INTEGER_DOT_PRODUCT_CAPABILITIES 0x1073
442
+ #define CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_8BIT 0x1074
443
+ #define CL_DEVICE_INTEGER_DOT_PRODUCT_ACCELERATION_PROPERTIES_4x8BIT_PACKED 0x1075
444
+ #define CL_DEVICE_SPIRV_EXTENDED_INSTRUCTION_SETS 0x12B9
445
+ #define CL_DEVICE_SPIRV_EXTENSIONS 0x12BA
446
+ #define CL_DEVICE_SPIRV_CAPABILITIES 0x12BB
447
+ #endif
448
+
449
+ /* cl_device_fp_config - bitfield */
450
+ #define CL_FP_DENORM (1 << 0)
451
+ #define CL_FP_INF_NAN (1 << 1)
452
+ #define CL_FP_ROUND_TO_NEAREST (1 << 2)
453
+ #define CL_FP_ROUND_TO_ZERO (1 << 3)
454
+ #define CL_FP_ROUND_TO_INF (1 << 4)
455
+ #define CL_FP_FMA (1 << 5)
456
+ #ifdef CL_VERSION_1_1
457
+ #define CL_FP_SOFT_FLOAT (1 << 6)
458
+ #endif
459
+ #ifdef CL_VERSION_1_2
460
+ #define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7)
461
+ #endif
462
+
463
+ /* cl_device_mem_cache_type */
464
+ #define CL_NONE 0x0
465
+ #define CL_READ_ONLY_CACHE 0x1
466
+ #define CL_READ_WRITE_CACHE 0x2
467
+
468
+ /* cl_device_local_mem_type */
469
+ #define CL_LOCAL 0x1
470
+ #define CL_GLOBAL 0x2
471
+
472
+ /* cl_device_exec_capabilities - bitfield */
473
+ #define CL_EXEC_KERNEL (1 << 0)
474
+ #define CL_EXEC_NATIVE_KERNEL (1 << 1)
475
+
476
+ /* cl_command_queue_properties - bitfield */
477
+ #define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0)
478
+ #define CL_QUEUE_PROFILING_ENABLE (1 << 1)
479
+ #ifdef CL_VERSION_2_0
480
+ #define CL_QUEUE_ON_DEVICE (1 << 2)
481
+ #define CL_QUEUE_ON_DEVICE_DEFAULT (1 << 3)
482
+ #endif
483
+
484
+ /* cl_context_info */
485
+ #define CL_CONTEXT_REFERENCE_COUNT 0x1080
486
+ #define CL_CONTEXT_DEVICES 0x1081
487
+ #define CL_CONTEXT_PROPERTIES 0x1082
488
+ #ifdef CL_VERSION_1_1
489
+ #define CL_CONTEXT_NUM_DEVICES 0x1083
490
+ #endif
491
+
492
+ /* cl_context_properties */
493
+ #define CL_CONTEXT_PLATFORM 0x1084
494
+ #ifdef CL_VERSION_1_2
495
+ #define CL_CONTEXT_INTEROP_USER_SYNC 0x1085
496
+ #endif
497
+
498
+ #ifdef CL_VERSION_1_2
499
+
500
+ /* cl_device_partition_property */
501
+ #define CL_DEVICE_PARTITION_EQUALLY 0x1086
502
+ #define CL_DEVICE_PARTITION_BY_COUNTS 0x1087
503
+ #define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0
504
+ #define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088
505
+
506
+ #endif
507
+
508
+ #ifdef CL_VERSION_1_2
509
+
510
+ /* cl_device_affinity_domain */
511
+ #define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0)
512
+ #define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1)
513
+ #define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2)
514
+ #define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3)
515
+ #define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4)
516
+ #define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5)
517
+
518
+ #endif
519
+
520
+ #ifdef CL_VERSION_2_0
521
+
522
+ /* cl_device_svm_capabilities */
523
+ #define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER (1 << 0)
524
+ #define CL_DEVICE_SVM_FINE_GRAIN_BUFFER (1 << 1)
525
+ #define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM (1 << 2)
526
+ #define CL_DEVICE_SVM_ATOMICS (1 << 3)
527
+
528
+ #endif
529
+
530
+ /* cl_command_queue_info */
531
+ #define CL_QUEUE_CONTEXT 0x1090
532
+ #define CL_QUEUE_DEVICE 0x1091
533
+ #define CL_QUEUE_REFERENCE_COUNT 0x1092
534
+ #define CL_QUEUE_PROPERTIES 0x1093
535
+ #ifdef CL_VERSION_2_0
536
+ #define CL_QUEUE_SIZE 0x1094
537
+ #endif
538
+ #ifdef CL_VERSION_2_1
539
+ #define CL_QUEUE_DEVICE_DEFAULT 0x1095
540
+ #endif
541
+ #ifdef CL_VERSION_3_0
542
+ #define CL_QUEUE_PROPERTIES_ARRAY 0x1098
543
+ #endif
544
+
545
+ /* cl_mem_flags and cl_svm_mem_flags - bitfield */
546
+ #define CL_MEM_READ_WRITE (1 << 0)
547
+ #define CL_MEM_WRITE_ONLY (1 << 1)
548
+ #define CL_MEM_READ_ONLY (1 << 2)
549
+ #define CL_MEM_USE_HOST_PTR (1 << 3)
550
+ #define CL_MEM_ALLOC_HOST_PTR (1 << 4)
551
+ #define CL_MEM_COPY_HOST_PTR (1 << 5)
552
+ /* reserved (1 << 6) */
553
+ #ifdef CL_VERSION_1_2
554
+ #define CL_MEM_HOST_WRITE_ONLY (1 << 7)
555
+ #define CL_MEM_HOST_READ_ONLY (1 << 8)
556
+ #define CL_MEM_HOST_NO_ACCESS (1 << 9)
557
+ #endif
558
+ #ifdef CL_VERSION_2_0
559
+ #define CL_MEM_SVM_FINE_GRAIN_BUFFER (1 << 10) /* used by cl_svm_mem_flags only */
560
+ #define CL_MEM_SVM_ATOMICS (1 << 11) /* used by cl_svm_mem_flags only */
561
+ #define CL_MEM_KERNEL_READ_AND_WRITE (1 << 12)
562
+ #endif
563
+
564
+ #ifdef CL_VERSION_1_2
565
+
566
+ /* cl_mem_migration_flags - bitfield */
567
+ #define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0)
568
+ #define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1)
569
+
570
+ #endif
571
+
572
+ /* cl_channel_order */
573
+ #define CL_R 0x10B0
574
+ #define CL_A 0x10B1
575
+ #define CL_RG 0x10B2
576
+ #define CL_RA 0x10B3
577
+ #define CL_RGB 0x10B4
578
+ #define CL_RGBA 0x10B5
579
+ #define CL_BGRA 0x10B6
580
+ #define CL_ARGB 0x10B7
581
+ #define CL_INTENSITY 0x10B8
582
+ #define CL_LUMINANCE 0x10B9
583
+ #ifdef CL_VERSION_1_1
584
+ #define CL_Rx 0x10BA
585
+ #define CL_RGx 0x10BB
586
+ #define CL_RGBx 0x10BC
587
+ #endif
588
+ #ifdef CL_VERSION_2_0
589
+ #define CL_DEPTH 0x10BD
590
+ #define CL_sRGB 0x10BF
591
+ #define CL_sRGBx 0x10C0
592
+ #define CL_sRGBA 0x10C1
593
+ #define CL_sBGRA 0x10C2
594
+ #define CL_ABGR 0x10C3
595
+ #endif
596
+
597
+ /* cl_channel_type */
598
+ #define CL_SNORM_INT8 0x10D0
599
+ #define CL_SNORM_INT16 0x10D1
600
+ #define CL_UNORM_INT8 0x10D2
601
+ #define CL_UNORM_INT16 0x10D3
602
+ #define CL_UNORM_SHORT_565 0x10D4
603
+ #define CL_UNORM_SHORT_555 0x10D5
604
+ #define CL_UNORM_INT_101010 0x10D6
605
+ #define CL_SIGNED_INT8 0x10D7
606
+ #define CL_SIGNED_INT16 0x10D8
607
+ #define CL_SIGNED_INT32 0x10D9
608
+ #define CL_UNSIGNED_INT8 0x10DA
609
+ #define CL_UNSIGNED_INT16 0x10DB
610
+ #define CL_UNSIGNED_INT32 0x10DC
611
+ #define CL_HALF_FLOAT 0x10DD
612
+ #define CL_FLOAT 0x10DE
613
+ #ifdef CL_VERSION_2_1
614
+ #define CL_UNORM_INT_101010_2 0x10E0
615
+ #endif
616
+
617
+ /* cl_mem_object_type */
618
+ #define CL_MEM_OBJECT_BUFFER 0x10F0
619
+ #define CL_MEM_OBJECT_IMAGE2D 0x10F1
620
+ #define CL_MEM_OBJECT_IMAGE3D 0x10F2
621
+ #ifdef CL_VERSION_1_2
622
+ #define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3
623
+ #define CL_MEM_OBJECT_IMAGE1D 0x10F4
624
+ #define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5
625
+ #define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6
626
+ #endif
627
+ #ifdef CL_VERSION_2_0
628
+ #define CL_MEM_OBJECT_PIPE 0x10F7
629
+ #endif
630
+
631
+ /* cl_mem_info */
632
+ #define CL_MEM_TYPE 0x1100
633
+ #define CL_MEM_FLAGS 0x1101
634
+ #define CL_MEM_SIZE 0x1102
635
+ #define CL_MEM_HOST_PTR 0x1103
636
+ #define CL_MEM_MAP_COUNT 0x1104
637
+ #define CL_MEM_REFERENCE_COUNT 0x1105
638
+ #define CL_MEM_CONTEXT 0x1106
639
+ #ifdef CL_VERSION_1_1
640
+ #define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107
641
+ #define CL_MEM_OFFSET 0x1108
642
+ #endif
643
+ #ifdef CL_VERSION_2_0
644
+ #define CL_MEM_USES_SVM_POINTER 0x1109
645
+ #endif
646
+ #ifdef CL_VERSION_3_0
647
+ #define CL_MEM_PROPERTIES 0x110A
648
+ #endif
649
+
650
+ /* cl_image_info */
651
+ #define CL_IMAGE_FORMAT 0x1110
652
+ #define CL_IMAGE_ELEMENT_SIZE 0x1111
653
+ #define CL_IMAGE_ROW_PITCH 0x1112
654
+ #define CL_IMAGE_SLICE_PITCH 0x1113
655
+ #define CL_IMAGE_WIDTH 0x1114
656
+ #define CL_IMAGE_HEIGHT 0x1115
657
+ #define CL_IMAGE_DEPTH 0x1116
658
+ #ifdef CL_VERSION_1_2
659
+ #define CL_IMAGE_ARRAY_SIZE 0x1117
660
+ #define CL_IMAGE_BUFFER 0x1118
661
+ #define CL_IMAGE_NUM_MIP_LEVELS 0x1119
662
+ #define CL_IMAGE_NUM_SAMPLES 0x111A
663
+ #endif
664
+
665
+
666
+ /* cl_pipe_info */
667
+ #ifdef CL_VERSION_2_0
668
+ #define CL_PIPE_PACKET_SIZE 0x1120
669
+ #define CL_PIPE_MAX_PACKETS 0x1121
670
+ #endif
671
+ #ifdef CL_VERSION_3_0
672
+ #define CL_PIPE_PROPERTIES 0x1122
673
+ #endif
674
+
675
+ /* cl_addressing_mode */
676
+ #define CL_ADDRESS_NONE 0x1130
677
+ #define CL_ADDRESS_CLAMP_TO_EDGE 0x1131
678
+ #define CL_ADDRESS_CLAMP 0x1132
679
+ #define CL_ADDRESS_REPEAT 0x1133
680
+ #ifdef CL_VERSION_1_1
681
+ #define CL_ADDRESS_MIRRORED_REPEAT 0x1134
682
+ #endif
683
+
684
+ /* cl_filter_mode */
685
+ #define CL_FILTER_NEAREST 0x1140
686
+ #define CL_FILTER_LINEAR 0x1141
687
+
688
+ /* cl_sampler_info */
689
+ #define CL_SAMPLER_REFERENCE_COUNT 0x1150
690
+ #define CL_SAMPLER_CONTEXT 0x1151
691
+ #define CL_SAMPLER_NORMALIZED_COORDS 0x1152
692
+ #define CL_SAMPLER_ADDRESSING_MODE 0x1153
693
+ #define CL_SAMPLER_FILTER_MODE 0x1154
694
+ #ifdef CL_VERSION_2_0
695
+ /* These enumerants are for the cl_khr_mipmap_image extension.
696
+ They have since been added to cl_ext.h with an appropriate
697
+ KHR suffix, but are left here for backwards compatibility. */
698
+ #define CL_SAMPLER_MIP_FILTER_MODE 0x1155
699
+ #define CL_SAMPLER_LOD_MIN 0x1156
700
+ #define CL_SAMPLER_LOD_MAX 0x1157
701
+ #endif
702
+ #ifdef CL_VERSION_3_0
703
+ #define CL_SAMPLER_PROPERTIES 0x1158
704
+ #endif
705
+
706
+ /* cl_map_flags - bitfield */
707
+ #define CL_MAP_READ (1 << 0)
708
+ #define CL_MAP_WRITE (1 << 1)
709
+ #ifdef CL_VERSION_1_2
710
+ #define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2)
711
+ #endif
712
+
713
+ /* cl_program_info */
714
+ #define CL_PROGRAM_REFERENCE_COUNT 0x1160
715
+ #define CL_PROGRAM_CONTEXT 0x1161
716
+ #define CL_PROGRAM_NUM_DEVICES 0x1162
717
+ #define CL_PROGRAM_DEVICES 0x1163
718
+ #define CL_PROGRAM_SOURCE 0x1164
719
+ #define CL_PROGRAM_BINARY_SIZES 0x1165
720
+ #define CL_PROGRAM_BINARIES 0x1166
721
+ #ifdef CL_VERSION_1_2
722
+ #define CL_PROGRAM_NUM_KERNELS 0x1167
723
+ #define CL_PROGRAM_KERNEL_NAMES 0x1168
724
+ #endif
725
+ #ifdef CL_VERSION_2_1
726
+ #define CL_PROGRAM_IL 0x1169
727
+ #endif
728
+ #ifdef CL_VERSION_2_2
729
+ #define CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT 0x116A
730
+ #define CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT 0x116B
731
+ #endif
732
+
733
+ /* cl_program_build_info */
734
+ #define CL_PROGRAM_BUILD_STATUS 0x1181
735
+ #define CL_PROGRAM_BUILD_OPTIONS 0x1182
736
+ #define CL_PROGRAM_BUILD_LOG 0x1183
737
+ #ifdef CL_VERSION_1_2
738
+ #define CL_PROGRAM_BINARY_TYPE 0x1184
739
+ #endif
740
+ #ifdef CL_VERSION_2_0
741
+ #define CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE 0x1185
742
+ #endif
743
+
744
+ #ifdef CL_VERSION_1_2
745
+
746
+ /* cl_program_binary_type */
747
+ #define CL_PROGRAM_BINARY_TYPE_NONE 0x0
748
+ #define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1
749
+ #define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2
750
+ #define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4
751
+
752
+ #endif
753
+
754
+ /* cl_build_status */
755
+ #define CL_BUILD_SUCCESS 0
756
+ #define CL_BUILD_NONE -1
757
+ #define CL_BUILD_ERROR -2
758
+ #define CL_BUILD_IN_PROGRESS -3
759
+
760
+ /* cl_kernel_info */
761
+ #define CL_KERNEL_FUNCTION_NAME 0x1190
762
+ #define CL_KERNEL_NUM_ARGS 0x1191
763
+ #define CL_KERNEL_REFERENCE_COUNT 0x1192
764
+ #define CL_KERNEL_CONTEXT 0x1193
765
+ #define CL_KERNEL_PROGRAM 0x1194
766
+ #ifdef CL_VERSION_1_2
767
+ #define CL_KERNEL_ATTRIBUTES 0x1195
768
+ #endif
769
+
770
+ #ifdef CL_VERSION_1_2
771
+
772
+ /* cl_kernel_arg_info */
773
+ #define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196
774
+ #define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197
775
+ #define CL_KERNEL_ARG_TYPE_NAME 0x1198
776
+ #define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199
777
+ #define CL_KERNEL_ARG_NAME 0x119A
778
+
779
+ #endif
780
+
781
+ #ifdef CL_VERSION_1_2
782
+
783
+ /* cl_kernel_arg_address_qualifier */
784
+ #define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B
785
+ #define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C
786
+ #define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D
787
+ #define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E
788
+
789
+ #endif
790
+
791
+ #ifdef CL_VERSION_1_2
792
+
793
+ /* cl_kernel_arg_access_qualifier */
794
+ #define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0
795
+ #define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1
796
+ #define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2
797
+ #define CL_KERNEL_ARG_ACCESS_NONE 0x11A3
798
+
799
+ #endif
800
+
801
+ #ifdef CL_VERSION_1_2
802
+
803
+ /* cl_kernel_arg_type_qualifier */
804
+ #define CL_KERNEL_ARG_TYPE_NONE 0
805
+ #define CL_KERNEL_ARG_TYPE_CONST (1 << 0)
806
+ #define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1)
807
+ #define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2)
808
+ #ifdef CL_VERSION_2_0
809
+ #define CL_KERNEL_ARG_TYPE_PIPE (1 << 3)
810
+ #endif
811
+
812
+ #endif
813
+
814
+ /* cl_kernel_work_group_info */
815
+ #define CL_KERNEL_WORK_GROUP_SIZE 0x11B0
816
+ #define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1
817
+ #define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2
818
+ #define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3
819
+ #define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4
820
+ #ifdef CL_VERSION_1_2
821
+ #define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5
822
+ #endif
823
+
824
+ #ifdef CL_VERSION_2_1
825
+
826
+ /* cl_kernel_sub_group_info */
827
+ #define CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE 0x2033
828
+ #define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE 0x2034
829
+ #define CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT 0x11B8
830
+ #define CL_KERNEL_MAX_NUM_SUB_GROUPS 0x11B9
831
+ #define CL_KERNEL_COMPILE_NUM_SUB_GROUPS 0x11BA
832
+
833
+ #endif
834
+
835
+ #ifdef CL_VERSION_2_0
836
+
837
+ /* cl_kernel_exec_info */
838
+ #define CL_KERNEL_EXEC_INFO_SVM_PTRS 0x11B6
839
+ #define CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM 0x11B7
840
+
841
+ #endif
842
+
843
+ /* cl_event_info */
844
+ #define CL_EVENT_COMMAND_QUEUE 0x11D0
845
+ #define CL_EVENT_COMMAND_TYPE 0x11D1
846
+ #define CL_EVENT_REFERENCE_COUNT 0x11D2
847
+ #define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3
848
+ #ifdef CL_VERSION_1_1
849
+ #define CL_EVENT_CONTEXT 0x11D4
850
+ #endif
851
+
852
+ /* cl_command_type */
853
+ #define CL_COMMAND_NDRANGE_KERNEL 0x11F0
854
+ #define CL_COMMAND_TASK 0x11F1
855
+ #define CL_COMMAND_NATIVE_KERNEL 0x11F2
856
+ #define CL_COMMAND_READ_BUFFER 0x11F3
857
+ #define CL_COMMAND_WRITE_BUFFER 0x11F4
858
+ #define CL_COMMAND_COPY_BUFFER 0x11F5
859
+ #define CL_COMMAND_READ_IMAGE 0x11F6
860
+ #define CL_COMMAND_WRITE_IMAGE 0x11F7
861
+ #define CL_COMMAND_COPY_IMAGE 0x11F8
862
+ #define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9
863
+ #define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA
864
+ #define CL_COMMAND_MAP_BUFFER 0x11FB
865
+ #define CL_COMMAND_MAP_IMAGE 0x11FC
866
+ #define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD
867
+ #define CL_COMMAND_MARKER 0x11FE
868
+ #define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF
869
+ #define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200
870
+ #ifdef CL_VERSION_1_1
871
+ #define CL_COMMAND_READ_BUFFER_RECT 0x1201
872
+ #define CL_COMMAND_WRITE_BUFFER_RECT 0x1202
873
+ #define CL_COMMAND_COPY_BUFFER_RECT 0x1203
874
+ #define CL_COMMAND_USER 0x1204
875
+ #endif
876
+ #ifdef CL_VERSION_1_2
877
+ #define CL_COMMAND_BARRIER 0x1205
878
+ #define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206
879
+ #define CL_COMMAND_FILL_BUFFER 0x1207
880
+ #define CL_COMMAND_FILL_IMAGE 0x1208
881
+ #endif
882
+ #ifdef CL_VERSION_2_0
883
+ #define CL_COMMAND_SVM_FREE 0x1209
884
+ #define CL_COMMAND_SVM_MEMCPY 0x120A
885
+ #define CL_COMMAND_SVM_MEMFILL 0x120B
886
+ #define CL_COMMAND_SVM_MAP 0x120C
887
+ #define CL_COMMAND_SVM_UNMAP 0x120D
888
+ #endif
889
+ #ifdef CL_VERSION_3_0
890
+ #define CL_COMMAND_SVM_MIGRATE_MEM 0x120E
891
+ #endif
892
+
893
+ /* command execution status */
894
+ #define CL_COMPLETE 0x0
895
+ #define CL_RUNNING 0x1
896
+ #define CL_SUBMITTED 0x2
897
+ #define CL_QUEUED 0x3
898
+
899
+ /* cl_buffer_create_type */
900
+ #ifdef CL_VERSION_1_1
901
+ #define CL_BUFFER_CREATE_TYPE_REGION 0x1220
902
+ #endif
903
+
904
+ /* cl_profiling_info */
905
+ #define CL_PROFILING_COMMAND_QUEUED 0x1280
906
+ #define CL_PROFILING_COMMAND_SUBMIT 0x1281
907
+ #define CL_PROFILING_COMMAND_START 0x1282
908
+ #define CL_PROFILING_COMMAND_END 0x1283
909
+ #ifdef CL_VERSION_2_0
910
+ #define CL_PROFILING_COMMAND_COMPLETE 0x1284
911
+ #endif
912
+
913
+ /* cl_device_atomic_capabilities - bitfield */
914
+ #ifdef CL_VERSION_3_0
915
+ #define CL_DEVICE_ATOMIC_ORDER_RELAXED (1 << 0)
916
+ #define CL_DEVICE_ATOMIC_ORDER_ACQ_REL (1 << 1)
917
+ #define CL_DEVICE_ATOMIC_ORDER_SEQ_CST (1 << 2)
918
+ #define CL_DEVICE_ATOMIC_SCOPE_WORK_ITEM (1 << 3)
919
+ #define CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP (1 << 4)
920
+ #define CL_DEVICE_ATOMIC_SCOPE_DEVICE (1 << 5)
921
+ #define CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES (1 << 6)
922
+ #endif
923
+
924
+ /* cl_device_device_enqueue_capabilities - bitfield */
925
+ #ifdef CL_VERSION_3_0
926
+ #define CL_DEVICE_QUEUE_SUPPORTED (1 << 0)
927
+ #define CL_DEVICE_QUEUE_REPLACEABLE_DEFAULT (1 << 1)
928
+ #endif
929
+
930
+ /* cl_khronos_vendor_id */
931
+ #define CL_KHRONOS_VENDOR_ID_CODEPLAY 0x10004
932
+
933
+ /* cl_version */
934
+ #define CL_VERSION_MAJOR_BITS (10)
935
+ #define CL_VERSION_MINOR_BITS (10)
936
+ #define CL_VERSION_PATCH_BITS (12)
937
+
938
+ #define CL_VERSION_MAJOR_MASK ((1 << CL_VERSION_MAJOR_BITS) - 1)
939
+ #define CL_VERSION_MINOR_MASK ((1 << CL_VERSION_MINOR_BITS) - 1)
940
+ #define CL_VERSION_PATCH_MASK ((1 << CL_VERSION_PATCH_BITS) - 1)
941
+
942
+ #define CL_VERSION_MAJOR(version) \
943
+ ((version) >> (CL_VERSION_MINOR_BITS + CL_VERSION_PATCH_BITS))
944
+
945
+ #define CL_VERSION_MINOR(version) \
946
+ (((version) >> CL_VERSION_PATCH_BITS) & CL_VERSION_MINOR_MASK)
947
+
948
+ #define CL_VERSION_PATCH(version) ((version) & CL_VERSION_PATCH_MASK)
949
+
950
+ #define CL_MAKE_VERSION(major, minor, patch) \
951
+ ((((major) & CL_VERSION_MAJOR_MASK) \
952
+ << (CL_VERSION_MINOR_BITS + CL_VERSION_PATCH_BITS)) | \
953
+ (((minor) & CL_VERSION_MINOR_MASK) << CL_VERSION_PATCH_BITS) | \
954
+ ((patch) & CL_VERSION_PATCH_MASK))
955
+
956
+ #ifdef CL_VERSION_3_1
957
+
958
+ /* Size Constants */
959
+ #define CL_UUID_SIZE 16
960
+ #define CL_LUID_SIZE 8
961
+
962
+ /* cl_device_integer_dot_product_capabilities - bitfield */
963
+ #define CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT_PACKED (1 << 0)
964
+ #define CL_DEVICE_INTEGER_DOT_PRODUCT_INPUT_4x8BIT (1 << 1)
965
+
966
+ #endif
967
+
968
+ /********************************************************************************************************/
969
+
970
+ /* CL_NO_PROTOTYPES implies CL_NO_CORE_PROTOTYPES: */
971
+ #if defined(CL_NO_PROTOTYPES) && !defined(CL_NO_CORE_PROTOTYPES)
972
+ #define CL_NO_CORE_PROTOTYPES
973
+ #endif
974
+
975
+ #if !defined(CL_NO_CORE_PROTOTYPES)
976
+
977
+ /* Platform API */
978
+ extern CL_API_ENTRY cl_int CL_API_CALL
979
+ clGetPlatformIDs(cl_uint num_entries,
980
+ cl_platform_id * platforms,
981
+ cl_uint * num_platforms) CL_API_SUFFIX__VERSION_1_0;
982
+
983
+ extern CL_API_ENTRY cl_int CL_API_CALL
984
+ clGetPlatformInfo(cl_platform_id platform,
985
+ cl_platform_info param_name,
986
+ size_t param_value_size,
987
+ void * param_value,
988
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
989
+
990
+ /* Device APIs */
991
+ extern CL_API_ENTRY cl_int CL_API_CALL
992
+ clGetDeviceIDs(cl_platform_id platform,
993
+ cl_device_type device_type,
994
+ cl_uint num_entries,
995
+ cl_device_id * devices,
996
+ cl_uint * num_devices) CL_API_SUFFIX__VERSION_1_0;
997
+
998
+ extern CL_API_ENTRY cl_int CL_API_CALL
999
+ clGetDeviceInfo(cl_device_id device,
1000
+ cl_device_info param_name,
1001
+ size_t param_value_size,
1002
+ void * param_value,
1003
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1004
+
1005
+ #ifdef CL_VERSION_1_2
1006
+
1007
+ extern CL_API_ENTRY cl_int CL_API_CALL
1008
+ clCreateSubDevices(cl_device_id in_device,
1009
+ const cl_device_partition_property * properties,
1010
+ cl_uint num_devices,
1011
+ cl_device_id * out_devices,
1012
+ cl_uint * num_devices_ret) CL_API_SUFFIX__VERSION_1_2;
1013
+
1014
+ extern CL_API_ENTRY cl_int CL_API_CALL
1015
+ clRetainDevice(cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
1016
+
1017
+ extern CL_API_ENTRY cl_int CL_API_CALL
1018
+ clReleaseDevice(cl_device_id device) CL_API_SUFFIX__VERSION_1_2;
1019
+
1020
+ #endif
1021
+
1022
+ #ifdef CL_VERSION_2_1
1023
+
1024
+ extern CL_API_ENTRY cl_int CL_API_CALL
1025
+ clSetDefaultDeviceCommandQueue(cl_context context,
1026
+ cl_device_id device,
1027
+ cl_command_queue command_queue) CL_API_SUFFIX__VERSION_2_1;
1028
+
1029
+ extern CL_API_ENTRY cl_int CL_API_CALL
1030
+ clGetDeviceAndHostTimer(cl_device_id device,
1031
+ cl_ulong* device_timestamp,
1032
+ cl_ulong* host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1033
+
1034
+ extern CL_API_ENTRY cl_int CL_API_CALL
1035
+ clGetHostTimer(cl_device_id device,
1036
+ cl_ulong * host_timestamp) CL_API_SUFFIX__VERSION_2_1;
1037
+
1038
+ #endif
1039
+
1040
+ /* Context APIs */
1041
+ extern CL_API_ENTRY cl_context CL_API_CALL
1042
+ clCreateContext(const cl_context_properties * properties,
1043
+ cl_uint num_devices,
1044
+ const cl_device_id * devices,
1045
+ void (CL_CALLBACK * pfn_notify)(const char * errinfo,
1046
+ const void * private_info,
1047
+ size_t cb,
1048
+ void * user_data),
1049
+ void * user_data,
1050
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1051
+
1052
+ extern CL_API_ENTRY cl_context CL_API_CALL
1053
+ clCreateContextFromType(const cl_context_properties * properties,
1054
+ cl_device_type device_type,
1055
+ void (CL_CALLBACK * pfn_notify)(const char * errinfo,
1056
+ const void * private_info,
1057
+ size_t cb,
1058
+ void * user_data),
1059
+ void * user_data,
1060
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1061
+
1062
+ extern CL_API_ENTRY cl_int CL_API_CALL
1063
+ clRetainContext(cl_context context) CL_API_SUFFIX__VERSION_1_0;
1064
+
1065
+ extern CL_API_ENTRY cl_int CL_API_CALL
1066
+ clReleaseContext(cl_context context) CL_API_SUFFIX__VERSION_1_0;
1067
+
1068
+ extern CL_API_ENTRY cl_int CL_API_CALL
1069
+ clGetContextInfo(cl_context context,
1070
+ cl_context_info param_name,
1071
+ size_t param_value_size,
1072
+ void * param_value,
1073
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1074
+
1075
+ #ifdef CL_VERSION_3_0
1076
+
1077
+ extern CL_API_ENTRY cl_int CL_API_CALL
1078
+ clSetContextDestructorCallback(cl_context context,
1079
+ void (CL_CALLBACK* pfn_notify)(cl_context context,
1080
+ void* user_data),
1081
+ void* user_data) CL_API_SUFFIX__VERSION_3_0;
1082
+
1083
+ #endif
1084
+
1085
+ /* Command Queue APIs */
1086
+
1087
+ #ifdef CL_VERSION_2_0
1088
+
1089
+ extern CL_API_ENTRY cl_command_queue CL_API_CALL
1090
+ clCreateCommandQueueWithProperties(cl_context context,
1091
+ cl_device_id device,
1092
+ const cl_queue_properties * properties,
1093
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_2_0;
1094
+
1095
+ #endif
1096
+
1097
+ extern CL_API_ENTRY cl_int CL_API_CALL
1098
+ clRetainCommandQueue(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
1099
+
1100
+ extern CL_API_ENTRY cl_int CL_API_CALL
1101
+ clReleaseCommandQueue(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
1102
+
1103
+ extern CL_API_ENTRY cl_int CL_API_CALL
1104
+ clGetCommandQueueInfo(cl_command_queue command_queue,
1105
+ cl_command_queue_info param_name,
1106
+ size_t param_value_size,
1107
+ void * param_value,
1108
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1109
+
1110
+ /* Memory Object APIs */
1111
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1112
+ clCreateBuffer(cl_context context,
1113
+ cl_mem_flags flags,
1114
+ size_t size,
1115
+ void * host_ptr,
1116
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1117
+
1118
+ #ifdef CL_VERSION_1_1
1119
+
1120
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1121
+ clCreateSubBuffer(cl_mem buffer,
1122
+ cl_mem_flags flags,
1123
+ cl_buffer_create_type buffer_create_type,
1124
+ const void * buffer_create_info,
1125
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1;
1126
+
1127
+ #endif
1128
+
1129
+ #ifdef CL_VERSION_1_2
1130
+
1131
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1132
+ clCreateImage(cl_context context,
1133
+ cl_mem_flags flags,
1134
+ const cl_image_format * image_format,
1135
+ const cl_image_desc * image_desc,
1136
+ void * host_ptr,
1137
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1138
+
1139
+ #endif
1140
+
1141
+ #ifdef CL_VERSION_2_0
1142
+
1143
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1144
+ clCreatePipe(cl_context context,
1145
+ cl_mem_flags flags,
1146
+ cl_uint pipe_packet_size,
1147
+ cl_uint pipe_max_packets,
1148
+ const cl_pipe_properties * properties,
1149
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_2_0;
1150
+
1151
+ #endif
1152
+
1153
+ #ifdef CL_VERSION_3_0
1154
+
1155
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1156
+ clCreateBufferWithProperties(cl_context context,
1157
+ const cl_mem_properties * properties,
1158
+ cl_mem_flags flags,
1159
+ size_t size,
1160
+ void * host_ptr,
1161
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_3_0;
1162
+
1163
+ extern CL_API_ENTRY cl_mem CL_API_CALL
1164
+ clCreateImageWithProperties(cl_context context,
1165
+ const cl_mem_properties * properties,
1166
+ cl_mem_flags flags,
1167
+ const cl_image_format * image_format,
1168
+ const cl_image_desc * image_desc,
1169
+ void * host_ptr,
1170
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_3_0;
1171
+
1172
+ #endif
1173
+
1174
+ extern CL_API_ENTRY cl_int CL_API_CALL
1175
+ clRetainMemObject(cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
1176
+
1177
+ extern CL_API_ENTRY cl_int CL_API_CALL
1178
+ clReleaseMemObject(cl_mem memobj) CL_API_SUFFIX__VERSION_1_0;
1179
+
1180
+ extern CL_API_ENTRY cl_int CL_API_CALL
1181
+ clGetSupportedImageFormats(cl_context context,
1182
+ cl_mem_flags flags,
1183
+ cl_mem_object_type image_type,
1184
+ cl_uint num_entries,
1185
+ cl_image_format * image_formats,
1186
+ cl_uint * num_image_formats) CL_API_SUFFIX__VERSION_1_0;
1187
+
1188
+ extern CL_API_ENTRY cl_int CL_API_CALL
1189
+ clGetMemObjectInfo(cl_mem memobj,
1190
+ cl_mem_info param_name,
1191
+ size_t param_value_size,
1192
+ void * param_value,
1193
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1194
+
1195
+ extern CL_API_ENTRY cl_int CL_API_CALL
1196
+ clGetImageInfo(cl_mem image,
1197
+ cl_image_info param_name,
1198
+ size_t param_value_size,
1199
+ void * param_value,
1200
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1201
+
1202
+ #ifdef CL_VERSION_2_0
1203
+
1204
+ extern CL_API_ENTRY cl_int CL_API_CALL
1205
+ clGetPipeInfo(cl_mem pipe,
1206
+ cl_pipe_info param_name,
1207
+ size_t param_value_size,
1208
+ void * param_value,
1209
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0;
1210
+
1211
+ #endif
1212
+
1213
+ #ifdef CL_VERSION_1_1
1214
+
1215
+ extern CL_API_ENTRY cl_int CL_API_CALL
1216
+ clSetMemObjectDestructorCallback(cl_mem memobj,
1217
+ void (CL_CALLBACK * pfn_notify)(cl_mem memobj,
1218
+ void * user_data),
1219
+ void * user_data) CL_API_SUFFIX__VERSION_1_1;
1220
+
1221
+ #endif
1222
+
1223
+ /* SVM Allocation APIs */
1224
+
1225
+ #ifdef CL_VERSION_2_0
1226
+
1227
+ extern CL_API_ENTRY void * CL_API_CALL
1228
+ clSVMAlloc(cl_context context,
1229
+ cl_svm_mem_flags flags,
1230
+ size_t size,
1231
+ cl_uint alignment) CL_API_SUFFIX__VERSION_2_0;
1232
+
1233
+ extern CL_API_ENTRY void CL_API_CALL
1234
+ clSVMFree(cl_context context,
1235
+ void * svm_pointer) CL_API_SUFFIX__VERSION_2_0;
1236
+
1237
+ #endif
1238
+
1239
+ /* Sampler APIs */
1240
+
1241
+ #ifdef CL_VERSION_2_0
1242
+
1243
+ extern CL_API_ENTRY cl_sampler CL_API_CALL
1244
+ clCreateSamplerWithProperties(cl_context context,
1245
+ const cl_sampler_properties * sampler_properties,
1246
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_2_0;
1247
+
1248
+ #endif
1249
+
1250
+ extern CL_API_ENTRY cl_int CL_API_CALL
1251
+ clRetainSampler(cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
1252
+
1253
+ extern CL_API_ENTRY cl_int CL_API_CALL
1254
+ clReleaseSampler(cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0;
1255
+
1256
+ extern CL_API_ENTRY cl_int CL_API_CALL
1257
+ clGetSamplerInfo(cl_sampler sampler,
1258
+ cl_sampler_info param_name,
1259
+ size_t param_value_size,
1260
+ void * param_value,
1261
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1262
+
1263
+ /* Program Object APIs */
1264
+ extern CL_API_ENTRY cl_program CL_API_CALL
1265
+ clCreateProgramWithSource(cl_context context,
1266
+ cl_uint count,
1267
+ const char ** strings,
1268
+ const size_t * lengths,
1269
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1270
+
1271
+ extern CL_API_ENTRY cl_program CL_API_CALL
1272
+ clCreateProgramWithBinary(cl_context context,
1273
+ cl_uint num_devices,
1274
+ const cl_device_id * device_list,
1275
+ const size_t * lengths,
1276
+ const unsigned char ** binaries,
1277
+ cl_int * binary_status,
1278
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1279
+
1280
+ #ifdef CL_VERSION_1_2
1281
+
1282
+ extern CL_API_ENTRY cl_program CL_API_CALL
1283
+ clCreateProgramWithBuiltInKernels(cl_context context,
1284
+ cl_uint num_devices,
1285
+ const cl_device_id * device_list,
1286
+ const char * kernel_names,
1287
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1288
+
1289
+ #endif
1290
+
1291
+ #ifdef CL_VERSION_2_1
1292
+
1293
+ extern CL_API_ENTRY cl_program CL_API_CALL
1294
+ clCreateProgramWithIL(cl_context context,
1295
+ const void* il,
1296
+ size_t length,
1297
+ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1298
+
1299
+ #endif
1300
+
1301
+ extern CL_API_ENTRY cl_int CL_API_CALL
1302
+ clRetainProgram(cl_program program) CL_API_SUFFIX__VERSION_1_0;
1303
+
1304
+ extern CL_API_ENTRY cl_int CL_API_CALL
1305
+ clReleaseProgram(cl_program program) CL_API_SUFFIX__VERSION_1_0;
1306
+
1307
+ extern CL_API_ENTRY cl_int CL_API_CALL
1308
+ clBuildProgram(cl_program program,
1309
+ cl_uint num_devices,
1310
+ const cl_device_id * device_list,
1311
+ const char * options,
1312
+ void (CL_CALLBACK * pfn_notify)(cl_program program,
1313
+ void * user_data),
1314
+ void * user_data) CL_API_SUFFIX__VERSION_1_0;
1315
+
1316
+ #ifdef CL_VERSION_1_2
1317
+
1318
+ extern CL_API_ENTRY cl_int CL_API_CALL
1319
+ clCompileProgram(cl_program program,
1320
+ cl_uint num_devices,
1321
+ const cl_device_id * device_list,
1322
+ const char * options,
1323
+ cl_uint num_input_headers,
1324
+ const cl_program * input_headers,
1325
+ const char ** header_include_names,
1326
+ void (CL_CALLBACK * pfn_notify)(cl_program program,
1327
+ void * user_data),
1328
+ void * user_data) CL_API_SUFFIX__VERSION_1_2;
1329
+
1330
+ extern CL_API_ENTRY cl_program CL_API_CALL
1331
+ clLinkProgram(cl_context context,
1332
+ cl_uint num_devices,
1333
+ const cl_device_id * device_list,
1334
+ const char * options,
1335
+ cl_uint num_input_programs,
1336
+ const cl_program * input_programs,
1337
+ void (CL_CALLBACK * pfn_notify)(cl_program program,
1338
+ void * user_data),
1339
+ void * user_data,
1340
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2;
1341
+
1342
+ #endif
1343
+
1344
+ #ifdef CL_VERSION_2_2
1345
+
1346
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_2_2_DEPRECATED cl_int CL_API_CALL
1347
+ clSetProgramReleaseCallback(cl_program program,
1348
+ void (CL_CALLBACK * pfn_notify)(cl_program program,
1349
+ void * user_data),
1350
+ void * user_data) CL_API_SUFFIX__VERSION_2_2_DEPRECATED;
1351
+
1352
+ extern CL_API_ENTRY cl_int CL_API_CALL
1353
+ clSetProgramSpecializationConstant(cl_program program,
1354
+ cl_uint spec_id,
1355
+ size_t spec_size,
1356
+ const void* spec_value) CL_API_SUFFIX__VERSION_2_2;
1357
+
1358
+ #endif
1359
+
1360
+ #ifdef CL_VERSION_1_2
1361
+
1362
+ extern CL_API_ENTRY cl_int CL_API_CALL
1363
+ clUnloadPlatformCompiler(cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2;
1364
+
1365
+ #endif
1366
+
1367
+ extern CL_API_ENTRY cl_int CL_API_CALL
1368
+ clGetProgramInfo(cl_program program,
1369
+ cl_program_info param_name,
1370
+ size_t param_value_size,
1371
+ void * param_value,
1372
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1373
+
1374
+ extern CL_API_ENTRY cl_int CL_API_CALL
1375
+ clGetProgramBuildInfo(cl_program program,
1376
+ cl_device_id device,
1377
+ cl_program_build_info param_name,
1378
+ size_t param_value_size,
1379
+ void * param_value,
1380
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1381
+
1382
+ /* Kernel Object APIs */
1383
+ extern CL_API_ENTRY cl_kernel CL_API_CALL
1384
+ clCreateKernel(cl_program program,
1385
+ const char * kernel_name,
1386
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1387
+
1388
+ extern CL_API_ENTRY cl_int CL_API_CALL
1389
+ clCreateKernelsInProgram(cl_program program,
1390
+ cl_uint num_kernels,
1391
+ cl_kernel * kernels,
1392
+ cl_uint * num_kernels_ret) CL_API_SUFFIX__VERSION_1_0;
1393
+
1394
+ #ifdef CL_VERSION_2_1
1395
+
1396
+ extern CL_API_ENTRY cl_kernel CL_API_CALL
1397
+ clCloneKernel(cl_kernel source_kernel,
1398
+ cl_int* errcode_ret) CL_API_SUFFIX__VERSION_2_1;
1399
+
1400
+ #endif
1401
+
1402
+ extern CL_API_ENTRY cl_int CL_API_CALL
1403
+ clRetainKernel(cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
1404
+
1405
+ extern CL_API_ENTRY cl_int CL_API_CALL
1406
+ clReleaseKernel(cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0;
1407
+
1408
+ extern CL_API_ENTRY cl_int CL_API_CALL
1409
+ clSetKernelArg(cl_kernel kernel,
1410
+ cl_uint arg_index,
1411
+ size_t arg_size,
1412
+ const void * arg_value) CL_API_SUFFIX__VERSION_1_0;
1413
+
1414
+ #ifdef CL_VERSION_2_0
1415
+
1416
+ extern CL_API_ENTRY cl_int CL_API_CALL
1417
+ clSetKernelArgSVMPointer(cl_kernel kernel,
1418
+ cl_uint arg_index,
1419
+ const void * arg_value) CL_API_SUFFIX__VERSION_2_0;
1420
+
1421
+ extern CL_API_ENTRY cl_int CL_API_CALL
1422
+ clSetKernelExecInfo(cl_kernel kernel,
1423
+ cl_kernel_exec_info param_name,
1424
+ size_t param_value_size,
1425
+ const void * param_value) CL_API_SUFFIX__VERSION_2_0;
1426
+
1427
+ #endif
1428
+
1429
+ extern CL_API_ENTRY cl_int CL_API_CALL
1430
+ clGetKernelInfo(cl_kernel kernel,
1431
+ cl_kernel_info param_name,
1432
+ size_t param_value_size,
1433
+ void * param_value,
1434
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1435
+
1436
+ #ifdef CL_VERSION_1_2
1437
+
1438
+ extern CL_API_ENTRY cl_int CL_API_CALL
1439
+ clGetKernelArgInfo(cl_kernel kernel,
1440
+ cl_uint arg_indx,
1441
+ cl_kernel_arg_info param_name,
1442
+ size_t param_value_size,
1443
+ void * param_value,
1444
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_2;
1445
+
1446
+ #endif
1447
+
1448
+ extern CL_API_ENTRY cl_int CL_API_CALL
1449
+ clGetKernelWorkGroupInfo(cl_kernel kernel,
1450
+ cl_device_id device,
1451
+ cl_kernel_work_group_info param_name,
1452
+ size_t param_value_size,
1453
+ void * param_value,
1454
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1455
+
1456
+ #ifdef CL_VERSION_2_1
1457
+
1458
+ extern CL_API_ENTRY cl_int CL_API_CALL
1459
+ clGetKernelSubGroupInfo(cl_kernel kernel,
1460
+ cl_device_id device,
1461
+ cl_kernel_sub_group_info param_name,
1462
+ size_t input_value_size,
1463
+ const void* input_value,
1464
+ size_t param_value_size,
1465
+ void* param_value,
1466
+ size_t* param_value_size_ret) CL_API_SUFFIX__VERSION_2_1;
1467
+
1468
+ #endif
1469
+
1470
+ /* Event Object APIs */
1471
+ extern CL_API_ENTRY cl_int CL_API_CALL
1472
+ clWaitForEvents(cl_uint num_events,
1473
+ const cl_event * event_list) CL_API_SUFFIX__VERSION_1_0;
1474
+
1475
+ extern CL_API_ENTRY cl_int CL_API_CALL
1476
+ clGetEventInfo(cl_event event,
1477
+ cl_event_info param_name,
1478
+ size_t param_value_size,
1479
+ void * param_value,
1480
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1481
+
1482
+ #ifdef CL_VERSION_1_1
1483
+
1484
+ extern CL_API_ENTRY cl_event CL_API_CALL
1485
+ clCreateUserEvent(cl_context context,
1486
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1;
1487
+
1488
+ #endif
1489
+
1490
+ extern CL_API_ENTRY cl_int CL_API_CALL
1491
+ clRetainEvent(cl_event event) CL_API_SUFFIX__VERSION_1_0;
1492
+
1493
+ extern CL_API_ENTRY cl_int CL_API_CALL
1494
+ clReleaseEvent(cl_event event) CL_API_SUFFIX__VERSION_1_0;
1495
+
1496
+ #ifdef CL_VERSION_1_1
1497
+
1498
+ extern CL_API_ENTRY cl_int CL_API_CALL
1499
+ clSetUserEventStatus(cl_event event,
1500
+ cl_int execution_status) CL_API_SUFFIX__VERSION_1_1;
1501
+
1502
+ extern CL_API_ENTRY cl_int CL_API_CALL
1503
+ clSetEventCallback(cl_event event,
1504
+ cl_int command_exec_callback_type,
1505
+ void (CL_CALLBACK * pfn_notify)(cl_event event,
1506
+ cl_int event_command_status,
1507
+ void * user_data),
1508
+ void * user_data) CL_API_SUFFIX__VERSION_1_1;
1509
+
1510
+ #endif
1511
+
1512
+ /* Profiling APIs */
1513
+ extern CL_API_ENTRY cl_int CL_API_CALL
1514
+ clGetEventProfilingInfo(cl_event event,
1515
+ cl_profiling_info param_name,
1516
+ size_t param_value_size,
1517
+ void * param_value,
1518
+ size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_1_0;
1519
+
1520
+ /* Flush and Finish APIs */
1521
+ extern CL_API_ENTRY cl_int CL_API_CALL
1522
+ clFlush(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
1523
+
1524
+ extern CL_API_ENTRY cl_int CL_API_CALL
1525
+ clFinish(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0;
1526
+
1527
+ /* Enqueued Commands APIs */
1528
+ extern CL_API_ENTRY cl_int CL_API_CALL
1529
+ clEnqueueReadBuffer(cl_command_queue command_queue,
1530
+ cl_mem buffer,
1531
+ cl_bool blocking_read,
1532
+ size_t offset,
1533
+ size_t size,
1534
+ void * ptr,
1535
+ cl_uint num_events_in_wait_list,
1536
+ const cl_event * event_wait_list,
1537
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1538
+
1539
+ #ifdef CL_VERSION_1_1
1540
+
1541
+ extern CL_API_ENTRY cl_int CL_API_CALL
1542
+ clEnqueueReadBufferRect(cl_command_queue command_queue,
1543
+ cl_mem buffer,
1544
+ cl_bool blocking_read,
1545
+ const size_t * buffer_origin,
1546
+ const size_t * host_origin,
1547
+ const size_t * region,
1548
+ size_t buffer_row_pitch,
1549
+ size_t buffer_slice_pitch,
1550
+ size_t host_row_pitch,
1551
+ size_t host_slice_pitch,
1552
+ void * ptr,
1553
+ cl_uint num_events_in_wait_list,
1554
+ const cl_event * event_wait_list,
1555
+ cl_event * event) CL_API_SUFFIX__VERSION_1_1;
1556
+
1557
+ #endif
1558
+
1559
+ extern CL_API_ENTRY cl_int CL_API_CALL
1560
+ clEnqueueWriteBuffer(cl_command_queue command_queue,
1561
+ cl_mem buffer,
1562
+ cl_bool blocking_write,
1563
+ size_t offset,
1564
+ size_t size,
1565
+ const void * ptr,
1566
+ cl_uint num_events_in_wait_list,
1567
+ const cl_event * event_wait_list,
1568
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1569
+
1570
+ #ifdef CL_VERSION_1_1
1571
+
1572
+ extern CL_API_ENTRY cl_int CL_API_CALL
1573
+ clEnqueueWriteBufferRect(cl_command_queue command_queue,
1574
+ cl_mem buffer,
1575
+ cl_bool blocking_write,
1576
+ const size_t * buffer_origin,
1577
+ const size_t * host_origin,
1578
+ const size_t * region,
1579
+ size_t buffer_row_pitch,
1580
+ size_t buffer_slice_pitch,
1581
+ size_t host_row_pitch,
1582
+ size_t host_slice_pitch,
1583
+ const void * ptr,
1584
+ cl_uint num_events_in_wait_list,
1585
+ const cl_event * event_wait_list,
1586
+ cl_event * event) CL_API_SUFFIX__VERSION_1_1;
1587
+
1588
+ #endif
1589
+
1590
+ #ifdef CL_VERSION_1_2
1591
+
1592
+ extern CL_API_ENTRY cl_int CL_API_CALL
1593
+ clEnqueueFillBuffer(cl_command_queue command_queue,
1594
+ cl_mem buffer,
1595
+ const void * pattern,
1596
+ size_t pattern_size,
1597
+ size_t offset,
1598
+ size_t size,
1599
+ cl_uint num_events_in_wait_list,
1600
+ const cl_event * event_wait_list,
1601
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
1602
+
1603
+ #endif
1604
+
1605
+ extern CL_API_ENTRY cl_int CL_API_CALL
1606
+ clEnqueueCopyBuffer(cl_command_queue command_queue,
1607
+ cl_mem src_buffer,
1608
+ cl_mem dst_buffer,
1609
+ size_t src_offset,
1610
+ size_t dst_offset,
1611
+ size_t size,
1612
+ cl_uint num_events_in_wait_list,
1613
+ const cl_event * event_wait_list,
1614
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1615
+
1616
+ #ifdef CL_VERSION_1_1
1617
+
1618
+ extern CL_API_ENTRY cl_int CL_API_CALL
1619
+ clEnqueueCopyBufferRect(cl_command_queue command_queue,
1620
+ cl_mem src_buffer,
1621
+ cl_mem dst_buffer,
1622
+ const size_t * src_origin,
1623
+ const size_t * dst_origin,
1624
+ const size_t * region,
1625
+ size_t src_row_pitch,
1626
+ size_t src_slice_pitch,
1627
+ size_t dst_row_pitch,
1628
+ size_t dst_slice_pitch,
1629
+ cl_uint num_events_in_wait_list,
1630
+ const cl_event * event_wait_list,
1631
+ cl_event * event) CL_API_SUFFIX__VERSION_1_1;
1632
+
1633
+ #endif
1634
+
1635
+ extern CL_API_ENTRY cl_int CL_API_CALL
1636
+ clEnqueueReadImage(cl_command_queue command_queue,
1637
+ cl_mem image,
1638
+ cl_bool blocking_read,
1639
+ const size_t * origin,
1640
+ const size_t * region,
1641
+ size_t row_pitch,
1642
+ size_t slice_pitch,
1643
+ void * ptr,
1644
+ cl_uint num_events_in_wait_list,
1645
+ const cl_event * event_wait_list,
1646
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1647
+
1648
+ extern CL_API_ENTRY cl_int CL_API_CALL
1649
+ clEnqueueWriteImage(cl_command_queue command_queue,
1650
+ cl_mem image,
1651
+ cl_bool blocking_write,
1652
+ const size_t * origin,
1653
+ const size_t * region,
1654
+ size_t input_row_pitch,
1655
+ size_t input_slice_pitch,
1656
+ const void * ptr,
1657
+ cl_uint num_events_in_wait_list,
1658
+ const cl_event * event_wait_list,
1659
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1660
+
1661
+ #ifdef CL_VERSION_1_2
1662
+
1663
+ extern CL_API_ENTRY cl_int CL_API_CALL
1664
+ clEnqueueFillImage(cl_command_queue command_queue,
1665
+ cl_mem image,
1666
+ const void * fill_color,
1667
+ const size_t * origin,
1668
+ const size_t * region,
1669
+ cl_uint num_events_in_wait_list,
1670
+ const cl_event * event_wait_list,
1671
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
1672
+
1673
+ #endif
1674
+
1675
+ extern CL_API_ENTRY cl_int CL_API_CALL
1676
+ clEnqueueCopyImage(cl_command_queue command_queue,
1677
+ cl_mem src_image,
1678
+ cl_mem dst_image,
1679
+ const size_t * src_origin,
1680
+ const size_t * dst_origin,
1681
+ const size_t * region,
1682
+ cl_uint num_events_in_wait_list,
1683
+ const cl_event * event_wait_list,
1684
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1685
+
1686
+ extern CL_API_ENTRY cl_int CL_API_CALL
1687
+ clEnqueueCopyImageToBuffer(cl_command_queue command_queue,
1688
+ cl_mem src_image,
1689
+ cl_mem dst_buffer,
1690
+ const size_t * src_origin,
1691
+ const size_t * region,
1692
+ size_t dst_offset,
1693
+ cl_uint num_events_in_wait_list,
1694
+ const cl_event * event_wait_list,
1695
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1696
+
1697
+ extern CL_API_ENTRY cl_int CL_API_CALL
1698
+ clEnqueueCopyBufferToImage(cl_command_queue command_queue,
1699
+ cl_mem src_buffer,
1700
+ cl_mem dst_image,
1701
+ size_t src_offset,
1702
+ const size_t * dst_origin,
1703
+ const size_t * region,
1704
+ cl_uint num_events_in_wait_list,
1705
+ const cl_event * event_wait_list,
1706
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1707
+
1708
+ extern CL_API_ENTRY void * CL_API_CALL
1709
+ clEnqueueMapBuffer(cl_command_queue command_queue,
1710
+ cl_mem buffer,
1711
+ cl_bool blocking_map,
1712
+ cl_map_flags map_flags,
1713
+ size_t offset,
1714
+ size_t size,
1715
+ cl_uint num_events_in_wait_list,
1716
+ const cl_event * event_wait_list,
1717
+ cl_event * event,
1718
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1719
+
1720
+ extern CL_API_ENTRY void * CL_API_CALL
1721
+ clEnqueueMapImage(cl_command_queue command_queue,
1722
+ cl_mem image,
1723
+ cl_bool blocking_map,
1724
+ cl_map_flags map_flags,
1725
+ const size_t * origin,
1726
+ const size_t * region,
1727
+ size_t * image_row_pitch,
1728
+ size_t * image_slice_pitch,
1729
+ cl_uint num_events_in_wait_list,
1730
+ const cl_event * event_wait_list,
1731
+ cl_event * event,
1732
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_0;
1733
+
1734
+ extern CL_API_ENTRY cl_int CL_API_CALL
1735
+ clEnqueueUnmapMemObject(cl_command_queue command_queue,
1736
+ cl_mem memobj,
1737
+ void * mapped_ptr,
1738
+ cl_uint num_events_in_wait_list,
1739
+ const cl_event * event_wait_list,
1740
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1741
+
1742
+ #ifdef CL_VERSION_1_2
1743
+
1744
+ extern CL_API_ENTRY cl_int CL_API_CALL
1745
+ clEnqueueMigrateMemObjects(cl_command_queue command_queue,
1746
+ cl_uint num_mem_objects,
1747
+ const cl_mem * mem_objects,
1748
+ cl_mem_migration_flags flags,
1749
+ cl_uint num_events_in_wait_list,
1750
+ const cl_event * event_wait_list,
1751
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
1752
+
1753
+ #endif
1754
+
1755
+ extern CL_API_ENTRY cl_int CL_API_CALL
1756
+ clEnqueueNDRangeKernel(cl_command_queue command_queue,
1757
+ cl_kernel kernel,
1758
+ cl_uint work_dim,
1759
+ const size_t * global_work_offset,
1760
+ const size_t * global_work_size,
1761
+ const size_t * local_work_size,
1762
+ cl_uint num_events_in_wait_list,
1763
+ const cl_event * event_wait_list,
1764
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1765
+
1766
+ extern CL_API_ENTRY cl_int CL_API_CALL
1767
+ clEnqueueNativeKernel(cl_command_queue command_queue,
1768
+ void (CL_CALLBACK * user_func)(void *),
1769
+ void * args,
1770
+ size_t cb_args,
1771
+ cl_uint num_mem_objects,
1772
+ const cl_mem * mem_list,
1773
+ const void ** args_mem_loc,
1774
+ cl_uint num_events_in_wait_list,
1775
+ const cl_event * event_wait_list,
1776
+ cl_event * event) CL_API_SUFFIX__VERSION_1_0;
1777
+
1778
+ #ifdef CL_VERSION_1_2
1779
+
1780
+ extern CL_API_ENTRY cl_int CL_API_CALL
1781
+ clEnqueueMarkerWithWaitList(cl_command_queue command_queue,
1782
+ cl_uint num_events_in_wait_list,
1783
+ const cl_event * event_wait_list,
1784
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
1785
+
1786
+ extern CL_API_ENTRY cl_int CL_API_CALL
1787
+ clEnqueueBarrierWithWaitList(cl_command_queue command_queue,
1788
+ cl_uint num_events_in_wait_list,
1789
+ const cl_event * event_wait_list,
1790
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2;
1791
+
1792
+ #endif
1793
+
1794
+ #ifdef CL_VERSION_2_0
1795
+
1796
+ extern CL_API_ENTRY cl_int CL_API_CALL
1797
+ clEnqueueSVMFree(cl_command_queue command_queue,
1798
+ cl_uint num_svm_pointers,
1799
+ void * svm_pointers[],
1800
+ void (CL_CALLBACK * pfn_free_func)(cl_command_queue queue,
1801
+ cl_uint num_svm_pointers,
1802
+ void * svm_pointers[],
1803
+ void * user_data),
1804
+ void * user_data,
1805
+ cl_uint num_events_in_wait_list,
1806
+ const cl_event * event_wait_list,
1807
+ cl_event * event) CL_API_SUFFIX__VERSION_2_0;
1808
+
1809
+ extern CL_API_ENTRY cl_int CL_API_CALL
1810
+ clEnqueueSVMMemcpy(cl_command_queue command_queue,
1811
+ cl_bool blocking_copy,
1812
+ void * dst_ptr,
1813
+ const void * src_ptr,
1814
+ size_t size,
1815
+ cl_uint num_events_in_wait_list,
1816
+ const cl_event * event_wait_list,
1817
+ cl_event * event) CL_API_SUFFIX__VERSION_2_0;
1818
+
1819
+ extern CL_API_ENTRY cl_int CL_API_CALL
1820
+ clEnqueueSVMMemFill(cl_command_queue command_queue,
1821
+ void * svm_ptr,
1822
+ const void * pattern,
1823
+ size_t pattern_size,
1824
+ size_t size,
1825
+ cl_uint num_events_in_wait_list,
1826
+ const cl_event * event_wait_list,
1827
+ cl_event * event) CL_API_SUFFIX__VERSION_2_0;
1828
+
1829
+ extern CL_API_ENTRY cl_int CL_API_CALL
1830
+ clEnqueueSVMMap(cl_command_queue command_queue,
1831
+ cl_bool blocking_map,
1832
+ cl_map_flags flags,
1833
+ void * svm_ptr,
1834
+ size_t size,
1835
+ cl_uint num_events_in_wait_list,
1836
+ const cl_event * event_wait_list,
1837
+ cl_event * event) CL_API_SUFFIX__VERSION_2_0;
1838
+
1839
+ extern CL_API_ENTRY cl_int CL_API_CALL
1840
+ clEnqueueSVMUnmap(cl_command_queue command_queue,
1841
+ void * svm_ptr,
1842
+ cl_uint num_events_in_wait_list,
1843
+ const cl_event * event_wait_list,
1844
+ cl_event * event) CL_API_SUFFIX__VERSION_2_0;
1845
+
1846
+ #endif
1847
+
1848
+ #ifdef CL_VERSION_2_1
1849
+
1850
+ extern CL_API_ENTRY cl_int CL_API_CALL
1851
+ clEnqueueSVMMigrateMem(cl_command_queue command_queue,
1852
+ cl_uint num_svm_pointers,
1853
+ const void ** svm_pointers,
1854
+ const size_t * sizes,
1855
+ cl_mem_migration_flags flags,
1856
+ cl_uint num_events_in_wait_list,
1857
+ const cl_event * event_wait_list,
1858
+ cl_event * event) CL_API_SUFFIX__VERSION_2_1;
1859
+
1860
+ #endif
1861
+
1862
+ #ifdef CL_VERSION_3_1
1863
+
1864
+ extern CL_API_ENTRY cl_int CL_API_CALL
1865
+ clGetKernelSuggestedLocalWorkSize(cl_command_queue command_queue,
1866
+ cl_kernel kernel,
1867
+ cl_uint work_dim,
1868
+ const size_t * global_work_offset,
1869
+ const size_t * global_work_size,
1870
+ size_t * suggested_local_work_size) CL_API_SUFFIX__VERSION_3_1;
1871
+
1872
+ #endif
1873
+
1874
+ #ifdef CL_VERSION_1_2
1875
+
1876
+ /* Extension function access
1877
+ *
1878
+ * Returns the extension function address for the given function name,
1879
+ * or NULL if a valid function can not be found. The client must
1880
+ * check to make sure the address is not NULL, before using or
1881
+ * calling the returned function address.
1882
+ */
1883
+ extern CL_API_ENTRY void * CL_API_CALL
1884
+ clGetExtensionFunctionAddressForPlatform(cl_platform_id platform,
1885
+ const char * func_name) CL_API_SUFFIX__VERSION_1_2;
1886
+
1887
+ #endif
1888
+
1889
+ #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
1890
+ /*
1891
+ * WARNING:
1892
+ * This API introduces mutable state into the OpenCL implementation. It has been REMOVED
1893
+ * to better facilitate thread safety. The 1.0 API is not thread safe. It is not tested by the
1894
+ * OpenCL 1.1 conformance test, and consequently may not work or may not work dependably.
1895
+ * It is likely to be non-performant. Use of this API is not advised. Use at your own risk.
1896
+ *
1897
+ * Software developers previously relying on this API are instructed to set the command queue
1898
+ * properties when creating the queue, instead.
1899
+ */
1900
+ extern CL_API_ENTRY cl_int CL_API_CALL
1901
+ clSetCommandQueueProperty(cl_command_queue command_queue,
1902
+ cl_command_queue_properties properties,
1903
+ cl_bool enable,
1904
+ cl_command_queue_properties * old_properties) CL_API_SUFFIX__VERSION_1_0_DEPRECATED;
1905
+ #endif /* CL_USE_DEPRECATED_OPENCL_1_0_APIS */
1906
+
1907
+ /* Deprecated OpenCL 1.1 APIs */
1908
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
1909
+ clCreateImage2D(cl_context context,
1910
+ cl_mem_flags flags,
1911
+ const cl_image_format * image_format,
1912
+ size_t image_width,
1913
+ size_t image_height,
1914
+ size_t image_row_pitch,
1915
+ void * host_ptr,
1916
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1917
+
1918
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL
1919
+ clCreateImage3D(cl_context context,
1920
+ cl_mem_flags flags,
1921
+ const cl_image_format * image_format,
1922
+ size_t image_width,
1923
+ size_t image_height,
1924
+ size_t image_depth,
1925
+ size_t image_row_pitch,
1926
+ size_t image_slice_pitch,
1927
+ void * host_ptr,
1928
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1929
+
1930
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
1931
+ clEnqueueMarker(cl_command_queue command_queue,
1932
+ cl_event * event) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1933
+
1934
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
1935
+ clEnqueueWaitForEvents(cl_command_queue command_queue,
1936
+ cl_uint num_events,
1937
+ const cl_event * event_list) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1938
+
1939
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
1940
+ clEnqueueBarrier(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1941
+
1942
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL
1943
+ clUnloadCompiler(void) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1944
+
1945
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL
1946
+ clGetExtensionFunctionAddress(const char * func_name) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
1947
+
1948
+ /* Deprecated OpenCL 2.0 APIs */
1949
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_command_queue CL_API_CALL
1950
+ clCreateCommandQueue(cl_context context,
1951
+ cl_device_id device,
1952
+ cl_command_queue_properties properties,
1953
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
1954
+
1955
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_sampler CL_API_CALL
1956
+ clCreateSampler(cl_context context,
1957
+ cl_bool normalized_coords,
1958
+ cl_addressing_mode addressing_mode,
1959
+ cl_filter_mode filter_mode,
1960
+ cl_int * errcode_ret) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
1961
+
1962
+ extern CL_API_ENTRY CL_API_PREFIX__VERSION_1_2_DEPRECATED cl_int CL_API_CALL
1963
+ clEnqueueTask(cl_command_queue command_queue,
1964
+ cl_kernel kernel,
1965
+ cl_uint num_events_in_wait_list,
1966
+ const cl_event * event_wait_list,
1967
+ cl_event * event) CL_API_SUFFIX__VERSION_1_2_DEPRECATED;
1968
+
1969
+ #endif /* !defined(CL_NO_CORE_PROTOTYPES) */
1970
+
1971
+ #ifdef __cplusplus
1972
+ }
1973
+ #endif
1974
+
1975
+ #if defined(_WIN32) && defined(_MSC_VER) && __CL_HAS_ANON_STRUCT__
1976
+ #pragma warning( pop )
1977
+ #endif
1978
+
1979
+ #endif /* __OPENCL_CL_H */