opencl.py 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795
  1. # mypy: ignore-errors
  2. # -*- coding: utf-8 -*-
  3. #
  4. # TARGET arch is: []
  5. # WORD_SIZE is: 8
  6. # POINTER_SIZE is: 8
  7. # LONGDOUBLE_SIZE is: 16
  8. #
  9. import ctypes, ctypes.util
  10. class AsDictMixin:
  11. @classmethod
  12. def as_dict(cls, self):
  13. result = {}
  14. if not isinstance(self, AsDictMixin):
  15. # not a structure, assume it's already a python object
  16. return self
  17. if not hasattr(cls, "_fields_"):
  18. return result
  19. # sys.version_info >= (3, 5)
  20. # for (field, *_) in cls._fields_: # noqa
  21. for field_tuple in cls._fields_: # noqa
  22. field = field_tuple[0]
  23. if field.startswith('PADDING_'):
  24. continue
  25. value = getattr(self, field)
  26. type_ = type(value)
  27. if hasattr(value, "_length_") and hasattr(value, "_type_"):
  28. # array
  29. if not hasattr(type_, "as_dict"):
  30. value = [v for v in value]
  31. else:
  32. type_ = type_._type_
  33. value = [type_.as_dict(v) for v in value]
  34. elif hasattr(value, "contents") and hasattr(value, "_type_"):
  35. # pointer
  36. try:
  37. if not hasattr(type_, "as_dict"):
  38. value = value.contents
  39. else:
  40. type_ = type_._type_
  41. value = type_.as_dict(value.contents)
  42. except ValueError:
  43. # nullptr
  44. value = None
  45. elif isinstance(value, AsDictMixin):
  46. # other structure
  47. value = type_.as_dict(value)
  48. result[field] = value
  49. return result
  50. class Structure(ctypes.Structure, AsDictMixin):
  51. def __init__(self, *args, **kwds):
  52. # We don't want to use positional arguments fill PADDING_* fields
  53. args = dict(zip(self.__class__._field_names_(), args))
  54. args.update(kwds)
  55. super(Structure, self).__init__(**args)
  56. @classmethod
  57. def _field_names_(cls):
  58. if hasattr(cls, '_fields_'):
  59. return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING'))
  60. else:
  61. return ()
  62. @classmethod
  63. def get_type(cls, field):
  64. for f in cls._fields_:
  65. if f[0] == field:
  66. return f[1]
  67. return None
  68. @classmethod
  69. def bind(cls, bound_fields):
  70. fields = {}
  71. for name, type_ in cls._fields_:
  72. if hasattr(type_, "restype"):
  73. if name in bound_fields:
  74. if bound_fields[name] is None:
  75. fields[name] = type_()
  76. else:
  77. # use a closure to capture the callback from the loop scope
  78. fields[name] = (
  79. type_((lambda callback: lambda *args: callback(*args))(
  80. bound_fields[name]))
  81. )
  82. del bound_fields[name]
  83. else:
  84. # default callback implementation (does nothing)
  85. try:
  86. default_ = type_(0).restype().value
  87. except TypeError:
  88. default_ = None
  89. fields[name] = type_((
  90. lambda default_: lambda *args: default_)(default_))
  91. else:
  92. # not a callback function, use default initialization
  93. if name in bound_fields:
  94. fields[name] = bound_fields[name]
  95. del bound_fields[name]
  96. else:
  97. fields[name] = type_()
  98. if len(bound_fields) != 0:
  99. raise ValueError(
  100. "Cannot bind the following unknown callback(s) {}.{}".format(
  101. cls.__name__, bound_fields.keys()
  102. ))
  103. return cls(**fields)
  104. class Union(ctypes.Union, AsDictMixin):
  105. pass
  106. _libraries = {}
  107. _libraries['libOpenCL.so.1'] = ctypes.CDLL(ctypes.util.find_library('OpenCL'))
  108. c_int128 = ctypes.c_ubyte*16
  109. c_uint128 = c_int128
  110. void = None
  111. if ctypes.sizeof(ctypes.c_longdouble) == 16:
  112. c_long_double_t = ctypes.c_longdouble
  113. else:
  114. c_long_double_t = ctypes.c_ubyte*16
  115. def string_cast(char_pointer, encoding='utf-8', errors='strict'):
  116. value = ctypes.cast(char_pointer, ctypes.c_char_p).value
  117. if value is not None and encoding is not None:
  118. value = value.decode(encoding, errors=errors)
  119. return value
  120. def char_pointer_cast(string, encoding='utf-8'):
  121. if encoding is not None:
  122. try:
  123. string = string.encode(encoding)
  124. except AttributeError:
  125. # In Python3, bytes has no encode attribute
  126. pass
  127. string = ctypes.c_char_p(string)
  128. return ctypes.cast(string, ctypes.POINTER(ctypes.c_char))
  129. __OPENCL_CL_H = True # macro
  130. CL_NAME_VERSION_MAX_NAME_SIZE = 64 # macro
  131. CL_SUCCESS = 0 # macro
  132. CL_DEVICE_NOT_FOUND = -1 # macro
  133. CL_DEVICE_NOT_AVAILABLE = -2 # macro
  134. CL_COMPILER_NOT_AVAILABLE = -3 # macro
  135. CL_MEM_OBJECT_ALLOCATION_FAILURE = -4 # macro
  136. CL_OUT_OF_RESOURCES = -5 # macro
  137. CL_OUT_OF_HOST_MEMORY = -6 # macro
  138. CL_PROFILING_INFO_NOT_AVAILABLE = -7 # macro
  139. CL_MEM_COPY_OVERLAP = -8 # macro
  140. CL_IMAGE_FORMAT_MISMATCH = -9 # macro
  141. CL_IMAGE_FORMAT_NOT_SUPPORTED = -10 # macro
  142. CL_BUILD_PROGRAM_FAILURE = -11 # macro
  143. CL_MAP_FAILURE = -12 # macro
  144. CL_MISALIGNED_SUB_BUFFER_OFFSET = -13 # macro
  145. CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST = -14 # macro
  146. CL_COMPILE_PROGRAM_FAILURE = -15 # macro
  147. CL_LINKER_NOT_AVAILABLE = -16 # macro
  148. CL_LINK_PROGRAM_FAILURE = -17 # macro
  149. CL_DEVICE_PARTITION_FAILED = -18 # macro
  150. CL_KERNEL_ARG_INFO_NOT_AVAILABLE = -19 # macro
  151. CL_INVALID_VALUE = -30 # macro
  152. CL_INVALID_DEVICE_TYPE = -31 # macro
  153. CL_INVALID_PLATFORM = -32 # macro
  154. CL_INVALID_DEVICE = -33 # macro
  155. CL_INVALID_CONTEXT = -34 # macro
  156. CL_INVALID_QUEUE_PROPERTIES = -35 # macro
  157. CL_INVALID_COMMAND_QUEUE = -36 # macro
  158. CL_INVALID_HOST_PTR = -37 # macro
  159. CL_INVALID_MEM_OBJECT = -38 # macro
  160. CL_INVALID_IMAGE_FORMAT_DESCRIPTOR = -39 # macro
  161. CL_INVALID_IMAGE_SIZE = -40 # macro
  162. CL_INVALID_SAMPLER = -41 # macro
  163. CL_INVALID_BINARY = -42 # macro
  164. CL_INVALID_BUILD_OPTIONS = -43 # macro
  165. CL_INVALID_PROGRAM = -44 # macro
  166. CL_INVALID_PROGRAM_EXECUTABLE = -45 # macro
  167. CL_INVALID_KERNEL_NAME = -46 # macro
  168. CL_INVALID_KERNEL_DEFINITION = -47 # macro
  169. CL_INVALID_KERNEL = -48 # macro
  170. CL_INVALID_ARG_INDEX = -49 # macro
  171. CL_INVALID_ARG_VALUE = -50 # macro
  172. CL_INVALID_ARG_SIZE = -51 # macro
  173. CL_INVALID_KERNEL_ARGS = -52 # macro
  174. CL_INVALID_WORK_DIMENSION = -53 # macro
  175. CL_INVALID_WORK_GROUP_SIZE = -54 # macro
  176. CL_INVALID_WORK_ITEM_SIZE = -55 # macro
  177. CL_INVALID_GLOBAL_OFFSET = -56 # macro
  178. CL_INVALID_EVENT_WAIT_LIST = -57 # macro
  179. CL_INVALID_EVENT = -58 # macro
  180. CL_INVALID_OPERATION = -59 # macro
  181. CL_INVALID_GL_OBJECT = -60 # macro
  182. CL_INVALID_BUFFER_SIZE = -61 # macro
  183. CL_INVALID_MIP_LEVEL = -62 # macro
  184. CL_INVALID_GLOBAL_WORK_SIZE = -63 # macro
  185. CL_INVALID_PROPERTY = -64 # macro
  186. CL_INVALID_IMAGE_DESCRIPTOR = -65 # macro
  187. CL_INVALID_COMPILER_OPTIONS = -66 # macro
  188. CL_INVALID_LINKER_OPTIONS = -67 # macro
  189. CL_INVALID_DEVICE_PARTITION_COUNT = -68 # macro
  190. CL_INVALID_PIPE_SIZE = -69 # macro
  191. CL_INVALID_DEVICE_QUEUE = -70 # macro
  192. CL_INVALID_SPEC_ID = -71 # macro
  193. CL_MAX_SIZE_RESTRICTION_EXCEEDED = -72 # macro
  194. CL_FALSE = 0 # macro
  195. CL_TRUE = 1 # macro
  196. CL_BLOCKING = 1 # macro
  197. CL_NON_BLOCKING = 0 # macro
  198. CL_PLATFORM_PROFILE = 0x0900 # macro
  199. CL_PLATFORM_VERSION = 0x0901 # macro
  200. CL_PLATFORM_NAME = 0x0902 # macro
  201. CL_PLATFORM_VENDOR = 0x0903 # macro
  202. CL_PLATFORM_EXTENSIONS = 0x0904 # macro
  203. CL_PLATFORM_HOST_TIMER_RESOLUTION = 0x0905 # macro
  204. CL_PLATFORM_NUMERIC_VERSION = 0x0906 # macro
  205. CL_PLATFORM_EXTENSIONS_WITH_VERSION = 0x0907 # macro
  206. CL_DEVICE_TYPE_DEFAULT = (1<<0) # macro
  207. CL_DEVICE_TYPE_CPU = (1<<1) # macro
  208. CL_DEVICE_TYPE_GPU = (1<<2) # macro
  209. CL_DEVICE_TYPE_ACCELERATOR = (1<<3) # macro
  210. CL_DEVICE_TYPE_CUSTOM = (1<<4) # macro
  211. CL_DEVICE_TYPE_ALL = 0xFFFFFFFF # macro
  212. CL_DEVICE_TYPE = 0x1000 # macro
  213. CL_DEVICE_VENDOR_ID = 0x1001 # macro
  214. CL_DEVICE_MAX_COMPUTE_UNITS = 0x1002 # macro
  215. CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS = 0x1003 # macro
  216. CL_DEVICE_MAX_WORK_GROUP_SIZE = 0x1004 # macro
  217. CL_DEVICE_MAX_WORK_ITEM_SIZES = 0x1005 # macro
  218. CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR = 0x1006 # macro
  219. CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = 0x1007 # macro
  220. CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT = 0x1008 # macro
  221. CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG = 0x1009 # macro
  222. CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 0x100A # macro
  223. CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = 0x100B # macro
  224. CL_DEVICE_MAX_CLOCK_FREQUENCY = 0x100C # macro
  225. CL_DEVICE_ADDRESS_BITS = 0x100D # macro
  226. CL_DEVICE_MAX_READ_IMAGE_ARGS = 0x100E # macro
  227. CL_DEVICE_MAX_WRITE_IMAGE_ARGS = 0x100F # macro
  228. CL_DEVICE_MAX_MEM_ALLOC_SIZE = 0x1010 # macro
  229. CL_DEVICE_IMAGE2D_MAX_WIDTH = 0x1011 # macro
  230. CL_DEVICE_IMAGE2D_MAX_HEIGHT = 0x1012 # macro
  231. CL_DEVICE_IMAGE3D_MAX_WIDTH = 0x1013 # macro
  232. CL_DEVICE_IMAGE3D_MAX_HEIGHT = 0x1014 # macro
  233. CL_DEVICE_IMAGE3D_MAX_DEPTH = 0x1015 # macro
  234. CL_DEVICE_IMAGE_SUPPORT = 0x1016 # macro
  235. CL_DEVICE_MAX_PARAMETER_SIZE = 0x1017 # macro
  236. CL_DEVICE_MAX_SAMPLERS = 0x1018 # macro
  237. CL_DEVICE_MEM_BASE_ADDR_ALIGN = 0x1019 # macro
  238. CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE = 0x101A # macro
  239. CL_DEVICE_SINGLE_FP_CONFIG = 0x101B # macro
  240. CL_DEVICE_GLOBAL_MEM_CACHE_TYPE = 0x101C # macro
  241. CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE = 0x101D # macro
  242. CL_DEVICE_GLOBAL_MEM_CACHE_SIZE = 0x101E # macro
  243. CL_DEVICE_GLOBAL_MEM_SIZE = 0x101F # macro
  244. CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE = 0x1020 # macro
  245. CL_DEVICE_MAX_CONSTANT_ARGS = 0x1021 # macro
  246. CL_DEVICE_LOCAL_MEM_TYPE = 0x1022 # macro
  247. CL_DEVICE_LOCAL_MEM_SIZE = 0x1023 # macro
  248. CL_DEVICE_ERROR_CORRECTION_SUPPORT = 0x1024 # macro
  249. CL_DEVICE_PROFILING_TIMER_RESOLUTION = 0x1025 # macro
  250. CL_DEVICE_ENDIAN_LITTLE = 0x1026 # macro
  251. CL_DEVICE_AVAILABLE = 0x1027 # macro
  252. CL_DEVICE_COMPILER_AVAILABLE = 0x1028 # macro
  253. CL_DEVICE_EXECUTION_CAPABILITIES = 0x1029 # macro
  254. CL_DEVICE_QUEUE_PROPERTIES = 0x102A # macro
  255. CL_DEVICE_QUEUE_ON_HOST_PROPERTIES = 0x102A # macro
  256. CL_DEVICE_NAME = 0x102B # macro
  257. CL_DEVICE_VENDOR = 0x102C # macro
  258. CL_DRIVER_VERSION = 0x102D # macro
  259. CL_DEVICE_PROFILE = 0x102E # macro
  260. CL_DEVICE_VERSION = 0x102F # macro
  261. CL_DEVICE_EXTENSIONS = 0x1030 # macro
  262. CL_DEVICE_PLATFORM = 0x1031 # macro
  263. CL_DEVICE_DOUBLE_FP_CONFIG = 0x1032 # macro
  264. CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF = 0x1034 # macro
  265. CL_DEVICE_HOST_UNIFIED_MEMORY = 0x1035 # macro
  266. CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR = 0x1036 # macro
  267. CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT = 0x1037 # macro
  268. CL_DEVICE_NATIVE_VECTOR_WIDTH_INT = 0x1038 # macro
  269. CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG = 0x1039 # macro
  270. CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT = 0x103A # macro
  271. CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE = 0x103B # macro
  272. CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF = 0x103C # macro
  273. CL_DEVICE_OPENCL_C_VERSION = 0x103D # macro
  274. CL_DEVICE_LINKER_AVAILABLE = 0x103E # macro
  275. CL_DEVICE_BUILT_IN_KERNELS = 0x103F # macro
  276. CL_DEVICE_IMAGE_MAX_BUFFER_SIZE = 0x1040 # macro
  277. CL_DEVICE_IMAGE_MAX_ARRAY_SIZE = 0x1041 # macro
  278. CL_DEVICE_PARENT_DEVICE = 0x1042 # macro
  279. CL_DEVICE_PARTITION_MAX_SUB_DEVICES = 0x1043 # macro
  280. CL_DEVICE_PARTITION_PROPERTIES = 0x1044 # macro
  281. CL_DEVICE_PARTITION_AFFINITY_DOMAIN = 0x1045 # macro
  282. CL_DEVICE_PARTITION_TYPE = 0x1046 # macro
  283. CL_DEVICE_REFERENCE_COUNT = 0x1047 # macro
  284. CL_DEVICE_PREFERRED_INTEROP_USER_SYNC = 0x1048 # macro
  285. CL_DEVICE_PRINTF_BUFFER_SIZE = 0x1049 # macro
  286. CL_DEVICE_IMAGE_PITCH_ALIGNMENT = 0x104A # macro
  287. CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT = 0x104B # macro
  288. CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS = 0x104C # macro
  289. CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE = 0x104D # macro
  290. CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES = 0x104E # macro
  291. CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE = 0x104F # macro
  292. CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE = 0x1050 # macro
  293. CL_DEVICE_MAX_ON_DEVICE_QUEUES = 0x1051 # macro
  294. CL_DEVICE_MAX_ON_DEVICE_EVENTS = 0x1052 # macro
  295. CL_DEVICE_SVM_CAPABILITIES = 0x1053 # macro
  296. CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE = 0x1054 # macro
  297. CL_DEVICE_MAX_PIPE_ARGS = 0x1055 # macro
  298. CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS = 0x1056 # macro
  299. CL_DEVICE_PIPE_MAX_PACKET_SIZE = 0x1057 # macro
  300. CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT = 0x1058 # macro
  301. CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT = 0x1059 # macro
  302. CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT = 0x105A # macro
  303. CL_DEVICE_IL_VERSION = 0x105B # macro
  304. CL_DEVICE_MAX_NUM_SUB_GROUPS = 0x105C # macro
  305. CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS = 0x105D # macro
  306. CL_DEVICE_NUMERIC_VERSION = 0x105E # macro
  307. CL_DEVICE_EXTENSIONS_WITH_VERSION = 0x1060 # macro
  308. CL_DEVICE_ILS_WITH_VERSION = 0x1061 # macro
  309. CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION = 0x1062 # macro
  310. CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES = 0x1063 # macro
  311. CL_DEVICE_ATOMIC_FENCE_CAPABILITIES = 0x1064 # macro
  312. CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT = 0x1065 # macro
  313. CL_DEVICE_OPENCL_C_ALL_VERSIONS = 0x1066 # macro
  314. CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE = 0x1067 # macro
  315. CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT = 0x1068 # macro
  316. CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT = 0x1069 # macro
  317. CL_DEVICE_OPENCL_C_FEATURES = 0x106F # macro
  318. CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES = 0x1070 # macro
  319. CL_DEVICE_PIPE_SUPPORT = 0x1071 # macro
  320. CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED = 0x1072 # macro
  321. CL_FP_DENORM = (1<<0) # macro
  322. CL_FP_INF_NAN = (1<<1) # macro
  323. CL_FP_ROUND_TO_NEAREST = (1<<2) # macro
  324. CL_FP_ROUND_TO_ZERO = (1<<3) # macro
  325. CL_FP_ROUND_TO_INF = (1<<4) # macro
  326. CL_FP_FMA = (1<<5) # macro
  327. CL_FP_SOFT_FLOAT = (1<<6) # macro
  328. CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT = (1<<7) # macro
  329. CL_NONE = 0x0 # macro
  330. CL_READ_ONLY_CACHE = 0x1 # macro
  331. CL_READ_WRITE_CACHE = 0x2 # macro
  332. CL_LOCAL = 0x1 # macro
  333. CL_GLOBAL = 0x2 # macro
  334. CL_EXEC_KERNEL = (1<<0) # macro
  335. CL_EXEC_NATIVE_KERNEL = (1<<1) # macro
  336. CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE = (1<<0) # macro
  337. CL_QUEUE_PROFILING_ENABLE = (1<<1) # macro
  338. CL_QUEUE_ON_DEVICE = (1<<2) # macro
  339. CL_QUEUE_ON_DEVICE_DEFAULT = (1<<3) # macro
  340. CL_CONTEXT_REFERENCE_COUNT = 0x1080 # macro
  341. CL_CONTEXT_DEVICES = 0x1081 # macro
  342. CL_CONTEXT_PROPERTIES = 0x1082 # macro
  343. CL_CONTEXT_NUM_DEVICES = 0x1083 # macro
  344. CL_CONTEXT_PLATFORM = 0x1084 # macro
  345. CL_CONTEXT_INTEROP_USER_SYNC = 0x1085 # macro
  346. CL_DEVICE_PARTITION_EQUALLY = 0x1086 # macro
  347. CL_DEVICE_PARTITION_BY_COUNTS = 0x1087 # macro
  348. CL_DEVICE_PARTITION_BY_COUNTS_LIST_END = 0x0 # macro
  349. CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN = 0x1088 # macro
  350. CL_DEVICE_AFFINITY_DOMAIN_NUMA = (1<<0) # macro
  351. CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE = (1<<1) # macro
  352. CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE = (1<<2) # macro
  353. CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE = (1<<3) # macro
  354. CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE = (1<<4) # macro
  355. CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE = (1<<5) # macro
  356. CL_DEVICE_SVM_COARSE_GRAIN_BUFFER = (1<<0) # macro
  357. CL_DEVICE_SVM_FINE_GRAIN_BUFFER = (1<<1) # macro
  358. CL_DEVICE_SVM_FINE_GRAIN_SYSTEM = (1<<2) # macro
  359. CL_DEVICE_SVM_ATOMICS = (1<<3) # macro
  360. CL_QUEUE_CONTEXT = 0x1090 # macro
  361. CL_QUEUE_DEVICE = 0x1091 # macro
  362. CL_QUEUE_REFERENCE_COUNT = 0x1092 # macro
  363. CL_QUEUE_PROPERTIES = 0x1093 # macro
  364. CL_QUEUE_SIZE = 0x1094 # macro
  365. CL_QUEUE_DEVICE_DEFAULT = 0x1095 # macro
  366. CL_QUEUE_PROPERTIES_ARRAY = 0x1098 # macro
  367. CL_MEM_READ_WRITE = (1<<0) # macro
  368. CL_MEM_WRITE_ONLY = (1<<1) # macro
  369. CL_MEM_READ_ONLY = (1<<2) # macro
  370. CL_MEM_USE_HOST_PTR = (1<<3) # macro
  371. CL_MEM_ALLOC_HOST_PTR = (1<<4) # macro
  372. CL_MEM_COPY_HOST_PTR = (1<<5) # macro
  373. CL_MEM_HOST_WRITE_ONLY = (1<<7) # macro
  374. CL_MEM_HOST_READ_ONLY = (1<<8) # macro
  375. CL_MEM_HOST_NO_ACCESS = (1<<9) # macro
  376. CL_MEM_SVM_FINE_GRAIN_BUFFER = (1<<10) # macro
  377. CL_MEM_SVM_ATOMICS = (1<<11) # macro
  378. CL_MEM_KERNEL_READ_AND_WRITE = (1<<12) # macro
  379. CL_MIGRATE_MEM_OBJECT_HOST = (1<<0) # macro
  380. CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED = (1<<1) # macro
  381. CL_R = 0x10B0 # macro
  382. CL_A = 0x10B1 # macro
  383. CL_RG = 0x10B2 # macro
  384. CL_RA = 0x10B3 # macro
  385. CL_RGB = 0x10B4 # macro
  386. CL_RGBA = 0x10B5 # macro
  387. CL_BGRA = 0x10B6 # macro
  388. CL_ARGB = 0x10B7 # macro
  389. CL_INTENSITY = 0x10B8 # macro
  390. CL_LUMINANCE = 0x10B9 # macro
  391. CL_Rx = 0x10BA # macro
  392. CL_RGx = 0x10BB # macro
  393. CL_RGBx = 0x10BC # macro
  394. CL_DEPTH = 0x10BD # macro
  395. CL_DEPTH_STENCIL = 0x10BE # macro
  396. CL_sRGB = 0x10BF # macro
  397. CL_sRGBx = 0x10C0 # macro
  398. CL_sRGBA = 0x10C1 # macro
  399. CL_sBGRA = 0x10C2 # macro
  400. CL_ABGR = 0x10C3 # macro
  401. CL_SNORM_INT8 = 0x10D0 # macro
  402. CL_SNORM_INT16 = 0x10D1 # macro
  403. CL_UNORM_INT8 = 0x10D2 # macro
  404. CL_UNORM_INT16 = 0x10D3 # macro
  405. CL_UNORM_SHORT_565 = 0x10D4 # macro
  406. CL_UNORM_SHORT_555 = 0x10D5 # macro
  407. CL_UNORM_INT_101010 = 0x10D6 # macro
  408. CL_SIGNED_INT8 = 0x10D7 # macro
  409. CL_SIGNED_INT16 = 0x10D8 # macro
  410. CL_SIGNED_INT32 = 0x10D9 # macro
  411. CL_UNSIGNED_INT8 = 0x10DA # macro
  412. CL_UNSIGNED_INT16 = 0x10DB # macro
  413. CL_UNSIGNED_INT32 = 0x10DC # macro
  414. CL_HALF_FLOAT = 0x10DD # macro
  415. CL_FLOAT = 0x10DE # macro
  416. CL_UNORM_INT24 = 0x10DF # macro
  417. CL_UNORM_INT_101010_2 = 0x10E0 # macro
  418. CL_MEM_OBJECT_BUFFER = 0x10F0 # macro
  419. CL_MEM_OBJECT_IMAGE2D = 0x10F1 # macro
  420. CL_MEM_OBJECT_IMAGE3D = 0x10F2 # macro
  421. CL_MEM_OBJECT_IMAGE2D_ARRAY = 0x10F3 # macro
  422. CL_MEM_OBJECT_IMAGE1D = 0x10F4 # macro
  423. CL_MEM_OBJECT_IMAGE1D_ARRAY = 0x10F5 # macro
  424. CL_MEM_OBJECT_IMAGE1D_BUFFER = 0x10F6 # macro
  425. CL_MEM_OBJECT_PIPE = 0x10F7 # macro
  426. CL_MEM_TYPE = 0x1100 # macro
  427. CL_MEM_FLAGS = 0x1101 # macro
  428. CL_MEM_SIZE = 0x1102 # macro
  429. CL_MEM_HOST_PTR = 0x1103 # macro
  430. CL_MEM_MAP_COUNT = 0x1104 # macro
  431. CL_MEM_REFERENCE_COUNT = 0x1105 # macro
  432. CL_MEM_CONTEXT = 0x1106 # macro
  433. CL_MEM_ASSOCIATED_MEMOBJECT = 0x1107 # macro
  434. CL_MEM_OFFSET = 0x1108 # macro
  435. CL_MEM_USES_SVM_POINTER = 0x1109 # macro
  436. CL_MEM_PROPERTIES = 0x110A # macro
  437. CL_IMAGE_FORMAT = 0x1110 # macro
  438. CL_IMAGE_ELEMENT_SIZE = 0x1111 # macro
  439. CL_IMAGE_ROW_PITCH = 0x1112 # macro
  440. CL_IMAGE_SLICE_PITCH = 0x1113 # macro
  441. CL_IMAGE_WIDTH = 0x1114 # macro
  442. CL_IMAGE_HEIGHT = 0x1115 # macro
  443. CL_IMAGE_DEPTH = 0x1116 # macro
  444. CL_IMAGE_ARRAY_SIZE = 0x1117 # macro
  445. CL_IMAGE_BUFFER = 0x1118 # macro
  446. CL_IMAGE_NUM_MIP_LEVELS = 0x1119 # macro
  447. CL_IMAGE_NUM_SAMPLES = 0x111A # macro
  448. CL_PIPE_PACKET_SIZE = 0x1120 # macro
  449. CL_PIPE_MAX_PACKETS = 0x1121 # macro
  450. CL_PIPE_PROPERTIES = 0x1122 # macro
  451. CL_ADDRESS_NONE = 0x1130 # macro
  452. CL_ADDRESS_CLAMP_TO_EDGE = 0x1131 # macro
  453. CL_ADDRESS_CLAMP = 0x1132 # macro
  454. CL_ADDRESS_REPEAT = 0x1133 # macro
  455. CL_ADDRESS_MIRRORED_REPEAT = 0x1134 # macro
  456. CL_FILTER_NEAREST = 0x1140 # macro
  457. CL_FILTER_LINEAR = 0x1141 # macro
  458. CL_SAMPLER_REFERENCE_COUNT = 0x1150 # macro
  459. CL_SAMPLER_CONTEXT = 0x1151 # macro
  460. CL_SAMPLER_NORMALIZED_COORDS = 0x1152 # macro
  461. CL_SAMPLER_ADDRESSING_MODE = 0x1153 # macro
  462. CL_SAMPLER_FILTER_MODE = 0x1154 # macro
  463. CL_SAMPLER_MIP_FILTER_MODE = 0x1155 # macro
  464. CL_SAMPLER_LOD_MIN = 0x1156 # macro
  465. CL_SAMPLER_LOD_MAX = 0x1157 # macro
  466. CL_SAMPLER_PROPERTIES = 0x1158 # macro
  467. CL_MAP_READ = (1<<0) # macro
  468. CL_MAP_WRITE = (1<<1) # macro
  469. CL_MAP_WRITE_INVALIDATE_REGION = (1<<2) # macro
  470. CL_PROGRAM_REFERENCE_COUNT = 0x1160 # macro
  471. CL_PROGRAM_CONTEXT = 0x1161 # macro
  472. CL_PROGRAM_NUM_DEVICES = 0x1162 # macro
  473. CL_PROGRAM_DEVICES = 0x1163 # macro
  474. CL_PROGRAM_SOURCE = 0x1164 # macro
  475. CL_PROGRAM_BINARY_SIZES = 0x1165 # macro
  476. CL_PROGRAM_BINARIES = 0x1166 # macro
  477. CL_PROGRAM_NUM_KERNELS = 0x1167 # macro
  478. CL_PROGRAM_KERNEL_NAMES = 0x1168 # macro
  479. CL_PROGRAM_IL = 0x1169 # macro
  480. CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT = 0x116A # macro
  481. CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT = 0x116B # macro
  482. CL_PROGRAM_BUILD_STATUS = 0x1181 # macro
  483. CL_PROGRAM_BUILD_OPTIONS = 0x1182 # macro
  484. CL_PROGRAM_BUILD_LOG = 0x1183 # macro
  485. CL_PROGRAM_BINARY_TYPE = 0x1184 # macro
  486. CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE = 0x1185 # macro
  487. CL_PROGRAM_BINARY_TYPE_NONE = 0x0 # macro
  488. CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT = 0x1 # macro
  489. CL_PROGRAM_BINARY_TYPE_LIBRARY = 0x2 # macro
  490. CL_PROGRAM_BINARY_TYPE_EXECUTABLE = 0x4 # macro
  491. CL_BUILD_SUCCESS = 0 # macro
  492. CL_BUILD_NONE = -1 # macro
  493. CL_BUILD_ERROR = -2 # macro
  494. CL_BUILD_IN_PROGRESS = -3 # macro
  495. CL_KERNEL_FUNCTION_NAME = 0x1190 # macro
  496. CL_KERNEL_NUM_ARGS = 0x1191 # macro
  497. CL_KERNEL_REFERENCE_COUNT = 0x1192 # macro
  498. CL_KERNEL_CONTEXT = 0x1193 # macro
  499. CL_KERNEL_PROGRAM = 0x1194 # macro
  500. CL_KERNEL_ATTRIBUTES = 0x1195 # macro
  501. CL_KERNEL_ARG_ADDRESS_QUALIFIER = 0x1196 # macro
  502. CL_KERNEL_ARG_ACCESS_QUALIFIER = 0x1197 # macro
  503. CL_KERNEL_ARG_TYPE_NAME = 0x1198 # macro
  504. CL_KERNEL_ARG_TYPE_QUALIFIER = 0x1199 # macro
  505. CL_KERNEL_ARG_NAME = 0x119A # macro
  506. CL_KERNEL_ARG_ADDRESS_GLOBAL = 0x119B # macro
  507. CL_KERNEL_ARG_ADDRESS_LOCAL = 0x119C # macro
  508. CL_KERNEL_ARG_ADDRESS_CONSTANT = 0x119D # macro
  509. CL_KERNEL_ARG_ADDRESS_PRIVATE = 0x119E # macro
  510. CL_KERNEL_ARG_ACCESS_READ_ONLY = 0x11A0 # macro
  511. CL_KERNEL_ARG_ACCESS_WRITE_ONLY = 0x11A1 # macro
  512. CL_KERNEL_ARG_ACCESS_READ_WRITE = 0x11A2 # macro
  513. CL_KERNEL_ARG_ACCESS_NONE = 0x11A3 # macro
  514. CL_KERNEL_ARG_TYPE_NONE = 0 # macro
  515. CL_KERNEL_ARG_TYPE_CONST = (1<<0) # macro
  516. CL_KERNEL_ARG_TYPE_RESTRICT = (1<<1) # macro
  517. CL_KERNEL_ARG_TYPE_VOLATILE = (1<<2) # macro
  518. CL_KERNEL_ARG_TYPE_PIPE = (1<<3) # macro
  519. CL_KERNEL_WORK_GROUP_SIZE = 0x11B0 # macro
  520. CL_KERNEL_COMPILE_WORK_GROUP_SIZE = 0x11B1 # macro
  521. CL_KERNEL_LOCAL_MEM_SIZE = 0x11B2 # macro
  522. CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE = 0x11B3 # macro
  523. CL_KERNEL_PRIVATE_MEM_SIZE = 0x11B4 # macro
  524. CL_KERNEL_GLOBAL_WORK_SIZE = 0x11B5 # macro
  525. CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE = 0x2033 # macro
  526. CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE = 0x2034 # macro
  527. CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT = 0x11B8 # macro
  528. CL_KERNEL_MAX_NUM_SUB_GROUPS = 0x11B9 # macro
  529. CL_KERNEL_COMPILE_NUM_SUB_GROUPS = 0x11BA # macro
  530. CL_KERNEL_EXEC_INFO_SVM_PTRS = 0x11B6 # macro
  531. CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM = 0x11B7 # macro
  532. CL_EVENT_COMMAND_QUEUE = 0x11D0 # macro
  533. CL_EVENT_COMMAND_TYPE = 0x11D1 # macro
  534. CL_EVENT_REFERENCE_COUNT = 0x11D2 # macro
  535. CL_EVENT_COMMAND_EXECUTION_STATUS = 0x11D3 # macro
  536. CL_EVENT_CONTEXT = 0x11D4 # macro
  537. CL_COMMAND_NDRANGE_KERNEL = 0x11F0 # macro
  538. CL_COMMAND_TASK = 0x11F1 # macro
  539. CL_COMMAND_NATIVE_KERNEL = 0x11F2 # macro
  540. CL_COMMAND_READ_BUFFER = 0x11F3 # macro
  541. CL_COMMAND_WRITE_BUFFER = 0x11F4 # macro
  542. CL_COMMAND_COPY_BUFFER = 0x11F5 # macro
  543. CL_COMMAND_READ_IMAGE = 0x11F6 # macro
  544. CL_COMMAND_WRITE_IMAGE = 0x11F7 # macro
  545. CL_COMMAND_COPY_IMAGE = 0x11F8 # macro
  546. CL_COMMAND_COPY_IMAGE_TO_BUFFER = 0x11F9 # macro
  547. CL_COMMAND_COPY_BUFFER_TO_IMAGE = 0x11FA # macro
  548. CL_COMMAND_MAP_BUFFER = 0x11FB # macro
  549. CL_COMMAND_MAP_IMAGE = 0x11FC # macro
  550. CL_COMMAND_UNMAP_MEM_OBJECT = 0x11FD # macro
  551. CL_COMMAND_MARKER = 0x11FE # macro
  552. CL_COMMAND_ACQUIRE_GL_OBJECTS = 0x11FF # macro
  553. CL_COMMAND_RELEASE_GL_OBJECTS = 0x1200 # macro
  554. CL_COMMAND_READ_BUFFER_RECT = 0x1201 # macro
  555. CL_COMMAND_WRITE_BUFFER_RECT = 0x1202 # macro
  556. CL_COMMAND_COPY_BUFFER_RECT = 0x1203 # macro
  557. CL_COMMAND_USER = 0x1204 # macro
  558. CL_COMMAND_BARRIER = 0x1205 # macro
  559. CL_COMMAND_MIGRATE_MEM_OBJECTS = 0x1206 # macro
  560. CL_COMMAND_FILL_BUFFER = 0x1207 # macro
  561. CL_COMMAND_FILL_IMAGE = 0x1208 # macro
  562. CL_COMMAND_SVM_FREE = 0x1209 # macro
  563. CL_COMMAND_SVM_MEMCPY = 0x120A # macro
  564. CL_COMMAND_SVM_MEMFILL = 0x120B # macro
  565. CL_COMMAND_SVM_MAP = 0x120C # macro
  566. CL_COMMAND_SVM_UNMAP = 0x120D # macro
  567. CL_COMMAND_SVM_MIGRATE_MEM = 0x120E # macro
  568. CL_COMPLETE = 0x0 # macro
  569. CL_RUNNING = 0x1 # macro
  570. CL_SUBMITTED = 0x2 # macro
  571. CL_QUEUED = 0x3 # macro
  572. CL_BUFFER_CREATE_TYPE_REGION = 0x1220 # macro
  573. CL_PROFILING_COMMAND_QUEUED = 0x1280 # macro
  574. CL_PROFILING_COMMAND_SUBMIT = 0x1281 # macro
  575. CL_PROFILING_COMMAND_START = 0x1282 # macro
  576. CL_PROFILING_COMMAND_END = 0x1283 # macro
  577. CL_PROFILING_COMMAND_COMPLETE = 0x1284 # macro
  578. CL_DEVICE_ATOMIC_ORDER_RELAXED = (1<<0) # macro
  579. CL_DEVICE_ATOMIC_ORDER_ACQ_REL = (1<<1) # macro
  580. CL_DEVICE_ATOMIC_ORDER_SEQ_CST = (1<<2) # macro
  581. CL_DEVICE_ATOMIC_SCOPE_WORK_ITEM = (1<<3) # macro
  582. CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP = (1<<4) # macro
  583. CL_DEVICE_ATOMIC_SCOPE_DEVICE = (1<<5) # macro
  584. CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES = (1<<6) # macro
  585. CL_DEVICE_QUEUE_SUPPORTED = (1<<0) # macro
  586. CL_DEVICE_QUEUE_REPLACEABLE_DEFAULT = (1<<1) # macro
  587. CL_KHRONOS_VENDOR_ID_CODEPLAY = 0x10004 # macro
  588. CL_VERSION_MAJOR_BITS = (10) # macro
  589. CL_VERSION_MINOR_BITS = (10) # macro
  590. CL_VERSION_PATCH_BITS = (12) # macro
  591. # CL_VERSION_MAJOR_MASK = ((1<<(10)) # macro
  592. # CL_VERSION_MINOR_MASK = ((1<<(10)) # macro
  593. # CL_VERSION_PATCH_MASK = ((1<<(12)) # macro
  594. # def CL_VERSION_MAJOR(version): # macro
  595. # return ((version)>>((10)+(12)))
  596. # def CL_VERSION_MINOR(version): # macro
  597. # return (((version)>>(12))&((1<<(10)))
  598. # def CL_VERSION_PATCH(version): # macro
  599. # return ((version)&((1<<(12)))
  600. # def CL_MAKE_VERSION(major, minor, patch): # macro
  601. # return ((((major)&((1<<(10)))<<((10)+(12)))|(((minor)&((1<<(10)))<<(12))|((patch)&((1<<(12))))
  602. class struct__cl_platform_id(Structure):
  603. pass
  604. cl_platform_id = ctypes.POINTER(struct__cl_platform_id)
  605. class struct__cl_device_id(Structure):
  606. pass
  607. cl_device_id = ctypes.POINTER(struct__cl_device_id)
  608. class struct__cl_context(Structure):
  609. pass
  610. cl_context = ctypes.POINTER(struct__cl_context)
  611. class struct__cl_command_queue(Structure):
  612. pass
  613. cl_command_queue = ctypes.POINTER(struct__cl_command_queue)
  614. class struct__cl_mem(Structure):
  615. pass
  616. cl_mem = ctypes.POINTER(struct__cl_mem)
  617. class struct__cl_program(Structure):
  618. pass
  619. cl_program = ctypes.POINTER(struct__cl_program)
  620. class struct__cl_kernel(Structure):
  621. pass
  622. cl_kernel = ctypes.POINTER(struct__cl_kernel)
  623. class struct__cl_event(Structure):
  624. pass
  625. cl_event = ctypes.POINTER(struct__cl_event)
  626. class struct__cl_sampler(Structure):
  627. pass
  628. cl_sampler = ctypes.POINTER(struct__cl_sampler)
  629. cl_bool = ctypes.c_uint32
  630. cl_bitfield = ctypes.c_uint64
  631. cl_properties = ctypes.c_uint64
  632. cl_device_type = ctypes.c_uint64
  633. cl_platform_info = ctypes.c_uint32
  634. cl_device_info = ctypes.c_uint32
  635. cl_device_fp_config = ctypes.c_uint64
  636. cl_device_mem_cache_type = ctypes.c_uint32
  637. cl_device_local_mem_type = ctypes.c_uint32
  638. cl_device_exec_capabilities = ctypes.c_uint64
  639. cl_device_svm_capabilities = ctypes.c_uint64
  640. cl_command_queue_properties = ctypes.c_uint64
  641. cl_device_partition_property = ctypes.c_int64
  642. cl_device_affinity_domain = ctypes.c_uint64
  643. cl_context_properties = ctypes.c_int64
  644. cl_context_info = ctypes.c_uint32
  645. cl_queue_properties = ctypes.c_uint64
  646. cl_command_queue_info = ctypes.c_uint32
  647. cl_channel_order = ctypes.c_uint32
  648. cl_channel_type = ctypes.c_uint32
  649. cl_mem_flags = ctypes.c_uint64
  650. cl_svm_mem_flags = ctypes.c_uint64
  651. cl_mem_object_type = ctypes.c_uint32
  652. cl_mem_info = ctypes.c_uint32
  653. cl_mem_migration_flags = ctypes.c_uint64
  654. cl_image_info = ctypes.c_uint32
  655. cl_buffer_create_type = ctypes.c_uint32
  656. cl_addressing_mode = ctypes.c_uint32
  657. cl_filter_mode = ctypes.c_uint32
  658. cl_sampler_info = ctypes.c_uint32
  659. cl_map_flags = ctypes.c_uint64
  660. cl_pipe_properties = ctypes.c_int64
  661. cl_pipe_info = ctypes.c_uint32
  662. cl_program_info = ctypes.c_uint32
  663. cl_program_build_info = ctypes.c_uint32
  664. cl_program_binary_type = ctypes.c_uint32
  665. cl_build_status = ctypes.c_int32
  666. cl_kernel_info = ctypes.c_uint32
  667. cl_kernel_arg_info = ctypes.c_uint32
  668. cl_kernel_arg_address_qualifier = ctypes.c_uint32
  669. cl_kernel_arg_access_qualifier = ctypes.c_uint32
  670. cl_kernel_arg_type_qualifier = ctypes.c_uint64
  671. cl_kernel_work_group_info = ctypes.c_uint32
  672. cl_kernel_sub_group_info = ctypes.c_uint32
  673. cl_event_info = ctypes.c_uint32
  674. cl_command_type = ctypes.c_uint32
  675. cl_profiling_info = ctypes.c_uint32
  676. cl_sampler_properties = ctypes.c_uint64
  677. cl_kernel_exec_info = ctypes.c_uint32
  678. cl_device_atomic_capabilities = ctypes.c_uint64
  679. cl_device_device_enqueue_capabilities = ctypes.c_uint64
  680. cl_khronos_vendor_id = ctypes.c_uint32
  681. cl_mem_properties = ctypes.c_uint64
  682. cl_version = ctypes.c_uint32
  683. class struct__cl_image_format(Structure):
  684. pass
  685. struct__cl_image_format._pack_ = 1 # source:False
  686. struct__cl_image_format._fields_ = [
  687. ('image_channel_order', ctypes.c_uint32),
  688. ('image_channel_data_type', ctypes.c_uint32),
  689. ]
  690. cl_image_format = struct__cl_image_format
  691. class struct__cl_image_desc(Structure):
  692. pass
  693. class union__cl_image_desc_0(Union):
  694. pass
  695. union__cl_image_desc_0._pack_ = 1 # source:False
  696. union__cl_image_desc_0._fields_ = [
  697. ('buffer', ctypes.POINTER(struct__cl_mem)),
  698. ('mem_object', ctypes.POINTER(struct__cl_mem)),
  699. ]
  700. struct__cl_image_desc._pack_ = 1 # source:False
  701. struct__cl_image_desc._anonymous_ = ('_0',)
  702. struct__cl_image_desc._fields_ = [
  703. ('image_type', ctypes.c_uint32),
  704. ('PADDING_0', ctypes.c_ubyte * 4),
  705. ('image_width', ctypes.c_uint64),
  706. ('image_height', ctypes.c_uint64),
  707. ('image_depth', ctypes.c_uint64),
  708. ('image_array_size', ctypes.c_uint64),
  709. ('image_row_pitch', ctypes.c_uint64),
  710. ('image_slice_pitch', ctypes.c_uint64),
  711. ('num_mip_levels', ctypes.c_uint32),
  712. ('num_samples', ctypes.c_uint32),
  713. ('_0', union__cl_image_desc_0),
  714. ]
  715. cl_image_desc = struct__cl_image_desc
  716. class struct__cl_buffer_region(Structure):
  717. pass
  718. struct__cl_buffer_region._pack_ = 1 # source:False
  719. struct__cl_buffer_region._fields_ = [
  720. ('origin', ctypes.c_uint64),
  721. ('size', ctypes.c_uint64),
  722. ]
  723. cl_buffer_region = struct__cl_buffer_region
  724. class struct__cl_name_version(Structure):
  725. pass
  726. struct__cl_name_version._pack_ = 1 # source:False
  727. struct__cl_name_version._fields_ = [
  728. ('version', ctypes.c_uint32),
  729. ('name', ctypes.c_char * 64),
  730. ]
  731. cl_name_version = struct__cl_name_version
  732. cl_int = ctypes.c_int32
  733. cl_uint = ctypes.c_uint32
  734. try:
  735. clGetPlatformIDs = _libraries['libOpenCL.so.1'].clGetPlatformIDs
  736. clGetPlatformIDs.restype = cl_int
  737. clGetPlatformIDs.argtypes = [cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_platform_id)), ctypes.POINTER(ctypes.c_uint32)]
  738. except AttributeError:
  739. pass
  740. size_t = ctypes.c_uint64
  741. try:
  742. clGetPlatformInfo = _libraries['libOpenCL.so.1'].clGetPlatformInfo
  743. clGetPlatformInfo.restype = cl_int
  744. clGetPlatformInfo.argtypes = [cl_platform_id, cl_platform_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  745. except AttributeError:
  746. pass
  747. try:
  748. clGetDeviceIDs = _libraries['libOpenCL.so.1'].clGetDeviceIDs
  749. clGetDeviceIDs.restype = cl_int
  750. clGetDeviceIDs.argtypes = [cl_platform_id, cl_device_type, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_uint32)]
  751. except AttributeError:
  752. pass
  753. try:
  754. clGetDeviceInfo = _libraries['libOpenCL.so.1'].clGetDeviceInfo
  755. clGetDeviceInfo.restype = cl_int
  756. clGetDeviceInfo.argtypes = [cl_device_id, cl_device_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  757. except AttributeError:
  758. pass
  759. try:
  760. clCreateSubDevices = _libraries['libOpenCL.so.1'].clCreateSubDevices
  761. clCreateSubDevices.restype = cl_int
  762. clCreateSubDevices.argtypes = [cl_device_id, ctypes.POINTER(ctypes.c_int64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_uint32)]
  763. except AttributeError:
  764. pass
  765. try:
  766. clRetainDevice = _libraries['libOpenCL.so.1'].clRetainDevice
  767. clRetainDevice.restype = cl_int
  768. clRetainDevice.argtypes = [cl_device_id]
  769. except AttributeError:
  770. pass
  771. try:
  772. clReleaseDevice = _libraries['libOpenCL.so.1'].clReleaseDevice
  773. clReleaseDevice.restype = cl_int
  774. clReleaseDevice.argtypes = [cl_device_id]
  775. except AttributeError:
  776. pass
  777. try:
  778. clSetDefaultDeviceCommandQueue = _libraries['libOpenCL.so.1'].clSetDefaultDeviceCommandQueue
  779. clSetDefaultDeviceCommandQueue.restype = cl_int
  780. clSetDefaultDeviceCommandQueue.argtypes = [cl_context, cl_device_id, cl_command_queue]
  781. except AttributeError:
  782. pass
  783. try:
  784. clGetDeviceAndHostTimer = _libraries['libOpenCL.so.1'].clGetDeviceAndHostTimer
  785. clGetDeviceAndHostTimer.restype = cl_int
  786. clGetDeviceAndHostTimer.argtypes = [cl_device_id, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64)]
  787. except AttributeError:
  788. pass
  789. try:
  790. clGetHostTimer = _libraries['libOpenCL.so.1'].clGetHostTimer
  791. clGetHostTimer.restype = cl_int
  792. clGetHostTimer.argtypes = [cl_device_id, ctypes.POINTER(ctypes.c_uint64)]
  793. except AttributeError:
  794. pass
  795. try:
  796. clCreateContext = _libraries['libOpenCL.so.1'].clCreateContext
  797. clCreateContext.restype = cl_context
  798. clCreateContext.argtypes = [ctypes.POINTER(ctypes.c_int64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None)), ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  799. except AttributeError:
  800. pass
  801. try:
  802. clCreateContextFromType = _libraries['libOpenCL.so.1'].clCreateContextFromType
  803. clCreateContextFromType.restype = cl_context
  804. clCreateContextFromType.argtypes = [ctypes.POINTER(ctypes.c_int64), cl_device_type, ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(None), ctypes.c_uint64, ctypes.POINTER(None)), ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  805. except AttributeError:
  806. pass
  807. try:
  808. clRetainContext = _libraries['libOpenCL.so.1'].clRetainContext
  809. clRetainContext.restype = cl_int
  810. clRetainContext.argtypes = [cl_context]
  811. except AttributeError:
  812. pass
  813. try:
  814. clReleaseContext = _libraries['libOpenCL.so.1'].clReleaseContext
  815. clReleaseContext.restype = cl_int
  816. clReleaseContext.argtypes = [cl_context]
  817. except AttributeError:
  818. pass
  819. try:
  820. clGetContextInfo = _libraries['libOpenCL.so.1'].clGetContextInfo
  821. clGetContextInfo.restype = cl_int
  822. clGetContextInfo.argtypes = [cl_context, cl_context_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  823. except AttributeError:
  824. pass
  825. try:
  826. clSetContextDestructorCallback = _libraries['libOpenCL.so.1'].clSetContextDestructorCallback
  827. clSetContextDestructorCallback.restype = cl_int
  828. clSetContextDestructorCallback.argtypes = [cl_context, ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_context), ctypes.POINTER(None)), ctypes.POINTER(None)]
  829. except AttributeError:
  830. pass
  831. try:
  832. clCreateCommandQueueWithProperties = _libraries['libOpenCL.so.1'].clCreateCommandQueueWithProperties
  833. clCreateCommandQueueWithProperties.restype = cl_command_queue
  834. clCreateCommandQueueWithProperties.argtypes = [cl_context, cl_device_id, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_int32)]
  835. except AttributeError:
  836. pass
  837. try:
  838. clRetainCommandQueue = _libraries['libOpenCL.so.1'].clRetainCommandQueue
  839. clRetainCommandQueue.restype = cl_int
  840. clRetainCommandQueue.argtypes = [cl_command_queue]
  841. except AttributeError:
  842. pass
  843. try:
  844. clReleaseCommandQueue = _libraries['libOpenCL.so.1'].clReleaseCommandQueue
  845. clReleaseCommandQueue.restype = cl_int
  846. clReleaseCommandQueue.argtypes = [cl_command_queue]
  847. except AttributeError:
  848. pass
  849. try:
  850. clGetCommandQueueInfo = _libraries['libOpenCL.so.1'].clGetCommandQueueInfo
  851. clGetCommandQueueInfo.restype = cl_int
  852. clGetCommandQueueInfo.argtypes = [cl_command_queue, cl_command_queue_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  853. except AttributeError:
  854. pass
  855. try:
  856. clCreateBuffer = _libraries['libOpenCL.so.1'].clCreateBuffer
  857. clCreateBuffer.restype = cl_mem
  858. clCreateBuffer.argtypes = [cl_context, cl_mem_flags, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  859. except AttributeError:
  860. pass
  861. try:
  862. clCreateSubBuffer = _libraries['libOpenCL.so.1'].clCreateSubBuffer
  863. clCreateSubBuffer.restype = cl_mem
  864. clCreateSubBuffer.argtypes = [cl_mem, cl_mem_flags, cl_buffer_create_type, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  865. except AttributeError:
  866. pass
  867. try:
  868. clCreateImage = _libraries['libOpenCL.so.1'].clCreateImage
  869. clCreateImage.restype = cl_mem
  870. clCreateImage.argtypes = [cl_context, cl_mem_flags, ctypes.POINTER(struct__cl_image_format), ctypes.POINTER(struct__cl_image_desc), ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  871. except AttributeError:
  872. pass
  873. try:
  874. clCreatePipe = _libraries['libOpenCL.so.1'].clCreatePipe
  875. clCreatePipe.restype = cl_mem
  876. clCreatePipe.argtypes = [cl_context, cl_mem_flags, cl_uint, cl_uint, ctypes.POINTER(ctypes.c_int64), ctypes.POINTER(ctypes.c_int32)]
  877. except AttributeError:
  878. pass
  879. try:
  880. clCreateBufferWithProperties = _libraries['libOpenCL.so.1'].clCreateBufferWithProperties
  881. clCreateBufferWithProperties.restype = cl_mem
  882. clCreateBufferWithProperties.argtypes = [cl_context, ctypes.POINTER(ctypes.c_uint64), cl_mem_flags, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  883. except AttributeError:
  884. pass
  885. try:
  886. clCreateImageWithProperties = _libraries['libOpenCL.so.1'].clCreateImageWithProperties
  887. clCreateImageWithProperties.restype = cl_mem
  888. clCreateImageWithProperties.argtypes = [cl_context, ctypes.POINTER(ctypes.c_uint64), cl_mem_flags, ctypes.POINTER(struct__cl_image_format), ctypes.POINTER(struct__cl_image_desc), ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  889. except AttributeError:
  890. pass
  891. try:
  892. clRetainMemObject = _libraries['libOpenCL.so.1'].clRetainMemObject
  893. clRetainMemObject.restype = cl_int
  894. clRetainMemObject.argtypes = [cl_mem]
  895. except AttributeError:
  896. pass
  897. try:
  898. clReleaseMemObject = _libraries['libOpenCL.so.1'].clReleaseMemObject
  899. clReleaseMemObject.restype = cl_int
  900. clReleaseMemObject.argtypes = [cl_mem]
  901. except AttributeError:
  902. pass
  903. try:
  904. clGetSupportedImageFormats = _libraries['libOpenCL.so.1'].clGetSupportedImageFormats
  905. clGetSupportedImageFormats.restype = cl_int
  906. clGetSupportedImageFormats.argtypes = [cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, ctypes.POINTER(struct__cl_image_format), ctypes.POINTER(ctypes.c_uint32)]
  907. except AttributeError:
  908. pass
  909. try:
  910. clGetMemObjectInfo = _libraries['libOpenCL.so.1'].clGetMemObjectInfo
  911. clGetMemObjectInfo.restype = cl_int
  912. clGetMemObjectInfo.argtypes = [cl_mem, cl_mem_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  913. except AttributeError:
  914. pass
  915. try:
  916. clGetImageInfo = _libraries['libOpenCL.so.1'].clGetImageInfo
  917. clGetImageInfo.restype = cl_int
  918. clGetImageInfo.argtypes = [cl_mem, cl_image_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  919. except AttributeError:
  920. pass
  921. try:
  922. clGetPipeInfo = _libraries['libOpenCL.so.1'].clGetPipeInfo
  923. clGetPipeInfo.restype = cl_int
  924. clGetPipeInfo.argtypes = [cl_mem, cl_pipe_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  925. except AttributeError:
  926. pass
  927. try:
  928. clSetMemObjectDestructorCallback = _libraries['libOpenCL.so.1'].clSetMemObjectDestructorCallback
  929. clSetMemObjectDestructorCallback.restype = cl_int
  930. clSetMemObjectDestructorCallback.argtypes = [cl_mem, ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_mem), ctypes.POINTER(None)), ctypes.POINTER(None)]
  931. except AttributeError:
  932. pass
  933. try:
  934. clSVMAlloc = _libraries['libOpenCL.so.1'].clSVMAlloc
  935. clSVMAlloc.restype = ctypes.POINTER(None)
  936. clSVMAlloc.argtypes = [cl_context, cl_svm_mem_flags, size_t, cl_uint]
  937. except AttributeError:
  938. pass
  939. try:
  940. clSVMFree = _libraries['libOpenCL.so.1'].clSVMFree
  941. clSVMFree.restype = None
  942. clSVMFree.argtypes = [cl_context, ctypes.POINTER(None)]
  943. except AttributeError:
  944. pass
  945. try:
  946. clCreateSamplerWithProperties = _libraries['libOpenCL.so.1'].clCreateSamplerWithProperties
  947. clCreateSamplerWithProperties.restype = cl_sampler
  948. clCreateSamplerWithProperties.argtypes = [cl_context, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_int32)]
  949. except AttributeError:
  950. pass
  951. try:
  952. clRetainSampler = _libraries['libOpenCL.so.1'].clRetainSampler
  953. clRetainSampler.restype = cl_int
  954. clRetainSampler.argtypes = [cl_sampler]
  955. except AttributeError:
  956. pass
  957. try:
  958. clReleaseSampler = _libraries['libOpenCL.so.1'].clReleaseSampler
  959. clReleaseSampler.restype = cl_int
  960. clReleaseSampler.argtypes = [cl_sampler]
  961. except AttributeError:
  962. pass
  963. try:
  964. clGetSamplerInfo = _libraries['libOpenCL.so.1'].clGetSamplerInfo
  965. clGetSamplerInfo.restype = cl_int
  966. clGetSamplerInfo.argtypes = [cl_sampler, cl_sampler_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  967. except AttributeError:
  968. pass
  969. try:
  970. clCreateProgramWithSource = _libraries['libOpenCL.so.1'].clCreateProgramWithSource
  971. clCreateProgramWithSource.restype = cl_program
  972. clCreateProgramWithSource.argtypes = [cl_context, cl_uint, ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_int32)]
  973. except AttributeError:
  974. pass
  975. try:
  976. clCreateProgramWithBinary = _libraries['libOpenCL.so.1'].clCreateProgramWithBinary
  977. clCreateProgramWithBinary.restype = cl_program
  978. clCreateProgramWithBinary.argtypes = [cl_context, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.POINTER(ctypes.c_ubyte)), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_int32)]
  979. except AttributeError:
  980. pass
  981. try:
  982. clCreateProgramWithBuiltInKernels = _libraries['libOpenCL.so.1'].clCreateProgramWithBuiltInKernels
  983. clCreateProgramWithBuiltInKernels.restype = cl_program
  984. clCreateProgramWithBuiltInKernels.argtypes = [cl_context, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_int32)]
  985. except AttributeError:
  986. pass
  987. try:
  988. clCreateProgramWithIL = _libraries['libOpenCL.so.1'].clCreateProgramWithIL
  989. clCreateProgramWithIL.restype = cl_program
  990. clCreateProgramWithIL.argtypes = [cl_context, ctypes.POINTER(None), size_t, ctypes.POINTER(ctypes.c_int32)]
  991. except AttributeError:
  992. pass
  993. try:
  994. clRetainProgram = _libraries['libOpenCL.so.1'].clRetainProgram
  995. clRetainProgram.restype = cl_int
  996. clRetainProgram.argtypes = [cl_program]
  997. except AttributeError:
  998. pass
  999. try:
  1000. clReleaseProgram = _libraries['libOpenCL.so.1'].clReleaseProgram
  1001. clReleaseProgram.restype = cl_int
  1002. clReleaseProgram.argtypes = [cl_program]
  1003. except AttributeError:
  1004. pass
  1005. try:
  1006. clBuildProgram = _libraries['libOpenCL.so.1'].clBuildProgram
  1007. clBuildProgram.restype = cl_int
  1008. clBuildProgram.argtypes = [cl_program, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_char), ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_program), ctypes.POINTER(None)), ctypes.POINTER(None)]
  1009. except AttributeError:
  1010. pass
  1011. try:
  1012. clCompileProgram = _libraries['libOpenCL.so.1'].clCompileProgram
  1013. clCompileProgram.restype = cl_int
  1014. clCompileProgram.argtypes = [cl_program, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_char), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_program)), ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_program), ctypes.POINTER(None)), ctypes.POINTER(None)]
  1015. except AttributeError:
  1016. pass
  1017. try:
  1018. clLinkProgram = _libraries['libOpenCL.so.1'].clLinkProgram
  1019. clLinkProgram.restype = cl_program
  1020. clLinkProgram.argtypes = [cl_context, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_device_id)), ctypes.POINTER(ctypes.c_char), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_program)), ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_program), ctypes.POINTER(None)), ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  1021. except AttributeError:
  1022. pass
  1023. try:
  1024. clSetProgramReleaseCallback = _libraries['libOpenCL.so.1'].clSetProgramReleaseCallback
  1025. clSetProgramReleaseCallback.restype = cl_int
  1026. clSetProgramReleaseCallback.argtypes = [cl_program, ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_program), ctypes.POINTER(None)), ctypes.POINTER(None)]
  1027. except AttributeError:
  1028. pass
  1029. try:
  1030. clSetProgramSpecializationConstant = _libraries['libOpenCL.so.1'].clSetProgramSpecializationConstant
  1031. clSetProgramSpecializationConstant.restype = cl_int
  1032. clSetProgramSpecializationConstant.argtypes = [cl_program, cl_uint, size_t, ctypes.POINTER(None)]
  1033. except AttributeError:
  1034. pass
  1035. try:
  1036. clUnloadPlatformCompiler = _libraries['libOpenCL.so.1'].clUnloadPlatformCompiler
  1037. clUnloadPlatformCompiler.restype = cl_int
  1038. clUnloadPlatformCompiler.argtypes = [cl_platform_id]
  1039. except AttributeError:
  1040. pass
  1041. try:
  1042. clGetProgramInfo = _libraries['libOpenCL.so.1'].clGetProgramInfo
  1043. clGetProgramInfo.restype = cl_int
  1044. clGetProgramInfo.argtypes = [cl_program, cl_program_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1045. except AttributeError:
  1046. pass
  1047. try:
  1048. clGetProgramBuildInfo = _libraries['libOpenCL.so.1'].clGetProgramBuildInfo
  1049. clGetProgramBuildInfo.restype = cl_int
  1050. clGetProgramBuildInfo.argtypes = [cl_program, cl_device_id, cl_program_build_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1051. except AttributeError:
  1052. pass
  1053. try:
  1054. clCreateKernel = _libraries['libOpenCL.so.1'].clCreateKernel
  1055. clCreateKernel.restype = cl_kernel
  1056. clCreateKernel.argtypes = [cl_program, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_int32)]
  1057. except AttributeError:
  1058. pass
  1059. try:
  1060. clCreateKernelsInProgram = _libraries['libOpenCL.so.1'].clCreateKernelsInProgram
  1061. clCreateKernelsInProgram.restype = cl_int
  1062. clCreateKernelsInProgram.argtypes = [cl_program, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_kernel)), ctypes.POINTER(ctypes.c_uint32)]
  1063. except AttributeError:
  1064. pass
  1065. try:
  1066. clCloneKernel = _libraries['libOpenCL.so.1'].clCloneKernel
  1067. clCloneKernel.restype = cl_kernel
  1068. clCloneKernel.argtypes = [cl_kernel, ctypes.POINTER(ctypes.c_int32)]
  1069. except AttributeError:
  1070. pass
  1071. try:
  1072. clRetainKernel = _libraries['libOpenCL.so.1'].clRetainKernel
  1073. clRetainKernel.restype = cl_int
  1074. clRetainKernel.argtypes = [cl_kernel]
  1075. except AttributeError:
  1076. pass
  1077. try:
  1078. clReleaseKernel = _libraries['libOpenCL.so.1'].clReleaseKernel
  1079. clReleaseKernel.restype = cl_int
  1080. clReleaseKernel.argtypes = [cl_kernel]
  1081. except AttributeError:
  1082. pass
  1083. try:
  1084. clSetKernelArg = _libraries['libOpenCL.so.1'].clSetKernelArg
  1085. clSetKernelArg.restype = cl_int
  1086. clSetKernelArg.argtypes = [cl_kernel, cl_uint, size_t, ctypes.POINTER(None)]
  1087. except AttributeError:
  1088. pass
  1089. try:
  1090. clSetKernelArgSVMPointer = _libraries['libOpenCL.so.1'].clSetKernelArgSVMPointer
  1091. clSetKernelArgSVMPointer.restype = cl_int
  1092. clSetKernelArgSVMPointer.argtypes = [cl_kernel, cl_uint, ctypes.POINTER(None)]
  1093. except AttributeError:
  1094. pass
  1095. try:
  1096. clSetKernelExecInfo = _libraries['libOpenCL.so.1'].clSetKernelExecInfo
  1097. clSetKernelExecInfo.restype = cl_int
  1098. clSetKernelExecInfo.argtypes = [cl_kernel, cl_kernel_exec_info, size_t, ctypes.POINTER(None)]
  1099. except AttributeError:
  1100. pass
  1101. try:
  1102. clGetKernelInfo = _libraries['libOpenCL.so.1'].clGetKernelInfo
  1103. clGetKernelInfo.restype = cl_int
  1104. clGetKernelInfo.argtypes = [cl_kernel, cl_kernel_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1105. except AttributeError:
  1106. pass
  1107. try:
  1108. clGetKernelArgInfo = _libraries['libOpenCL.so.1'].clGetKernelArgInfo
  1109. clGetKernelArgInfo.restype = cl_int
  1110. clGetKernelArgInfo.argtypes = [cl_kernel, cl_uint, cl_kernel_arg_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1111. except AttributeError:
  1112. pass
  1113. try:
  1114. clGetKernelWorkGroupInfo = _libraries['libOpenCL.so.1'].clGetKernelWorkGroupInfo
  1115. clGetKernelWorkGroupInfo.restype = cl_int
  1116. clGetKernelWorkGroupInfo.argtypes = [cl_kernel, cl_device_id, cl_kernel_work_group_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1117. except AttributeError:
  1118. pass
  1119. try:
  1120. clGetKernelSubGroupInfo = _libraries['libOpenCL.so.1'].clGetKernelSubGroupInfo
  1121. clGetKernelSubGroupInfo.restype = cl_int
  1122. clGetKernelSubGroupInfo.argtypes = [cl_kernel, cl_device_id, cl_kernel_sub_group_info, size_t, ctypes.POINTER(None), size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1123. except AttributeError:
  1124. pass
  1125. try:
  1126. clWaitForEvents = _libraries['libOpenCL.so.1'].clWaitForEvents
  1127. clWaitForEvents.restype = cl_int
  1128. clWaitForEvents.argtypes = [cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1129. except AttributeError:
  1130. pass
  1131. try:
  1132. clGetEventInfo = _libraries['libOpenCL.so.1'].clGetEventInfo
  1133. clGetEventInfo.restype = cl_int
  1134. clGetEventInfo.argtypes = [cl_event, cl_event_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1135. except AttributeError:
  1136. pass
  1137. try:
  1138. clCreateUserEvent = _libraries['libOpenCL.so.1'].clCreateUserEvent
  1139. clCreateUserEvent.restype = cl_event
  1140. clCreateUserEvent.argtypes = [cl_context, ctypes.POINTER(ctypes.c_int32)]
  1141. except AttributeError:
  1142. pass
  1143. try:
  1144. clRetainEvent = _libraries['libOpenCL.so.1'].clRetainEvent
  1145. clRetainEvent.restype = cl_int
  1146. clRetainEvent.argtypes = [cl_event]
  1147. except AttributeError:
  1148. pass
  1149. try:
  1150. clReleaseEvent = _libraries['libOpenCL.so.1'].clReleaseEvent
  1151. clReleaseEvent.restype = cl_int
  1152. clReleaseEvent.argtypes = [cl_event]
  1153. except AttributeError:
  1154. pass
  1155. try:
  1156. clSetUserEventStatus = _libraries['libOpenCL.so.1'].clSetUserEventStatus
  1157. clSetUserEventStatus.restype = cl_int
  1158. clSetUserEventStatus.argtypes = [cl_event, cl_int]
  1159. except AttributeError:
  1160. pass
  1161. try:
  1162. clSetEventCallback = _libraries['libOpenCL.so.1'].clSetEventCallback
  1163. clSetEventCallback.restype = cl_int
  1164. clSetEventCallback.argtypes = [cl_event, cl_int, ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_event), ctypes.c_int32, ctypes.POINTER(None)), ctypes.POINTER(None)]
  1165. except AttributeError:
  1166. pass
  1167. try:
  1168. clGetEventProfilingInfo = _libraries['libOpenCL.so.1'].clGetEventProfilingInfo
  1169. clGetEventProfilingInfo.restype = cl_int
  1170. clGetEventProfilingInfo.argtypes = [cl_event, cl_profiling_info, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
  1171. except AttributeError:
  1172. pass
  1173. try:
  1174. clFlush = _libraries['libOpenCL.so.1'].clFlush
  1175. clFlush.restype = cl_int
  1176. clFlush.argtypes = [cl_command_queue]
  1177. except AttributeError:
  1178. pass
  1179. try:
  1180. clFinish = _libraries['libOpenCL.so.1'].clFinish
  1181. clFinish.restype = cl_int
  1182. clFinish.argtypes = [cl_command_queue]
  1183. except AttributeError:
  1184. pass
  1185. try:
  1186. clEnqueueReadBuffer = _libraries['libOpenCL.so.1'].clEnqueueReadBuffer
  1187. clEnqueueReadBuffer.restype = cl_int
  1188. clEnqueueReadBuffer.argtypes = [cl_command_queue, cl_mem, cl_bool, size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1189. except AttributeError:
  1190. pass
  1191. try:
  1192. clEnqueueReadBufferRect = _libraries['libOpenCL.so.1'].clEnqueueReadBufferRect
  1193. clEnqueueReadBufferRect.restype = cl_int
  1194. clEnqueueReadBufferRect.argtypes = [cl_command_queue, cl_mem, cl_bool, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, size_t, size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1195. except AttributeError:
  1196. pass
  1197. try:
  1198. clEnqueueWriteBuffer = _libraries['libOpenCL.so.1'].clEnqueueWriteBuffer
  1199. clEnqueueWriteBuffer.restype = cl_int
  1200. clEnqueueWriteBuffer.argtypes = [cl_command_queue, cl_mem, cl_bool, size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1201. except AttributeError:
  1202. pass
  1203. try:
  1204. clEnqueueWriteBufferRect = _libraries['libOpenCL.so.1'].clEnqueueWriteBufferRect
  1205. clEnqueueWriteBufferRect.restype = cl_int
  1206. clEnqueueWriteBufferRect.argtypes = [cl_command_queue, cl_mem, cl_bool, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, size_t, size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1207. except AttributeError:
  1208. pass
  1209. try:
  1210. clEnqueueFillBuffer = _libraries['libOpenCL.so.1'].clEnqueueFillBuffer
  1211. clEnqueueFillBuffer.restype = cl_int
  1212. clEnqueueFillBuffer.argtypes = [cl_command_queue, cl_mem, ctypes.POINTER(None), size_t, size_t, size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1213. except AttributeError:
  1214. pass
  1215. try:
  1216. clEnqueueCopyBuffer = _libraries['libOpenCL.so.1'].clEnqueueCopyBuffer
  1217. clEnqueueCopyBuffer.restype = cl_int
  1218. clEnqueueCopyBuffer.argtypes = [cl_command_queue, cl_mem, cl_mem, size_t, size_t, size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1219. except AttributeError:
  1220. pass
  1221. try:
  1222. clEnqueueCopyBufferRect = _libraries['libOpenCL.so.1'].clEnqueueCopyBufferRect
  1223. clEnqueueCopyBufferRect.restype = cl_int
  1224. clEnqueueCopyBufferRect.argtypes = [cl_command_queue, cl_mem, cl_mem, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, size_t, size_t, size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1225. except AttributeError:
  1226. pass
  1227. try:
  1228. clEnqueueReadImage = _libraries['libOpenCL.so.1'].clEnqueueReadImage
  1229. clEnqueueReadImage.restype = cl_int
  1230. clEnqueueReadImage.argtypes = [cl_command_queue, cl_mem, cl_bool, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1231. except AttributeError:
  1232. pass
  1233. try:
  1234. clEnqueueWriteImage = _libraries['libOpenCL.so.1'].clEnqueueWriteImage
  1235. clEnqueueWriteImage.restype = cl_int
  1236. clEnqueueWriteImage.argtypes = [cl_command_queue, cl_mem, cl_bool, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, size_t, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1237. except AttributeError:
  1238. pass
  1239. try:
  1240. clEnqueueFillImage = _libraries['libOpenCL.so.1'].clEnqueueFillImage
  1241. clEnqueueFillImage.restype = cl_int
  1242. clEnqueueFillImage.argtypes = [cl_command_queue, cl_mem, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1243. except AttributeError:
  1244. pass
  1245. try:
  1246. clEnqueueCopyImage = _libraries['libOpenCL.so.1'].clEnqueueCopyImage
  1247. clEnqueueCopyImage.restype = cl_int
  1248. clEnqueueCopyImage.argtypes = [cl_command_queue, cl_mem, cl_mem, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1249. except AttributeError:
  1250. pass
  1251. try:
  1252. clEnqueueCopyImageToBuffer = _libraries['libOpenCL.so.1'].clEnqueueCopyImageToBuffer
  1253. clEnqueueCopyImageToBuffer.restype = cl_int
  1254. clEnqueueCopyImageToBuffer.argtypes = [cl_command_queue, cl_mem, cl_mem, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1255. except AttributeError:
  1256. pass
  1257. try:
  1258. clEnqueueCopyBufferToImage = _libraries['libOpenCL.so.1'].clEnqueueCopyBufferToImage
  1259. clEnqueueCopyBufferToImage.restype = cl_int
  1260. clEnqueueCopyBufferToImage.argtypes = [cl_command_queue, cl_mem, cl_mem, size_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1261. except AttributeError:
  1262. pass
  1263. try:
  1264. clEnqueueMapBuffer = _libraries['libOpenCL.so.1'].clEnqueueMapBuffer
  1265. clEnqueueMapBuffer.restype = ctypes.POINTER(None)
  1266. clEnqueueMapBuffer.argtypes = [cl_command_queue, cl_mem, cl_bool, cl_map_flags, size_t, size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.c_int32)]
  1267. except AttributeError:
  1268. pass
  1269. try:
  1270. clEnqueueMapImage = _libraries['libOpenCL.so.1'].clEnqueueMapImage
  1271. clEnqueueMapImage.restype = ctypes.POINTER(None)
  1272. clEnqueueMapImage.argtypes = [cl_command_queue, cl_mem, cl_bool, cl_map_flags, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.c_int32)]
  1273. except AttributeError:
  1274. pass
  1275. try:
  1276. clEnqueueUnmapMemObject = _libraries['libOpenCL.so.1'].clEnqueueUnmapMemObject
  1277. clEnqueueUnmapMemObject.restype = cl_int
  1278. clEnqueueUnmapMemObject.argtypes = [cl_command_queue, cl_mem, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1279. except AttributeError:
  1280. pass
  1281. try:
  1282. clEnqueueMigrateMemObjects = _libraries['libOpenCL.so.1'].clEnqueueMigrateMemObjects
  1283. clEnqueueMigrateMemObjects.restype = cl_int
  1284. clEnqueueMigrateMemObjects.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_mem)), cl_mem_migration_flags, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1285. except AttributeError:
  1286. pass
  1287. try:
  1288. clEnqueueNDRangeKernel = _libraries['libOpenCL.so.1'].clEnqueueNDRangeKernel
  1289. clEnqueueNDRangeKernel.restype = cl_int
  1290. clEnqueueNDRangeKernel.argtypes = [cl_command_queue, cl_kernel, cl_uint, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1291. except AttributeError:
  1292. pass
  1293. try:
  1294. clEnqueueNativeKernel = _libraries['libOpenCL.so.1'].clEnqueueNativeKernel
  1295. clEnqueueNativeKernel.restype = cl_int
  1296. clEnqueueNativeKernel.argtypes = [cl_command_queue, ctypes.CFUNCTYPE(None, ctypes.POINTER(None)), ctypes.POINTER(None), size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_mem)), ctypes.POINTER(ctypes.POINTER(None)), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1297. except AttributeError:
  1298. pass
  1299. try:
  1300. clEnqueueMarkerWithWaitList = _libraries['libOpenCL.so.1'].clEnqueueMarkerWithWaitList
  1301. clEnqueueMarkerWithWaitList.restype = cl_int
  1302. clEnqueueMarkerWithWaitList.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1303. except AttributeError:
  1304. pass
  1305. try:
  1306. clEnqueueBarrierWithWaitList = _libraries['libOpenCL.so.1'].clEnqueueBarrierWithWaitList
  1307. clEnqueueBarrierWithWaitList.restype = cl_int
  1308. clEnqueueBarrierWithWaitList.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1309. except AttributeError:
  1310. pass
  1311. try:
  1312. clEnqueueSVMFree = _libraries['libOpenCL.so.1'].clEnqueueSVMFree
  1313. clEnqueueSVMFree.restype = cl_int
  1314. clEnqueueSVMFree.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(None) * 0, ctypes.CFUNCTYPE(None, ctypes.POINTER(struct__cl_command_queue), ctypes.c_uint32, ctypes.POINTER(ctypes.POINTER(None)), ctypes.POINTER(None)), ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1315. except AttributeError:
  1316. pass
  1317. try:
  1318. clEnqueueSVMMemcpy = _libraries['libOpenCL.so.1'].clEnqueueSVMMemcpy
  1319. clEnqueueSVMMemcpy.restype = cl_int
  1320. clEnqueueSVMMemcpy.argtypes = [cl_command_queue, cl_bool, ctypes.POINTER(None), ctypes.POINTER(None), size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1321. except AttributeError:
  1322. pass
  1323. try:
  1324. clEnqueueSVMMemFill = _libraries['libOpenCL.so.1'].clEnqueueSVMMemFill
  1325. clEnqueueSVMMemFill.restype = cl_int
  1326. clEnqueueSVMMemFill.argtypes = [cl_command_queue, ctypes.POINTER(None), ctypes.POINTER(None), size_t, size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1327. except AttributeError:
  1328. pass
  1329. try:
  1330. clEnqueueSVMMap = _libraries['libOpenCL.so.1'].clEnqueueSVMMap
  1331. clEnqueueSVMMap.restype = cl_int
  1332. clEnqueueSVMMap.argtypes = [cl_command_queue, cl_bool, cl_map_flags, ctypes.POINTER(None), size_t, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1333. except AttributeError:
  1334. pass
  1335. try:
  1336. clEnqueueSVMUnmap = _libraries['libOpenCL.so.1'].clEnqueueSVMUnmap
  1337. clEnqueueSVMUnmap.restype = cl_int
  1338. clEnqueueSVMUnmap.argtypes = [cl_command_queue, ctypes.POINTER(None), cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1339. except AttributeError:
  1340. pass
  1341. try:
  1342. clEnqueueSVMMigrateMem = _libraries['libOpenCL.so.1'].clEnqueueSVMMigrateMem
  1343. clEnqueueSVMMigrateMem.restype = cl_int
  1344. clEnqueueSVMMigrateMem.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(ctypes.POINTER(None)), ctypes.POINTER(ctypes.c_uint64), cl_mem_migration_flags, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1345. except AttributeError:
  1346. pass
  1347. try:
  1348. clGetExtensionFunctionAddressForPlatform = _libraries['libOpenCL.so.1'].clGetExtensionFunctionAddressForPlatform
  1349. clGetExtensionFunctionAddressForPlatform.restype = ctypes.POINTER(None)
  1350. clGetExtensionFunctionAddressForPlatform.argtypes = [cl_platform_id, ctypes.POINTER(ctypes.c_char)]
  1351. except AttributeError:
  1352. pass
  1353. try:
  1354. clCreateImage2D = _libraries['libOpenCL.so.1'].clCreateImage2D
  1355. clCreateImage2D.restype = cl_mem
  1356. clCreateImage2D.argtypes = [cl_context, cl_mem_flags, ctypes.POINTER(struct__cl_image_format), size_t, size_t, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  1357. except AttributeError:
  1358. pass
  1359. try:
  1360. clCreateImage3D = _libraries['libOpenCL.so.1'].clCreateImage3D
  1361. clCreateImage3D.restype = cl_mem
  1362. clCreateImage3D.argtypes = [cl_context, cl_mem_flags, ctypes.POINTER(struct__cl_image_format), size_t, size_t, size_t, size_t, size_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_int32)]
  1363. except AttributeError:
  1364. pass
  1365. try:
  1366. clEnqueueMarker = _libraries['libOpenCL.so.1'].clEnqueueMarker
  1367. clEnqueueMarker.restype = cl_int
  1368. clEnqueueMarker.argtypes = [cl_command_queue, ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1369. except AttributeError:
  1370. pass
  1371. try:
  1372. clEnqueueWaitForEvents = _libraries['libOpenCL.so.1'].clEnqueueWaitForEvents
  1373. clEnqueueWaitForEvents.restype = cl_int
  1374. clEnqueueWaitForEvents.argtypes = [cl_command_queue, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1375. except AttributeError:
  1376. pass
  1377. try:
  1378. clEnqueueBarrier = _libraries['libOpenCL.so.1'].clEnqueueBarrier
  1379. clEnqueueBarrier.restype = cl_int
  1380. clEnqueueBarrier.argtypes = [cl_command_queue]
  1381. except AttributeError:
  1382. pass
  1383. try:
  1384. clUnloadCompiler = _libraries['libOpenCL.so.1'].clUnloadCompiler
  1385. clUnloadCompiler.restype = cl_int
  1386. clUnloadCompiler.argtypes = []
  1387. except AttributeError:
  1388. pass
  1389. try:
  1390. clGetExtensionFunctionAddress = _libraries['libOpenCL.so.1'].clGetExtensionFunctionAddress
  1391. clGetExtensionFunctionAddress.restype = ctypes.POINTER(None)
  1392. clGetExtensionFunctionAddress.argtypes = [ctypes.POINTER(ctypes.c_char)]
  1393. except AttributeError:
  1394. pass
  1395. try:
  1396. clCreateCommandQueue = _libraries['libOpenCL.so.1'].clCreateCommandQueue
  1397. clCreateCommandQueue.restype = cl_command_queue
  1398. clCreateCommandQueue.argtypes = [cl_context, cl_device_id, cl_command_queue_properties, ctypes.POINTER(ctypes.c_int32)]
  1399. except AttributeError:
  1400. pass
  1401. try:
  1402. clCreateSampler = _libraries['libOpenCL.so.1'].clCreateSampler
  1403. clCreateSampler.restype = cl_sampler
  1404. clCreateSampler.argtypes = [cl_context, cl_bool, cl_addressing_mode, cl_filter_mode, ctypes.POINTER(ctypes.c_int32)]
  1405. except AttributeError:
  1406. pass
  1407. try:
  1408. clEnqueueTask = _libraries['libOpenCL.so.1'].clEnqueueTask
  1409. clEnqueueTask.restype = cl_int
  1410. clEnqueueTask.argtypes = [cl_command_queue, cl_kernel, cl_uint, ctypes.POINTER(ctypes.POINTER(struct__cl_event)), ctypes.POINTER(ctypes.POINTER(struct__cl_event))]
  1411. except AttributeError:
  1412. pass
  1413. __all__ = \
  1414. ['CL_A', 'CL_ABGR', 'CL_ADDRESS_CLAMP',
  1415. 'CL_ADDRESS_CLAMP_TO_EDGE', 'CL_ADDRESS_MIRRORED_REPEAT',
  1416. 'CL_ADDRESS_NONE', 'CL_ADDRESS_REPEAT', 'CL_ARGB', 'CL_BGRA',
  1417. 'CL_BLOCKING', 'CL_BUFFER_CREATE_TYPE_REGION', 'CL_BUILD_ERROR',
  1418. 'CL_BUILD_IN_PROGRESS', 'CL_BUILD_NONE',
  1419. 'CL_BUILD_PROGRAM_FAILURE', 'CL_BUILD_SUCCESS',
  1420. 'CL_COMMAND_ACQUIRE_GL_OBJECTS', 'CL_COMMAND_BARRIER',
  1421. 'CL_COMMAND_COPY_BUFFER', 'CL_COMMAND_COPY_BUFFER_RECT',
  1422. 'CL_COMMAND_COPY_BUFFER_TO_IMAGE', 'CL_COMMAND_COPY_IMAGE',
  1423. 'CL_COMMAND_COPY_IMAGE_TO_BUFFER', 'CL_COMMAND_FILL_BUFFER',
  1424. 'CL_COMMAND_FILL_IMAGE', 'CL_COMMAND_MAP_BUFFER',
  1425. 'CL_COMMAND_MAP_IMAGE', 'CL_COMMAND_MARKER',
  1426. 'CL_COMMAND_MIGRATE_MEM_OBJECTS', 'CL_COMMAND_NATIVE_KERNEL',
  1427. 'CL_COMMAND_NDRANGE_KERNEL', 'CL_COMMAND_READ_BUFFER',
  1428. 'CL_COMMAND_READ_BUFFER_RECT', 'CL_COMMAND_READ_IMAGE',
  1429. 'CL_COMMAND_RELEASE_GL_OBJECTS', 'CL_COMMAND_SVM_FREE',
  1430. 'CL_COMMAND_SVM_MAP', 'CL_COMMAND_SVM_MEMCPY',
  1431. 'CL_COMMAND_SVM_MEMFILL', 'CL_COMMAND_SVM_MIGRATE_MEM',
  1432. 'CL_COMMAND_SVM_UNMAP', 'CL_COMMAND_TASK',
  1433. 'CL_COMMAND_UNMAP_MEM_OBJECT', 'CL_COMMAND_USER',
  1434. 'CL_COMMAND_WRITE_BUFFER', 'CL_COMMAND_WRITE_BUFFER_RECT',
  1435. 'CL_COMMAND_WRITE_IMAGE', 'CL_COMPILER_NOT_AVAILABLE',
  1436. 'CL_COMPILE_PROGRAM_FAILURE', 'CL_COMPLETE', 'CL_CONTEXT_DEVICES',
  1437. 'CL_CONTEXT_INTEROP_USER_SYNC', 'CL_CONTEXT_NUM_DEVICES',
  1438. 'CL_CONTEXT_PLATFORM', 'CL_CONTEXT_PROPERTIES',
  1439. 'CL_CONTEXT_REFERENCE_COUNT', 'CL_DEPTH', 'CL_DEPTH_STENCIL',
  1440. 'CL_DEVICE_ADDRESS_BITS', 'CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE',
  1441. 'CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE',
  1442. 'CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE',
  1443. 'CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE',
  1444. 'CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE',
  1445. 'CL_DEVICE_AFFINITY_DOMAIN_NUMA',
  1446. 'CL_DEVICE_ATOMIC_FENCE_CAPABILITIES',
  1447. 'CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES',
  1448. 'CL_DEVICE_ATOMIC_ORDER_ACQ_REL',
  1449. 'CL_DEVICE_ATOMIC_ORDER_RELAXED',
  1450. 'CL_DEVICE_ATOMIC_ORDER_SEQ_CST',
  1451. 'CL_DEVICE_ATOMIC_SCOPE_ALL_DEVICES',
  1452. 'CL_DEVICE_ATOMIC_SCOPE_DEVICE',
  1453. 'CL_DEVICE_ATOMIC_SCOPE_WORK_GROUP',
  1454. 'CL_DEVICE_ATOMIC_SCOPE_WORK_ITEM', 'CL_DEVICE_AVAILABLE',
  1455. 'CL_DEVICE_BUILT_IN_KERNELS',
  1456. 'CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION',
  1457. 'CL_DEVICE_COMPILER_AVAILABLE',
  1458. 'CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES',
  1459. 'CL_DEVICE_DOUBLE_FP_CONFIG', 'CL_DEVICE_ENDIAN_LITTLE',
  1460. 'CL_DEVICE_ERROR_CORRECTION_SUPPORT',
  1461. 'CL_DEVICE_EXECUTION_CAPABILITIES', 'CL_DEVICE_EXTENSIONS',
  1462. 'CL_DEVICE_EXTENSIONS_WITH_VERSION',
  1463. 'CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT',
  1464. 'CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE',
  1465. 'CL_DEVICE_GLOBAL_MEM_CACHE_SIZE',
  1466. 'CL_DEVICE_GLOBAL_MEM_CACHE_TYPE', 'CL_DEVICE_GLOBAL_MEM_SIZE',
  1467. 'CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE',
  1468. 'CL_DEVICE_HOST_UNIFIED_MEMORY', 'CL_DEVICE_ILS_WITH_VERSION',
  1469. 'CL_DEVICE_IL_VERSION', 'CL_DEVICE_IMAGE2D_MAX_HEIGHT',
  1470. 'CL_DEVICE_IMAGE2D_MAX_WIDTH', 'CL_DEVICE_IMAGE3D_MAX_DEPTH',
  1471. 'CL_DEVICE_IMAGE3D_MAX_HEIGHT', 'CL_DEVICE_IMAGE3D_MAX_WIDTH',
  1472. 'CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT',
  1473. 'CL_DEVICE_IMAGE_MAX_ARRAY_SIZE',
  1474. 'CL_DEVICE_IMAGE_MAX_BUFFER_SIZE',
  1475. 'CL_DEVICE_IMAGE_PITCH_ALIGNMENT', 'CL_DEVICE_IMAGE_SUPPORT',
  1476. 'CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED',
  1477. 'CL_DEVICE_LINKER_AVAILABLE', 'CL_DEVICE_LOCAL_MEM_SIZE',
  1478. 'CL_DEVICE_LOCAL_MEM_TYPE', 'CL_DEVICE_MAX_CLOCK_FREQUENCY',
  1479. 'CL_DEVICE_MAX_COMPUTE_UNITS', 'CL_DEVICE_MAX_CONSTANT_ARGS',
  1480. 'CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE',
  1481. 'CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE',
  1482. 'CL_DEVICE_MAX_MEM_ALLOC_SIZE', 'CL_DEVICE_MAX_NUM_SUB_GROUPS',
  1483. 'CL_DEVICE_MAX_ON_DEVICE_EVENTS',
  1484. 'CL_DEVICE_MAX_ON_DEVICE_QUEUES', 'CL_DEVICE_MAX_PARAMETER_SIZE',
  1485. 'CL_DEVICE_MAX_PIPE_ARGS', 'CL_DEVICE_MAX_READ_IMAGE_ARGS',
  1486. 'CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS', 'CL_DEVICE_MAX_SAMPLERS',
  1487. 'CL_DEVICE_MAX_WORK_GROUP_SIZE',
  1488. 'CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS',
  1489. 'CL_DEVICE_MAX_WORK_ITEM_SIZES', 'CL_DEVICE_MAX_WRITE_IMAGE_ARGS',
  1490. 'CL_DEVICE_MEM_BASE_ADDR_ALIGN',
  1491. 'CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE', 'CL_DEVICE_NAME',
  1492. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR',
  1493. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE',
  1494. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT',
  1495. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF',
  1496. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_INT',
  1497. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG',
  1498. 'CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT',
  1499. 'CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT',
  1500. 'CL_DEVICE_NOT_AVAILABLE', 'CL_DEVICE_NOT_FOUND',
  1501. 'CL_DEVICE_NUMERIC_VERSION', 'CL_DEVICE_OPENCL_C_ALL_VERSIONS',
  1502. 'CL_DEVICE_OPENCL_C_FEATURES', 'CL_DEVICE_OPENCL_C_VERSION',
  1503. 'CL_DEVICE_PARENT_DEVICE', 'CL_DEVICE_PARTITION_AFFINITY_DOMAIN',
  1504. 'CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN',
  1505. 'CL_DEVICE_PARTITION_BY_COUNTS',
  1506. 'CL_DEVICE_PARTITION_BY_COUNTS_LIST_END',
  1507. 'CL_DEVICE_PARTITION_EQUALLY', 'CL_DEVICE_PARTITION_FAILED',
  1508. 'CL_DEVICE_PARTITION_MAX_SUB_DEVICES',
  1509. 'CL_DEVICE_PARTITION_PROPERTIES', 'CL_DEVICE_PARTITION_TYPE',
  1510. 'CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS',
  1511. 'CL_DEVICE_PIPE_MAX_PACKET_SIZE', 'CL_DEVICE_PIPE_SUPPORT',
  1512. 'CL_DEVICE_PLATFORM',
  1513. 'CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT',
  1514. 'CL_DEVICE_PREFERRED_INTEROP_USER_SYNC',
  1515. 'CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT',
  1516. 'CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT',
  1517. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR',
  1518. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE',
  1519. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT',
  1520. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF',
  1521. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT',
  1522. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG',
  1523. 'CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT',
  1524. 'CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE',
  1525. 'CL_DEVICE_PRINTF_BUFFER_SIZE', 'CL_DEVICE_PROFILE',
  1526. 'CL_DEVICE_PROFILING_TIMER_RESOLUTION',
  1527. 'CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE',
  1528. 'CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE',
  1529. 'CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES',
  1530. 'CL_DEVICE_QUEUE_ON_HOST_PROPERTIES',
  1531. 'CL_DEVICE_QUEUE_PROPERTIES',
  1532. 'CL_DEVICE_QUEUE_REPLACEABLE_DEFAULT',
  1533. 'CL_DEVICE_QUEUE_SUPPORTED', 'CL_DEVICE_REFERENCE_COUNT',
  1534. 'CL_DEVICE_SINGLE_FP_CONFIG',
  1535. 'CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS',
  1536. 'CL_DEVICE_SVM_ATOMICS', 'CL_DEVICE_SVM_CAPABILITIES',
  1537. 'CL_DEVICE_SVM_COARSE_GRAIN_BUFFER',
  1538. 'CL_DEVICE_SVM_FINE_GRAIN_BUFFER',
  1539. 'CL_DEVICE_SVM_FINE_GRAIN_SYSTEM', 'CL_DEVICE_TYPE',
  1540. 'CL_DEVICE_TYPE_ACCELERATOR', 'CL_DEVICE_TYPE_ALL',
  1541. 'CL_DEVICE_TYPE_CPU', 'CL_DEVICE_TYPE_CUSTOM',
  1542. 'CL_DEVICE_TYPE_DEFAULT', 'CL_DEVICE_TYPE_GPU',
  1543. 'CL_DEVICE_VENDOR', 'CL_DEVICE_VENDOR_ID', 'CL_DEVICE_VERSION',
  1544. 'CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT',
  1545. 'CL_DRIVER_VERSION', 'CL_EVENT_COMMAND_EXECUTION_STATUS',
  1546. 'CL_EVENT_COMMAND_QUEUE', 'CL_EVENT_COMMAND_TYPE',
  1547. 'CL_EVENT_CONTEXT', 'CL_EVENT_REFERENCE_COUNT', 'CL_EXEC_KERNEL',
  1548. 'CL_EXEC_NATIVE_KERNEL',
  1549. 'CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST', 'CL_FALSE',
  1550. 'CL_FILTER_LINEAR', 'CL_FILTER_NEAREST', 'CL_FLOAT',
  1551. 'CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT', 'CL_FP_DENORM',
  1552. 'CL_FP_FMA', 'CL_FP_INF_NAN', 'CL_FP_ROUND_TO_INF',
  1553. 'CL_FP_ROUND_TO_NEAREST', 'CL_FP_ROUND_TO_ZERO',
  1554. 'CL_FP_SOFT_FLOAT', 'CL_GLOBAL', 'CL_HALF_FLOAT',
  1555. 'CL_IMAGE_ARRAY_SIZE', 'CL_IMAGE_BUFFER', 'CL_IMAGE_DEPTH',
  1556. 'CL_IMAGE_ELEMENT_SIZE', 'CL_IMAGE_FORMAT',
  1557. 'CL_IMAGE_FORMAT_MISMATCH', 'CL_IMAGE_FORMAT_NOT_SUPPORTED',
  1558. 'CL_IMAGE_HEIGHT', 'CL_IMAGE_NUM_MIP_LEVELS',
  1559. 'CL_IMAGE_NUM_SAMPLES', 'CL_IMAGE_ROW_PITCH',
  1560. 'CL_IMAGE_SLICE_PITCH', 'CL_IMAGE_WIDTH', 'CL_INTENSITY',
  1561. 'CL_INVALID_ARG_INDEX', 'CL_INVALID_ARG_SIZE',
  1562. 'CL_INVALID_ARG_VALUE', 'CL_INVALID_BINARY',
  1563. 'CL_INVALID_BUFFER_SIZE', 'CL_INVALID_BUILD_OPTIONS',
  1564. 'CL_INVALID_COMMAND_QUEUE', 'CL_INVALID_COMPILER_OPTIONS',
  1565. 'CL_INVALID_CONTEXT', 'CL_INVALID_DEVICE',
  1566. 'CL_INVALID_DEVICE_PARTITION_COUNT', 'CL_INVALID_DEVICE_QUEUE',
  1567. 'CL_INVALID_DEVICE_TYPE', 'CL_INVALID_EVENT',
  1568. 'CL_INVALID_EVENT_WAIT_LIST', 'CL_INVALID_GLOBAL_OFFSET',
  1569. 'CL_INVALID_GLOBAL_WORK_SIZE', 'CL_INVALID_GL_OBJECT',
  1570. 'CL_INVALID_HOST_PTR', 'CL_INVALID_IMAGE_DESCRIPTOR',
  1571. 'CL_INVALID_IMAGE_FORMAT_DESCRIPTOR', 'CL_INVALID_IMAGE_SIZE',
  1572. 'CL_INVALID_KERNEL', 'CL_INVALID_KERNEL_ARGS',
  1573. 'CL_INVALID_KERNEL_DEFINITION', 'CL_INVALID_KERNEL_NAME',
  1574. 'CL_INVALID_LINKER_OPTIONS', 'CL_INVALID_MEM_OBJECT',
  1575. 'CL_INVALID_MIP_LEVEL', 'CL_INVALID_OPERATION',
  1576. 'CL_INVALID_PIPE_SIZE', 'CL_INVALID_PLATFORM',
  1577. 'CL_INVALID_PROGRAM', 'CL_INVALID_PROGRAM_EXECUTABLE',
  1578. 'CL_INVALID_PROPERTY', 'CL_INVALID_QUEUE_PROPERTIES',
  1579. 'CL_INVALID_SAMPLER', 'CL_INVALID_SPEC_ID', 'CL_INVALID_VALUE',
  1580. 'CL_INVALID_WORK_DIMENSION', 'CL_INVALID_WORK_GROUP_SIZE',
  1581. 'CL_INVALID_WORK_ITEM_SIZE', 'CL_KERNEL_ARG_ACCESS_NONE',
  1582. 'CL_KERNEL_ARG_ACCESS_QUALIFIER',
  1583. 'CL_KERNEL_ARG_ACCESS_READ_ONLY',
  1584. 'CL_KERNEL_ARG_ACCESS_READ_WRITE',
  1585. 'CL_KERNEL_ARG_ACCESS_WRITE_ONLY',
  1586. 'CL_KERNEL_ARG_ADDRESS_CONSTANT', 'CL_KERNEL_ARG_ADDRESS_GLOBAL',
  1587. 'CL_KERNEL_ARG_ADDRESS_LOCAL', 'CL_KERNEL_ARG_ADDRESS_PRIVATE',
  1588. 'CL_KERNEL_ARG_ADDRESS_QUALIFIER',
  1589. 'CL_KERNEL_ARG_INFO_NOT_AVAILABLE', 'CL_KERNEL_ARG_NAME',
  1590. 'CL_KERNEL_ARG_TYPE_CONST', 'CL_KERNEL_ARG_TYPE_NAME',
  1591. 'CL_KERNEL_ARG_TYPE_NONE', 'CL_KERNEL_ARG_TYPE_PIPE',
  1592. 'CL_KERNEL_ARG_TYPE_QUALIFIER', 'CL_KERNEL_ARG_TYPE_RESTRICT',
  1593. 'CL_KERNEL_ARG_TYPE_VOLATILE', 'CL_KERNEL_ATTRIBUTES',
  1594. 'CL_KERNEL_COMPILE_NUM_SUB_GROUPS',
  1595. 'CL_KERNEL_COMPILE_WORK_GROUP_SIZE', 'CL_KERNEL_CONTEXT',
  1596. 'CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM',
  1597. 'CL_KERNEL_EXEC_INFO_SVM_PTRS', 'CL_KERNEL_FUNCTION_NAME',
  1598. 'CL_KERNEL_GLOBAL_WORK_SIZE', 'CL_KERNEL_LOCAL_MEM_SIZE',
  1599. 'CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT',
  1600. 'CL_KERNEL_MAX_NUM_SUB_GROUPS',
  1601. 'CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE', 'CL_KERNEL_NUM_ARGS',
  1602. 'CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE',
  1603. 'CL_KERNEL_PRIVATE_MEM_SIZE', 'CL_KERNEL_PROGRAM',
  1604. 'CL_KERNEL_REFERENCE_COUNT',
  1605. 'CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE',
  1606. 'CL_KERNEL_WORK_GROUP_SIZE', 'CL_KHRONOS_VENDOR_ID_CODEPLAY',
  1607. 'CL_LINKER_NOT_AVAILABLE', 'CL_LINK_PROGRAM_FAILURE', 'CL_LOCAL',
  1608. 'CL_LUMINANCE', 'CL_MAP_FAILURE', 'CL_MAP_READ', 'CL_MAP_WRITE',
  1609. 'CL_MAP_WRITE_INVALIDATE_REGION',
  1610. 'CL_MAX_SIZE_RESTRICTION_EXCEEDED', 'CL_MEM_ALLOC_HOST_PTR',
  1611. 'CL_MEM_ASSOCIATED_MEMOBJECT', 'CL_MEM_CONTEXT',
  1612. 'CL_MEM_COPY_HOST_PTR', 'CL_MEM_COPY_OVERLAP', 'CL_MEM_FLAGS',
  1613. 'CL_MEM_HOST_NO_ACCESS', 'CL_MEM_HOST_PTR',
  1614. 'CL_MEM_HOST_READ_ONLY', 'CL_MEM_HOST_WRITE_ONLY',
  1615. 'CL_MEM_KERNEL_READ_AND_WRITE', 'CL_MEM_MAP_COUNT',
  1616. 'CL_MEM_OBJECT_ALLOCATION_FAILURE', 'CL_MEM_OBJECT_BUFFER',
  1617. 'CL_MEM_OBJECT_IMAGE1D', 'CL_MEM_OBJECT_IMAGE1D_ARRAY',
  1618. 'CL_MEM_OBJECT_IMAGE1D_BUFFER', 'CL_MEM_OBJECT_IMAGE2D',
  1619. 'CL_MEM_OBJECT_IMAGE2D_ARRAY', 'CL_MEM_OBJECT_IMAGE3D',
  1620. 'CL_MEM_OBJECT_PIPE', 'CL_MEM_OFFSET', 'CL_MEM_PROPERTIES',
  1621. 'CL_MEM_READ_ONLY', 'CL_MEM_READ_WRITE', 'CL_MEM_REFERENCE_COUNT',
  1622. 'CL_MEM_SIZE', 'CL_MEM_SVM_ATOMICS',
  1623. 'CL_MEM_SVM_FINE_GRAIN_BUFFER', 'CL_MEM_TYPE',
  1624. 'CL_MEM_USES_SVM_POINTER', 'CL_MEM_USE_HOST_PTR',
  1625. 'CL_MEM_WRITE_ONLY', 'CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED',
  1626. 'CL_MIGRATE_MEM_OBJECT_HOST', 'CL_MISALIGNED_SUB_BUFFER_OFFSET',
  1627. 'CL_NAME_VERSION_MAX_NAME_SIZE', 'CL_NONE', 'CL_NON_BLOCKING',
  1628. 'CL_OUT_OF_HOST_MEMORY', 'CL_OUT_OF_RESOURCES',
  1629. 'CL_PIPE_MAX_PACKETS', 'CL_PIPE_PACKET_SIZE',
  1630. 'CL_PIPE_PROPERTIES', 'CL_PLATFORM_EXTENSIONS',
  1631. 'CL_PLATFORM_EXTENSIONS_WITH_VERSION',
  1632. 'CL_PLATFORM_HOST_TIMER_RESOLUTION', 'CL_PLATFORM_NAME',
  1633. 'CL_PLATFORM_NUMERIC_VERSION', 'CL_PLATFORM_PROFILE',
  1634. 'CL_PLATFORM_VENDOR', 'CL_PLATFORM_VERSION',
  1635. 'CL_PROFILING_COMMAND_COMPLETE', 'CL_PROFILING_COMMAND_END',
  1636. 'CL_PROFILING_COMMAND_QUEUED', 'CL_PROFILING_COMMAND_START',
  1637. 'CL_PROFILING_COMMAND_SUBMIT', 'CL_PROFILING_INFO_NOT_AVAILABLE',
  1638. 'CL_PROGRAM_BINARIES', 'CL_PROGRAM_BINARY_SIZES',
  1639. 'CL_PROGRAM_BINARY_TYPE',
  1640. 'CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT',
  1641. 'CL_PROGRAM_BINARY_TYPE_EXECUTABLE',
  1642. 'CL_PROGRAM_BINARY_TYPE_LIBRARY', 'CL_PROGRAM_BINARY_TYPE_NONE',
  1643. 'CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE',
  1644. 'CL_PROGRAM_BUILD_LOG', 'CL_PROGRAM_BUILD_OPTIONS',
  1645. 'CL_PROGRAM_BUILD_STATUS', 'CL_PROGRAM_CONTEXT',
  1646. 'CL_PROGRAM_DEVICES', 'CL_PROGRAM_IL', 'CL_PROGRAM_KERNEL_NAMES',
  1647. 'CL_PROGRAM_NUM_DEVICES', 'CL_PROGRAM_NUM_KERNELS',
  1648. 'CL_PROGRAM_REFERENCE_COUNT',
  1649. 'CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT',
  1650. 'CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT', 'CL_PROGRAM_SOURCE',
  1651. 'CL_QUEUED', 'CL_QUEUE_CONTEXT', 'CL_QUEUE_DEVICE',
  1652. 'CL_QUEUE_DEVICE_DEFAULT', 'CL_QUEUE_ON_DEVICE',
  1653. 'CL_QUEUE_ON_DEVICE_DEFAULT',
  1654. 'CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE',
  1655. 'CL_QUEUE_PROFILING_ENABLE', 'CL_QUEUE_PROPERTIES',
  1656. 'CL_QUEUE_PROPERTIES_ARRAY', 'CL_QUEUE_REFERENCE_COUNT',
  1657. 'CL_QUEUE_SIZE', 'CL_R', 'CL_RA', 'CL_READ_ONLY_CACHE',
  1658. 'CL_READ_WRITE_CACHE', 'CL_RG', 'CL_RGB', 'CL_RGBA', 'CL_RGBx',
  1659. 'CL_RGx', 'CL_RUNNING', 'CL_Rx', 'CL_SAMPLER_ADDRESSING_MODE',
  1660. 'CL_SAMPLER_CONTEXT', 'CL_SAMPLER_FILTER_MODE',
  1661. 'CL_SAMPLER_LOD_MAX', 'CL_SAMPLER_LOD_MIN',
  1662. 'CL_SAMPLER_MIP_FILTER_MODE', 'CL_SAMPLER_NORMALIZED_COORDS',
  1663. 'CL_SAMPLER_PROPERTIES', 'CL_SAMPLER_REFERENCE_COUNT',
  1664. 'CL_SIGNED_INT16', 'CL_SIGNED_INT32', 'CL_SIGNED_INT8',
  1665. 'CL_SNORM_INT16', 'CL_SNORM_INT8', 'CL_SUBMITTED', 'CL_SUCCESS',
  1666. 'CL_TRUE', 'CL_UNORM_INT16', 'CL_UNORM_INT24', 'CL_UNORM_INT8',
  1667. 'CL_UNORM_INT_101010', 'CL_UNORM_INT_101010_2',
  1668. 'CL_UNORM_SHORT_555', 'CL_UNORM_SHORT_565', 'CL_UNSIGNED_INT16',
  1669. 'CL_UNSIGNED_INT32', 'CL_UNSIGNED_INT8', 'CL_VERSION_MAJOR_BITS',
  1670. 'CL_VERSION_MAJOR_MASK', 'CL_VERSION_MINOR_BITS',
  1671. 'CL_VERSION_MINOR_MASK', 'CL_VERSION_PATCH_BITS',
  1672. 'CL_VERSION_PATCH_MASK', 'CL_sBGRA', 'CL_sRGB', 'CL_sRGBA',
  1673. 'CL_sRGBx', '__OPENCL_CL_H', 'clBuildProgram', 'clCloneKernel',
  1674. 'clCompileProgram', 'clCreateBuffer',
  1675. 'clCreateBufferWithProperties', 'clCreateCommandQueue',
  1676. 'clCreateCommandQueueWithProperties', 'clCreateContext',
  1677. 'clCreateContextFromType', 'clCreateImage', 'clCreateImage2D',
  1678. 'clCreateImage3D', 'clCreateImageWithProperties',
  1679. 'clCreateKernel', 'clCreateKernelsInProgram', 'clCreatePipe',
  1680. 'clCreateProgramWithBinary', 'clCreateProgramWithBuiltInKernels',
  1681. 'clCreateProgramWithIL', 'clCreateProgramWithSource',
  1682. 'clCreateSampler', 'clCreateSamplerWithProperties',
  1683. 'clCreateSubBuffer', 'clCreateSubDevices', 'clCreateUserEvent',
  1684. 'clEnqueueBarrier', 'clEnqueueBarrierWithWaitList',
  1685. 'clEnqueueCopyBuffer', 'clEnqueueCopyBufferRect',
  1686. 'clEnqueueCopyBufferToImage', 'clEnqueueCopyImage',
  1687. 'clEnqueueCopyImageToBuffer', 'clEnqueueFillBuffer',
  1688. 'clEnqueueFillImage', 'clEnqueueMapBuffer', 'clEnqueueMapImage',
  1689. 'clEnqueueMarker', 'clEnqueueMarkerWithWaitList',
  1690. 'clEnqueueMigrateMemObjects', 'clEnqueueNDRangeKernel',
  1691. 'clEnqueueNativeKernel', 'clEnqueueReadBuffer',
  1692. 'clEnqueueReadBufferRect', 'clEnqueueReadImage',
  1693. 'clEnqueueSVMFree', 'clEnqueueSVMMap', 'clEnqueueSVMMemFill',
  1694. 'clEnqueueSVMMemcpy', 'clEnqueueSVMMigrateMem',
  1695. 'clEnqueueSVMUnmap', 'clEnqueueTask', 'clEnqueueUnmapMemObject',
  1696. 'clEnqueueWaitForEvents', 'clEnqueueWriteBuffer',
  1697. 'clEnqueueWriteBufferRect', 'clEnqueueWriteImage', 'clFinish',
  1698. 'clFlush', 'clGetCommandQueueInfo', 'clGetContextInfo',
  1699. 'clGetDeviceAndHostTimer', 'clGetDeviceIDs', 'clGetDeviceInfo',
  1700. 'clGetEventInfo', 'clGetEventProfilingInfo',
  1701. 'clGetExtensionFunctionAddress',
  1702. 'clGetExtensionFunctionAddressForPlatform', 'clGetHostTimer',
  1703. 'clGetImageInfo', 'clGetKernelArgInfo', 'clGetKernelInfo',
  1704. 'clGetKernelSubGroupInfo', 'clGetKernelWorkGroupInfo',
  1705. 'clGetMemObjectInfo', 'clGetPipeInfo', 'clGetPlatformIDs',
  1706. 'clGetPlatformInfo', 'clGetProgramBuildInfo', 'clGetProgramInfo',
  1707. 'clGetSamplerInfo', 'clGetSupportedImageFormats', 'clLinkProgram',
  1708. 'clReleaseCommandQueue', 'clReleaseContext', 'clReleaseDevice',
  1709. 'clReleaseEvent', 'clReleaseKernel', 'clReleaseMemObject',
  1710. 'clReleaseProgram', 'clReleaseSampler', 'clRetainCommandQueue',
  1711. 'clRetainContext', 'clRetainDevice', 'clRetainEvent',
  1712. 'clRetainKernel', 'clRetainMemObject', 'clRetainProgram',
  1713. 'clRetainSampler', 'clSVMAlloc', 'clSVMFree',
  1714. 'clSetContextDestructorCallback',
  1715. 'clSetDefaultDeviceCommandQueue', 'clSetEventCallback',
  1716. 'clSetKernelArg', 'clSetKernelArgSVMPointer',
  1717. 'clSetKernelExecInfo', 'clSetMemObjectDestructorCallback',
  1718. 'clSetProgramReleaseCallback',
  1719. 'clSetProgramSpecializationConstant', 'clSetUserEventStatus',
  1720. 'clUnloadCompiler', 'clUnloadPlatformCompiler', 'clWaitForEvents',
  1721. 'cl_addressing_mode', 'cl_bitfield', 'cl_bool',
  1722. 'cl_buffer_create_type', 'cl_buffer_region', 'cl_build_status',
  1723. 'cl_channel_order', 'cl_channel_type', 'cl_command_queue',
  1724. 'cl_command_queue_info', 'cl_command_queue_properties',
  1725. 'cl_command_type', 'cl_context', 'cl_context_info',
  1726. 'cl_context_properties', 'cl_device_affinity_domain',
  1727. 'cl_device_atomic_capabilities',
  1728. 'cl_device_device_enqueue_capabilities',
  1729. 'cl_device_exec_capabilities', 'cl_device_fp_config',
  1730. 'cl_device_id', 'cl_device_info', 'cl_device_local_mem_type',
  1731. 'cl_device_mem_cache_type', 'cl_device_partition_property',
  1732. 'cl_device_svm_capabilities', 'cl_device_type', 'cl_event',
  1733. 'cl_event_info', 'cl_filter_mode', 'cl_image_desc',
  1734. 'cl_image_format', 'cl_image_info', 'cl_int', 'cl_kernel',
  1735. 'cl_kernel_arg_access_qualifier',
  1736. 'cl_kernel_arg_address_qualifier', 'cl_kernel_arg_info',
  1737. 'cl_kernel_arg_type_qualifier', 'cl_kernel_exec_info',
  1738. 'cl_kernel_info', 'cl_kernel_sub_group_info',
  1739. 'cl_kernel_work_group_info', 'cl_khronos_vendor_id',
  1740. 'cl_map_flags', 'cl_mem', 'cl_mem_flags', 'cl_mem_info',
  1741. 'cl_mem_migration_flags', 'cl_mem_object_type',
  1742. 'cl_mem_properties', 'cl_name_version', 'cl_pipe_info',
  1743. 'cl_pipe_properties', 'cl_platform_id', 'cl_platform_info',
  1744. 'cl_profiling_info', 'cl_program', 'cl_program_binary_type',
  1745. 'cl_program_build_info', 'cl_program_info', 'cl_properties',
  1746. 'cl_queue_properties', 'cl_sampler', 'cl_sampler_info',
  1747. 'cl_sampler_properties', 'cl_svm_mem_flags', 'cl_uint',
  1748. 'cl_version', 'size_t', 'struct__cl_buffer_region',
  1749. 'struct__cl_command_queue', 'struct__cl_context',
  1750. 'struct__cl_device_id', 'struct__cl_event',
  1751. 'struct__cl_image_desc', 'struct__cl_image_format',
  1752. 'struct__cl_kernel', 'struct__cl_mem', 'struct__cl_name_version',
  1753. 'struct__cl_platform_id', 'struct__cl_program',
  1754. 'struct__cl_sampler', 'union__cl_image_desc_0']