tinygrad 0.10.2__py3-none-any.whl → 0.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. tinygrad/__init__.py +1 -1
  2. tinygrad/apps/llm.py +206 -0
  3. tinygrad/codegen/__init__.py +116 -0
  4. tinygrad/codegen/devectorizer.py +315 -172
  5. tinygrad/codegen/expander.py +8 -16
  6. tinygrad/codegen/gpudims.py +89 -0
  7. tinygrad/codegen/linearize.py +205 -203
  8. tinygrad/codegen/lowerer.py +92 -139
  9. tinygrad/codegen/opt/__init__.py +38 -0
  10. tinygrad/codegen/opt/heuristic.py +125 -0
  11. tinygrad/codegen/opt/kernel.py +510 -0
  12. tinygrad/{engine → codegen/opt}/search.py +51 -35
  13. tinygrad/codegen/opt/swizzler.py +134 -0
  14. tinygrad/codegen/opt/tc.py +127 -0
  15. tinygrad/codegen/quantize.py +67 -0
  16. tinygrad/device.py +122 -132
  17. tinygrad/dtype.py +152 -35
  18. tinygrad/engine/jit.py +81 -54
  19. tinygrad/engine/memory.py +46 -27
  20. tinygrad/engine/realize.py +82 -41
  21. tinygrad/engine/schedule.py +70 -445
  22. tinygrad/frontend/__init__.py +0 -0
  23. tinygrad/frontend/onnx.py +1253 -0
  24. tinygrad/frontend/torch.py +5 -0
  25. tinygrad/gradient.py +19 -27
  26. tinygrad/helpers.py +95 -47
  27. tinygrad/nn/__init__.py +7 -8
  28. tinygrad/nn/optim.py +72 -41
  29. tinygrad/nn/state.py +37 -23
  30. tinygrad/renderer/__init__.py +40 -60
  31. tinygrad/renderer/cstyle.py +143 -128
  32. tinygrad/renderer/llvmir.py +113 -62
  33. tinygrad/renderer/ptx.py +50 -32
  34. tinygrad/renderer/wgsl.py +27 -23
  35. tinygrad/runtime/autogen/am/am.py +5861 -0
  36. tinygrad/runtime/autogen/am/pm4_nv.py +962 -0
  37. tinygrad/runtime/autogen/am/pm4_soc15.py +931 -0
  38. tinygrad/runtime/autogen/am/sdma_4_0_0.py +5209 -0
  39. tinygrad/runtime/autogen/am/sdma_4_4_2.py +5209 -0
  40. tinygrad/runtime/autogen/am/sdma_5_0_0.py +7103 -0
  41. tinygrad/runtime/autogen/am/sdma_6_0_0.py +8085 -0
  42. tinygrad/runtime/autogen/am/smu_v13_0_0.py +3068 -0
  43. tinygrad/runtime/autogen/am/smu_v14_0_2.py +3605 -0
  44. tinygrad/runtime/autogen/amd_gpu.py +1433 -67197
  45. tinygrad/runtime/autogen/comgr.py +35 -9
  46. tinygrad/runtime/autogen/comgr_3.py +906 -0
  47. tinygrad/runtime/autogen/cuda.py +2419 -494
  48. tinygrad/runtime/autogen/hsa.py +57 -16
  49. tinygrad/runtime/autogen/ib.py +7171 -0
  50. tinygrad/runtime/autogen/io_uring.py +917 -118
  51. tinygrad/runtime/autogen/kfd.py +748 -26
  52. tinygrad/runtime/autogen/libc.py +613 -218
  53. tinygrad/runtime/autogen/libusb.py +1643 -0
  54. tinygrad/runtime/autogen/nv/nv.py +8602 -0
  55. tinygrad/runtime/autogen/nv_gpu.py +7218 -2072
  56. tinygrad/runtime/autogen/opencl.py +2 -4
  57. tinygrad/runtime/autogen/sqtt.py +1789 -0
  58. tinygrad/runtime/autogen/vfio.py +3 -3
  59. tinygrad/runtime/autogen/webgpu.py +273 -264
  60. tinygrad/runtime/graph/cuda.py +3 -3
  61. tinygrad/runtime/graph/hcq.py +68 -29
  62. tinygrad/runtime/graph/metal.py +29 -13
  63. tinygrad/runtime/graph/remote.py +114 -0
  64. tinygrad/runtime/ops_amd.py +537 -320
  65. tinygrad/runtime/ops_cpu.py +108 -7
  66. tinygrad/runtime/ops_cuda.py +12 -14
  67. tinygrad/runtime/ops_disk.py +13 -10
  68. tinygrad/runtime/ops_dsp.py +47 -40
  69. tinygrad/runtime/ops_gpu.py +13 -11
  70. tinygrad/runtime/ops_hip.py +6 -9
  71. tinygrad/runtime/ops_llvm.py +35 -15
  72. tinygrad/runtime/ops_metal.py +29 -19
  73. tinygrad/runtime/ops_npy.py +5 -3
  74. tinygrad/runtime/ops_null.py +28 -0
  75. tinygrad/runtime/ops_nv.py +306 -234
  76. tinygrad/runtime/ops_python.py +62 -52
  77. tinygrad/runtime/ops_qcom.py +28 -39
  78. tinygrad/runtime/ops_remote.py +482 -0
  79. tinygrad/runtime/ops_webgpu.py +28 -28
  80. tinygrad/runtime/support/am/amdev.py +114 -249
  81. tinygrad/runtime/support/am/ip.py +211 -172
  82. tinygrad/runtime/support/amd.py +138 -0
  83. tinygrad/runtime/support/{compiler_hip.py → compiler_amd.py} +40 -8
  84. tinygrad/runtime/support/compiler_cuda.py +8 -11
  85. tinygrad/runtime/support/elf.py +2 -1
  86. tinygrad/runtime/support/hcq.py +184 -97
  87. tinygrad/runtime/support/ib.py +172 -0
  88. tinygrad/runtime/support/llvm.py +3 -4
  89. tinygrad/runtime/support/memory.py +251 -0
  90. tinygrad/runtime/support/nv/__init__.py +0 -0
  91. tinygrad/runtime/support/nv/ip.py +581 -0
  92. tinygrad/runtime/support/nv/nvdev.py +183 -0
  93. tinygrad/runtime/support/system.py +170 -0
  94. tinygrad/runtime/support/usb.py +268 -0
  95. tinygrad/runtime/support/webgpu.py +18 -0
  96. tinygrad/schedule/__init__.py +0 -0
  97. tinygrad/schedule/grouper.py +119 -0
  98. tinygrad/schedule/kernelize.py +368 -0
  99. tinygrad/schedule/multi.py +231 -0
  100. tinygrad/shape/shapetracker.py +40 -46
  101. tinygrad/shape/view.py +88 -52
  102. tinygrad/tensor.py +968 -542
  103. tinygrad/uop/__init__.py +117 -0
  104. tinygrad/{codegen/transcendental.py → uop/decompositions.py} +125 -38
  105. tinygrad/uop/mathtraits.py +169 -0
  106. tinygrad/uop/ops.py +1021 -0
  107. tinygrad/uop/spec.py +228 -0
  108. tinygrad/{codegen → uop}/symbolic.py +239 -216
  109. tinygrad/uop/upat.py +163 -0
  110. tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js +19 -0
  111. tinygrad/viz/assets/d3js.org/d3.v7.min.js +2 -0
  112. tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js +801 -0
  113. tinygrad/viz/index.html +203 -403
  114. tinygrad/viz/js/index.js +718 -0
  115. tinygrad/viz/js/worker.js +29 -0
  116. tinygrad/viz/serve.py +224 -102
  117. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/METADATA +24 -16
  118. tinygrad-0.11.0.dist-info/RECORD +141 -0
  119. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/WHEEL +1 -1
  120. tinygrad/codegen/kernel.py +0 -693
  121. tinygrad/engine/multi.py +0 -161
  122. tinygrad/ops.py +0 -1003
  123. tinygrad/runtime/ops_cloud.py +0 -220
  124. tinygrad/runtime/support/allocator.py +0 -94
  125. tinygrad/spec.py +0 -155
  126. tinygrad/viz/assets/d3js.org/d3.v5.min.js +0 -2
  127. tinygrad/viz/assets/dagrejs.github.io/project/dagre-d3/latest/dagre-d3.min.js +0 -4816
  128. tinygrad/viz/perfetto.html +0 -178
  129. tinygrad-0.10.2.dist-info/RECORD +0 -99
  130. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info/licenses}/LICENSE +0 -0
  131. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,906 @@
1
+ # mypy: ignore-errors
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # TARGET arch is: ['-D__HIP_PLATFORM_AMD__', '-I/opt/rocm/include', '-x', 'c++']
5
+ # WORD_SIZE is: 8
6
+ # POINTER_SIZE is: 8
7
+ # LONGDOUBLE_SIZE is: 16
8
+ #
9
+ import ctypes, ctypes.util, os
10
+ PATHS_TO_TRY = [
11
+ '/opt/rocm/lib/libamd_comgr.so',
12
+ os.getenv('ROCM_PATH', '')+'/lib/libamd_comgr.so',
13
+ '/usr/local/lib/libamd_comgr.dylib',
14
+ '/opt/homebrew/lib/libamd_comgr.dylib',
15
+ ]
16
+ def _try_dlopen_amd_comgr():
17
+ library = ctypes.util.find_library("amd_comgr")
18
+ if library: return ctypes.CDLL(library)
19
+ for candidate in PATHS_TO_TRY:
20
+ try: return ctypes.CDLL(candidate)
21
+ except OSError: pass
22
+ return None
23
+
24
+
25
+ def string_cast(char_pointer, encoding='utf-8', errors='strict'):
26
+ value = ctypes.cast(char_pointer, ctypes.c_char_p).value
27
+ if value is not None and encoding is not None:
28
+ value = value.decode(encoding, errors=errors)
29
+ return value
30
+
31
+
32
+ def char_pointer_cast(string, encoding='utf-8'):
33
+ if encoding is not None:
34
+ try:
35
+ string = string.encode(encoding)
36
+ except AttributeError:
37
+ # In Python3, bytes has no encode attribute
38
+ pass
39
+ string = ctypes.c_char_p(string)
40
+ return ctypes.cast(string, ctypes.POINTER(ctypes.c_char))
41
+
42
+
43
+
44
+ _libraries = {}
45
+ _libraries['libamd_comgr.so'] = _try_dlopen_amd_comgr()
46
+ c_int128 = ctypes.c_ubyte*16
47
+ c_uint128 = c_int128
48
+ void = None
49
+ if ctypes.sizeof(ctypes.c_longdouble) == 16:
50
+ c_long_double_t = ctypes.c_longdouble
51
+ else:
52
+ c_long_double_t = ctypes.c_ubyte*16
53
+
54
+ class AsDictMixin:
55
+ @classmethod
56
+ def as_dict(cls, self):
57
+ result = {}
58
+ if not isinstance(self, AsDictMixin):
59
+ # not a structure, assume it's already a python object
60
+ return self
61
+ if not hasattr(cls, "_fields_"):
62
+ return result
63
+ # sys.version_info >= (3, 5)
64
+ # for (field, *_) in cls._fields_: # noqa
65
+ for field_tuple in cls._fields_: # noqa
66
+ field = field_tuple[0]
67
+ if field.startswith('PADDING_'):
68
+ continue
69
+ value = getattr(self, field)
70
+ type_ = type(value)
71
+ if hasattr(value, "_length_") and hasattr(value, "_type_"):
72
+ # array
73
+ if not hasattr(type_, "as_dict"):
74
+ value = [v for v in value]
75
+ else:
76
+ type_ = type_._type_
77
+ value = [type_.as_dict(v) for v in value]
78
+ elif hasattr(value, "contents") and hasattr(value, "_type_"):
79
+ # pointer
80
+ try:
81
+ if not hasattr(type_, "as_dict"):
82
+ value = value.contents
83
+ else:
84
+ type_ = type_._type_
85
+ value = type_.as_dict(value.contents)
86
+ except ValueError:
87
+ # nullptr
88
+ value = None
89
+ elif isinstance(value, AsDictMixin):
90
+ # other structure
91
+ value = type_.as_dict(value)
92
+ result[field] = value
93
+ return result
94
+
95
+
96
+ class Structure(ctypes.Structure, AsDictMixin):
97
+
98
+ def __init__(self, *args, **kwds):
99
+ # We don't want to use positional arguments fill PADDING_* fields
100
+
101
+ args = dict(zip(self.__class__._field_names_(), args))
102
+ args.update(kwds)
103
+ super(Structure, self).__init__(**args)
104
+
105
+ @classmethod
106
+ def _field_names_(cls):
107
+ if hasattr(cls, '_fields_'):
108
+ return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING'))
109
+ else:
110
+ return ()
111
+
112
+ @classmethod
113
+ def get_type(cls, field):
114
+ for f in cls._fields_:
115
+ if f[0] == field:
116
+ return f[1]
117
+ return None
118
+
119
+ @classmethod
120
+ def bind(cls, bound_fields):
121
+ fields = {}
122
+ for name, type_ in cls._fields_:
123
+ if hasattr(type_, "restype"):
124
+ if name in bound_fields:
125
+ if bound_fields[name] is None:
126
+ fields[name] = type_()
127
+ else:
128
+ # use a closure to capture the callback from the loop scope
129
+ fields[name] = (
130
+ type_((lambda callback: lambda *args: callback(*args))(
131
+ bound_fields[name]))
132
+ )
133
+ del bound_fields[name]
134
+ else:
135
+ # default callback implementation (does nothing)
136
+ try:
137
+ default_ = type_(0).restype().value
138
+ except TypeError:
139
+ default_ = None
140
+ fields[name] = type_((
141
+ lambda default_: lambda *args: default_)(default_))
142
+ else:
143
+ # not a callback function, use default initialization
144
+ if name in bound_fields:
145
+ fields[name] = bound_fields[name]
146
+ del bound_fields[name]
147
+ else:
148
+ fields[name] = type_()
149
+ if len(bound_fields) != 0:
150
+ raise ValueError(
151
+ "Cannot bind the following unknown callback(s) {}.{}".format(
152
+ cls.__name__, bound_fields.keys()
153
+ ))
154
+ return cls(**fields)
155
+
156
+
157
+ class Union(ctypes.Union, AsDictMixin):
158
+ pass
159
+
160
+
161
+
162
+
163
+
164
+
165
+ # values for enumeration 'amd_comgr_status_s'
166
+ amd_comgr_status_s__enumvalues = {
167
+ 0: 'AMD_COMGR_STATUS_SUCCESS',
168
+ 1: 'AMD_COMGR_STATUS_ERROR',
169
+ 2: 'AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT',
170
+ 3: 'AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES',
171
+ }
172
+ AMD_COMGR_STATUS_SUCCESS = 0
173
+ AMD_COMGR_STATUS_ERROR = 1
174
+ AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT = 2
175
+ AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES = 3
176
+ amd_comgr_status_s = ctypes.c_uint32 # enum
177
+ amd_comgr_status_t = amd_comgr_status_s
178
+ amd_comgr_status_t__enumvalues = amd_comgr_status_s__enumvalues
179
+
180
+ # values for enumeration 'amd_comgr_language_s'
181
+ amd_comgr_language_s__enumvalues = {
182
+ 0: 'AMD_COMGR_LANGUAGE_NONE',
183
+ 1: 'AMD_COMGR_LANGUAGE_OPENCL_1_2',
184
+ 2: 'AMD_COMGR_LANGUAGE_OPENCL_2_0',
185
+ 3: 'AMD_COMGR_LANGUAGE_HIP',
186
+ 4: 'AMD_COMGR_LANGUAGE_LLVM_IR',
187
+ 4: 'AMD_COMGR_LANGUAGE_LAST',
188
+ }
189
+ AMD_COMGR_LANGUAGE_NONE = 0
190
+ AMD_COMGR_LANGUAGE_OPENCL_1_2 = 1
191
+ AMD_COMGR_LANGUAGE_OPENCL_2_0 = 2
192
+ AMD_COMGR_LANGUAGE_HIP = 3
193
+ AMD_COMGR_LANGUAGE_LLVM_IR = 4
194
+ AMD_COMGR_LANGUAGE_LAST = 4
195
+ amd_comgr_language_s = ctypes.c_uint32 # enum
196
+ amd_comgr_language_t = amd_comgr_language_s
197
+ amd_comgr_language_t__enumvalues = amd_comgr_language_s__enumvalues
198
+ try:
199
+ amd_comgr_status_string = _libraries['libamd_comgr.so'].amd_comgr_status_string
200
+ amd_comgr_status_string.restype = amd_comgr_status_t
201
+ amd_comgr_status_string.argtypes = [amd_comgr_status_t, ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
202
+ except AttributeError:
203
+ pass
204
+ try:
205
+ amd_comgr_get_version = _libraries['libamd_comgr.so'].amd_comgr_get_version
206
+ amd_comgr_get_version.restype = None
207
+ amd_comgr_get_version.argtypes = [ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64)]
208
+ except AttributeError:
209
+ pass
210
+
211
+ # values for enumeration 'amd_comgr_data_kind_s'
212
+ amd_comgr_data_kind_s__enumvalues = {
213
+ 0: 'AMD_COMGR_DATA_KIND_UNDEF',
214
+ 1: 'AMD_COMGR_DATA_KIND_SOURCE',
215
+ 2: 'AMD_COMGR_DATA_KIND_INCLUDE',
216
+ 3: 'AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER',
217
+ 4: 'AMD_COMGR_DATA_KIND_DIAGNOSTIC',
218
+ 5: 'AMD_COMGR_DATA_KIND_LOG',
219
+ 6: 'AMD_COMGR_DATA_KIND_BC',
220
+ 7: 'AMD_COMGR_DATA_KIND_RELOCATABLE',
221
+ 8: 'AMD_COMGR_DATA_KIND_EXECUTABLE',
222
+ 9: 'AMD_COMGR_DATA_KIND_BYTES',
223
+ 16: 'AMD_COMGR_DATA_KIND_FATBIN',
224
+ 17: 'AMD_COMGR_DATA_KIND_AR',
225
+ 18: 'AMD_COMGR_DATA_KIND_BC_BUNDLE',
226
+ 19: 'AMD_COMGR_DATA_KIND_AR_BUNDLE',
227
+ 20: 'AMD_COMGR_DATA_KIND_OBJ_BUNDLE',
228
+ 21: 'AMD_COMGR_DATA_KIND_SPIRV',
229
+ 21: 'AMD_COMGR_DATA_KIND_LAST',
230
+ }
231
+ AMD_COMGR_DATA_KIND_UNDEF = 0
232
+ AMD_COMGR_DATA_KIND_SOURCE = 1
233
+ AMD_COMGR_DATA_KIND_INCLUDE = 2
234
+ AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER = 3
235
+ AMD_COMGR_DATA_KIND_DIAGNOSTIC = 4
236
+ AMD_COMGR_DATA_KIND_LOG = 5
237
+ AMD_COMGR_DATA_KIND_BC = 6
238
+ AMD_COMGR_DATA_KIND_RELOCATABLE = 7
239
+ AMD_COMGR_DATA_KIND_EXECUTABLE = 8
240
+ AMD_COMGR_DATA_KIND_BYTES = 9
241
+ AMD_COMGR_DATA_KIND_FATBIN = 16
242
+ AMD_COMGR_DATA_KIND_AR = 17
243
+ AMD_COMGR_DATA_KIND_BC_BUNDLE = 18
244
+ AMD_COMGR_DATA_KIND_AR_BUNDLE = 19
245
+ AMD_COMGR_DATA_KIND_OBJ_BUNDLE = 20
246
+ AMD_COMGR_DATA_KIND_SPIRV = 21
247
+ AMD_COMGR_DATA_KIND_LAST = 21
248
+ amd_comgr_data_kind_s = ctypes.c_uint32 # enum
249
+ amd_comgr_data_kind_t = amd_comgr_data_kind_s
250
+ amd_comgr_data_kind_t__enumvalues = amd_comgr_data_kind_s__enumvalues
251
+ class struct_amd_comgr_data_s(Structure):
252
+ pass
253
+
254
+ struct_amd_comgr_data_s._pack_ = 1 # source:False
255
+ struct_amd_comgr_data_s._fields_ = [
256
+ ('handle', ctypes.c_uint64),
257
+ ]
258
+
259
+ amd_comgr_data_t = struct_amd_comgr_data_s
260
+ class struct_amd_comgr_data_set_s(Structure):
261
+ pass
262
+
263
+ struct_amd_comgr_data_set_s._pack_ = 1 # source:False
264
+ struct_amd_comgr_data_set_s._fields_ = [
265
+ ('handle', ctypes.c_uint64),
266
+ ]
267
+
268
+ amd_comgr_data_set_t = struct_amd_comgr_data_set_s
269
+ class struct_amd_comgr_action_info_s(Structure):
270
+ pass
271
+
272
+ struct_amd_comgr_action_info_s._pack_ = 1 # source:False
273
+ struct_amd_comgr_action_info_s._fields_ = [
274
+ ('handle', ctypes.c_uint64),
275
+ ]
276
+
277
+ amd_comgr_action_info_t = struct_amd_comgr_action_info_s
278
+ class struct_amd_comgr_metadata_node_s(Structure):
279
+ pass
280
+
281
+ struct_amd_comgr_metadata_node_s._pack_ = 1 # source:False
282
+ struct_amd_comgr_metadata_node_s._fields_ = [
283
+ ('handle', ctypes.c_uint64),
284
+ ]
285
+
286
+ amd_comgr_metadata_node_t = struct_amd_comgr_metadata_node_s
287
+ class struct_amd_comgr_symbol_s(Structure):
288
+ pass
289
+
290
+ struct_amd_comgr_symbol_s._pack_ = 1 # source:False
291
+ struct_amd_comgr_symbol_s._fields_ = [
292
+ ('handle', ctypes.c_uint64),
293
+ ]
294
+
295
+ amd_comgr_symbol_t = struct_amd_comgr_symbol_s
296
+ class struct_amd_comgr_disassembly_info_s(Structure):
297
+ pass
298
+
299
+ struct_amd_comgr_disassembly_info_s._pack_ = 1 # source:False
300
+ struct_amd_comgr_disassembly_info_s._fields_ = [
301
+ ('handle', ctypes.c_uint64),
302
+ ]
303
+
304
+ amd_comgr_disassembly_info_t = struct_amd_comgr_disassembly_info_s
305
+ class struct_amd_comgr_symbolizer_info_s(Structure):
306
+ pass
307
+
308
+ struct_amd_comgr_symbolizer_info_s._pack_ = 1 # source:False
309
+ struct_amd_comgr_symbolizer_info_s._fields_ = [
310
+ ('handle', ctypes.c_uint64),
311
+ ]
312
+
313
+ amd_comgr_symbolizer_info_t = struct_amd_comgr_symbolizer_info_s
314
+ try:
315
+ amd_comgr_get_isa_count = _libraries['libamd_comgr.so'].amd_comgr_get_isa_count
316
+ amd_comgr_get_isa_count.restype = amd_comgr_status_t
317
+ amd_comgr_get_isa_count.argtypes = [ctypes.POINTER(ctypes.c_uint64)]
318
+ except AttributeError:
319
+ pass
320
+ size_t = ctypes.c_uint64
321
+ try:
322
+ amd_comgr_get_isa_name = _libraries['libamd_comgr.so'].amd_comgr_get_isa_name
323
+ amd_comgr_get_isa_name.restype = amd_comgr_status_t
324
+ amd_comgr_get_isa_name.argtypes = [size_t, ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
325
+ except AttributeError:
326
+ pass
327
+ try:
328
+ amd_comgr_get_isa_metadata = _libraries['libamd_comgr.so'].amd_comgr_get_isa_metadata
329
+ amd_comgr_get_isa_metadata.restype = amd_comgr_status_t
330
+ amd_comgr_get_isa_metadata.argtypes = [ctypes.POINTER(ctypes.c_char), ctypes.POINTER(struct_amd_comgr_metadata_node_s)]
331
+ except AttributeError:
332
+ pass
333
+ try:
334
+ amd_comgr_create_data = _libraries['libamd_comgr.so'].amd_comgr_create_data
335
+ amd_comgr_create_data.restype = amd_comgr_status_t
336
+ amd_comgr_create_data.argtypes = [amd_comgr_data_kind_t, ctypes.POINTER(struct_amd_comgr_data_s)]
337
+ except AttributeError:
338
+ pass
339
+ try:
340
+ amd_comgr_release_data = _libraries['libamd_comgr.so'].amd_comgr_release_data
341
+ amd_comgr_release_data.restype = amd_comgr_status_t
342
+ amd_comgr_release_data.argtypes = [amd_comgr_data_t]
343
+ except AttributeError:
344
+ pass
345
+ try:
346
+ amd_comgr_get_data_kind = _libraries['libamd_comgr.so'].amd_comgr_get_data_kind
347
+ amd_comgr_get_data_kind.restype = amd_comgr_status_t
348
+ amd_comgr_get_data_kind.argtypes = [amd_comgr_data_t, ctypes.POINTER(amd_comgr_data_kind_s)]
349
+ except AttributeError:
350
+ pass
351
+ try:
352
+ amd_comgr_set_data = _libraries['libamd_comgr.so'].amd_comgr_set_data
353
+ amd_comgr_set_data.restype = amd_comgr_status_t
354
+ amd_comgr_set_data.argtypes = [amd_comgr_data_t, size_t, ctypes.POINTER(ctypes.c_char)]
355
+ except AttributeError:
356
+ pass
357
+ uint64_t = ctypes.c_uint64
358
+ try:
359
+ amd_comgr_set_data_from_file_slice = _libraries['libamd_comgr.so'].amd_comgr_set_data_from_file_slice
360
+ amd_comgr_set_data_from_file_slice.restype = amd_comgr_status_t
361
+ amd_comgr_set_data_from_file_slice.argtypes = [amd_comgr_data_t, ctypes.c_int32, uint64_t, uint64_t]
362
+ except AttributeError:
363
+ pass
364
+ try:
365
+ amd_comgr_set_data_name = _libraries['libamd_comgr.so'].amd_comgr_set_data_name
366
+ amd_comgr_set_data_name.restype = amd_comgr_status_t
367
+ amd_comgr_set_data_name.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_char)]
368
+ except AttributeError:
369
+ pass
370
+ try:
371
+ amd_comgr_get_data = _libraries['libamd_comgr.so'].amd_comgr_get_data
372
+ amd_comgr_get_data.restype = amd_comgr_status_t
373
+ amd_comgr_get_data.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
374
+ except AttributeError:
375
+ pass
376
+ try:
377
+ amd_comgr_get_data_name = _libraries['libamd_comgr.so'].amd_comgr_get_data_name
378
+ amd_comgr_get_data_name.restype = amd_comgr_status_t
379
+ amd_comgr_get_data_name.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
380
+ except AttributeError:
381
+ pass
382
+ try:
383
+ amd_comgr_get_data_isa_name = _libraries['libamd_comgr.so'].amd_comgr_get_data_isa_name
384
+ amd_comgr_get_data_isa_name.restype = amd_comgr_status_t
385
+ amd_comgr_get_data_isa_name.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
386
+ except AttributeError:
387
+ pass
388
+ try:
389
+ amd_comgr_create_symbolizer_info = _libraries['libamd_comgr.so'].amd_comgr_create_symbolizer_info
390
+ amd_comgr_create_symbolizer_info.restype = amd_comgr_status_t
391
+ amd_comgr_create_symbolizer_info.argtypes = [amd_comgr_data_t, ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(None)), ctypes.POINTER(struct_amd_comgr_symbolizer_info_s)]
392
+ except AttributeError:
393
+ pass
394
+ try:
395
+ amd_comgr_destroy_symbolizer_info = _libraries['libamd_comgr.so'].amd_comgr_destroy_symbolizer_info
396
+ amd_comgr_destroy_symbolizer_info.restype = amd_comgr_status_t
397
+ amd_comgr_destroy_symbolizer_info.argtypes = [amd_comgr_symbolizer_info_t]
398
+ except AttributeError:
399
+ pass
400
+ try:
401
+ amd_comgr_symbolize = _libraries['libamd_comgr.so'].amd_comgr_symbolize
402
+ amd_comgr_symbolize.restype = amd_comgr_status_t
403
+ amd_comgr_symbolize.argtypes = [amd_comgr_symbolizer_info_t, uint64_t, ctypes.c_bool, ctypes.POINTER(None)]
404
+ except AttributeError:
405
+ pass
406
+ try:
407
+ amd_comgr_get_data_metadata = _libraries['libamd_comgr.so'].amd_comgr_get_data_metadata
408
+ amd_comgr_get_data_metadata.restype = amd_comgr_status_t
409
+ amd_comgr_get_data_metadata.argtypes = [amd_comgr_data_t, ctypes.POINTER(struct_amd_comgr_metadata_node_s)]
410
+ except AttributeError:
411
+ pass
412
+ try:
413
+ amd_comgr_destroy_metadata = _libraries['libamd_comgr.so'].amd_comgr_destroy_metadata
414
+ amd_comgr_destroy_metadata.restype = amd_comgr_status_t
415
+ amd_comgr_destroy_metadata.argtypes = [amd_comgr_metadata_node_t]
416
+ except AttributeError:
417
+ pass
418
+ try:
419
+ amd_comgr_create_data_set = _libraries['libamd_comgr.so'].amd_comgr_create_data_set
420
+ amd_comgr_create_data_set.restype = amd_comgr_status_t
421
+ amd_comgr_create_data_set.argtypes = [ctypes.POINTER(struct_amd_comgr_data_set_s)]
422
+ except AttributeError:
423
+ pass
424
+ try:
425
+ amd_comgr_destroy_data_set = _libraries['libamd_comgr.so'].amd_comgr_destroy_data_set
426
+ amd_comgr_destroy_data_set.restype = amd_comgr_status_t
427
+ amd_comgr_destroy_data_set.argtypes = [amd_comgr_data_set_t]
428
+ except AttributeError:
429
+ pass
430
+ try:
431
+ amd_comgr_data_set_add = _libraries['libamd_comgr.so'].amd_comgr_data_set_add
432
+ amd_comgr_data_set_add.restype = amd_comgr_status_t
433
+ amd_comgr_data_set_add.argtypes = [amd_comgr_data_set_t, amd_comgr_data_t]
434
+ except AttributeError:
435
+ pass
436
+ try:
437
+ amd_comgr_data_set_remove = _libraries['libamd_comgr.so'].amd_comgr_data_set_remove
438
+ amd_comgr_data_set_remove.restype = amd_comgr_status_t
439
+ amd_comgr_data_set_remove.argtypes = [amd_comgr_data_set_t, amd_comgr_data_kind_t]
440
+ except AttributeError:
441
+ pass
442
+ try:
443
+ amd_comgr_action_data_count = _libraries['libamd_comgr.so'].amd_comgr_action_data_count
444
+ amd_comgr_action_data_count.restype = amd_comgr_status_t
445
+ amd_comgr_action_data_count.argtypes = [amd_comgr_data_set_t, amd_comgr_data_kind_t, ctypes.POINTER(ctypes.c_uint64)]
446
+ except AttributeError:
447
+ pass
448
+ try:
449
+ amd_comgr_action_data_get_data = _libraries['libamd_comgr.so'].amd_comgr_action_data_get_data
450
+ amd_comgr_action_data_get_data.restype = amd_comgr_status_t
451
+ amd_comgr_action_data_get_data.argtypes = [amd_comgr_data_set_t, amd_comgr_data_kind_t, size_t, ctypes.POINTER(struct_amd_comgr_data_s)]
452
+ except AttributeError:
453
+ pass
454
+ try:
455
+ amd_comgr_create_action_info = _libraries['libamd_comgr.so'].amd_comgr_create_action_info
456
+ amd_comgr_create_action_info.restype = amd_comgr_status_t
457
+ amd_comgr_create_action_info.argtypes = [ctypes.POINTER(struct_amd_comgr_action_info_s)]
458
+ except AttributeError:
459
+ pass
460
+ try:
461
+ amd_comgr_destroy_action_info = _libraries['libamd_comgr.so'].amd_comgr_destroy_action_info
462
+ amd_comgr_destroy_action_info.restype = amd_comgr_status_t
463
+ amd_comgr_destroy_action_info.argtypes = [amd_comgr_action_info_t]
464
+ except AttributeError:
465
+ pass
466
+ try:
467
+ amd_comgr_action_info_set_isa_name = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_isa_name
468
+ amd_comgr_action_info_set_isa_name.restype = amd_comgr_status_t
469
+ amd_comgr_action_info_set_isa_name.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_char)]
470
+ except AttributeError:
471
+ pass
472
+ try:
473
+ amd_comgr_action_info_get_isa_name = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_isa_name
474
+ amd_comgr_action_info_get_isa_name.restype = amd_comgr_status_t
475
+ amd_comgr_action_info_get_isa_name.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
476
+ except AttributeError:
477
+ pass
478
+ try:
479
+ amd_comgr_action_info_set_language = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_language
480
+ amd_comgr_action_info_set_language.restype = amd_comgr_status_t
481
+ amd_comgr_action_info_set_language.argtypes = [amd_comgr_action_info_t, amd_comgr_language_t]
482
+ except AttributeError:
483
+ pass
484
+ try:
485
+ amd_comgr_action_info_get_language = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_language
486
+ amd_comgr_action_info_get_language.restype = amd_comgr_status_t
487
+ amd_comgr_action_info_get_language.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(amd_comgr_language_s)]
488
+ except AttributeError:
489
+ pass
490
+ try:
491
+ amd_comgr_action_info_set_option_list = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_option_list
492
+ amd_comgr_action_info_set_option_list.restype = amd_comgr_status_t
493
+ amd_comgr_action_info_set_option_list.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_char) * 0, size_t]
494
+ except AttributeError:
495
+ pass
496
+ try:
497
+ amd_comgr_action_info_get_option_list_count = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_option_list_count
498
+ amd_comgr_action_info_get_option_list_count.restype = amd_comgr_status_t
499
+ amd_comgr_action_info_get_option_list_count.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_uint64)]
500
+ except AttributeError:
501
+ pass
502
+ try:
503
+ amd_comgr_action_info_get_option_list_item = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_option_list_item
504
+ amd_comgr_action_info_get_option_list_item.restype = amd_comgr_status_t
505
+ amd_comgr_action_info_get_option_list_item.argtypes = [amd_comgr_action_info_t, size_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
506
+ except AttributeError:
507
+ pass
508
+ try:
509
+ amd_comgr_action_info_set_bundle_entry_ids = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_bundle_entry_ids
510
+ amd_comgr_action_info_set_bundle_entry_ids.restype = amd_comgr_status_t
511
+ amd_comgr_action_info_set_bundle_entry_ids.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_char) * 0, size_t]
512
+ except AttributeError:
513
+ pass
514
+ try:
515
+ amd_comgr_action_info_get_bundle_entry_id_count = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_bundle_entry_id_count
516
+ amd_comgr_action_info_get_bundle_entry_id_count.restype = amd_comgr_status_t
517
+ amd_comgr_action_info_get_bundle_entry_id_count.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_uint64)]
518
+ except AttributeError:
519
+ pass
520
+ try:
521
+ amd_comgr_action_info_get_bundle_entry_id = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_bundle_entry_id
522
+ amd_comgr_action_info_get_bundle_entry_id.restype = amd_comgr_status_t
523
+ amd_comgr_action_info_get_bundle_entry_id.argtypes = [amd_comgr_action_info_t, size_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
524
+ except AttributeError:
525
+ pass
526
+ try:
527
+ amd_comgr_action_info_set_device_lib_linking = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_device_lib_linking
528
+ amd_comgr_action_info_set_device_lib_linking.restype = amd_comgr_status_t
529
+ amd_comgr_action_info_set_device_lib_linking.argtypes = [amd_comgr_action_info_t, ctypes.c_bool]
530
+ except AttributeError:
531
+ pass
532
+ try:
533
+ amd_comgr_action_info_set_working_directory_path = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_working_directory_path
534
+ amd_comgr_action_info_set_working_directory_path.restype = amd_comgr_status_t
535
+ amd_comgr_action_info_set_working_directory_path.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_char)]
536
+ except AttributeError:
537
+ pass
538
+ try:
539
+ amd_comgr_action_info_get_working_directory_path = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_working_directory_path
540
+ amd_comgr_action_info_get_working_directory_path.restype = amd_comgr_status_t
541
+ amd_comgr_action_info_get_working_directory_path.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
542
+ except AttributeError:
543
+ pass
544
+ try:
545
+ amd_comgr_action_info_set_logging = _libraries['libamd_comgr.so'].amd_comgr_action_info_set_logging
546
+ amd_comgr_action_info_set_logging.restype = amd_comgr_status_t
547
+ amd_comgr_action_info_set_logging.argtypes = [amd_comgr_action_info_t, ctypes.c_bool]
548
+ except AttributeError:
549
+ pass
550
+ try:
551
+ amd_comgr_action_info_get_logging = _libraries['libamd_comgr.so'].amd_comgr_action_info_get_logging
552
+ amd_comgr_action_info_get_logging.restype = amd_comgr_status_t
553
+ amd_comgr_action_info_get_logging.argtypes = [amd_comgr_action_info_t, ctypes.POINTER(ctypes.c_bool)]
554
+ except AttributeError:
555
+ pass
556
+
557
+ # values for enumeration 'amd_comgr_action_kind_s'
558
+ amd_comgr_action_kind_s__enumvalues = {
559
+ 0: 'AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR',
560
+ 1: 'AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS',
561
+ 2: 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC',
562
+ 3: 'AMD_COMGR_ACTION_LINK_BC_TO_BC',
563
+ 4: 'AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE',
564
+ 5: 'AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY',
565
+ 6: 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE',
566
+ 7: 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE',
567
+ 8: 'AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE',
568
+ 9: 'AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE',
569
+ 10: 'AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE',
570
+ 11: 'AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE',
571
+ 12: 'AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC',
572
+ 13: 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE',
573
+ 14: 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE',
574
+ 15: 'AMD_COMGR_ACTION_UNBUNDLE',
575
+ 19: 'AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC',
576
+ 19: 'AMD_COMGR_ACTION_LAST',
577
+ }
578
+ AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR = 0
579
+ AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS = 1
580
+ AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC = 2
581
+ AMD_COMGR_ACTION_LINK_BC_TO_BC = 3
582
+ AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE = 4
583
+ AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY = 5
584
+ AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE = 6
585
+ AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE = 7
586
+ AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE = 8
587
+ AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE = 9
588
+ AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE = 10
589
+ AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE = 11
590
+ AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC = 12
591
+ AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE = 13
592
+ AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE = 14
593
+ AMD_COMGR_ACTION_UNBUNDLE = 15
594
+ AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC = 19
595
+ AMD_COMGR_ACTION_LAST = 19
596
+ amd_comgr_action_kind_s = ctypes.c_uint32 # enum
597
+ amd_comgr_action_kind_t = amd_comgr_action_kind_s
598
+ amd_comgr_action_kind_t__enumvalues = amd_comgr_action_kind_s__enumvalues
599
+ try:
600
+ amd_comgr_do_action = _libraries['libamd_comgr.so'].amd_comgr_do_action
601
+ amd_comgr_do_action.restype = amd_comgr_status_t
602
+ amd_comgr_do_action.argtypes = [amd_comgr_action_kind_t, amd_comgr_action_info_t, amd_comgr_data_set_t, amd_comgr_data_set_t]
603
+ except AttributeError:
604
+ pass
605
+
606
+ # values for enumeration 'amd_comgr_metadata_kind_s'
607
+ amd_comgr_metadata_kind_s__enumvalues = {
608
+ 0: 'AMD_COMGR_METADATA_KIND_NULL',
609
+ 1: 'AMD_COMGR_METADATA_KIND_STRING',
610
+ 2: 'AMD_COMGR_METADATA_KIND_MAP',
611
+ 3: 'AMD_COMGR_METADATA_KIND_LIST',
612
+ 3: 'AMD_COMGR_METADATA_KIND_LAST',
613
+ }
614
+ AMD_COMGR_METADATA_KIND_NULL = 0
615
+ AMD_COMGR_METADATA_KIND_STRING = 1
616
+ AMD_COMGR_METADATA_KIND_MAP = 2
617
+ AMD_COMGR_METADATA_KIND_LIST = 3
618
+ AMD_COMGR_METADATA_KIND_LAST = 3
619
+ amd_comgr_metadata_kind_s = ctypes.c_uint32 # enum
620
+ amd_comgr_metadata_kind_t = amd_comgr_metadata_kind_s
621
+ amd_comgr_metadata_kind_t__enumvalues = amd_comgr_metadata_kind_s__enumvalues
622
+ try:
623
+ amd_comgr_get_metadata_kind = _libraries['libamd_comgr.so'].amd_comgr_get_metadata_kind
624
+ amd_comgr_get_metadata_kind.restype = amd_comgr_status_t
625
+ amd_comgr_get_metadata_kind.argtypes = [amd_comgr_metadata_node_t, ctypes.POINTER(amd_comgr_metadata_kind_s)]
626
+ except AttributeError:
627
+ pass
628
+ try:
629
+ amd_comgr_get_metadata_string = _libraries['libamd_comgr.so'].amd_comgr_get_metadata_string
630
+ amd_comgr_get_metadata_string.restype = amd_comgr_status_t
631
+ amd_comgr_get_metadata_string.argtypes = [amd_comgr_metadata_node_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
632
+ except AttributeError:
633
+ pass
634
+ try:
635
+ amd_comgr_get_metadata_map_size = _libraries['libamd_comgr.so'].amd_comgr_get_metadata_map_size
636
+ amd_comgr_get_metadata_map_size.restype = amd_comgr_status_t
637
+ amd_comgr_get_metadata_map_size.argtypes = [amd_comgr_metadata_node_t, ctypes.POINTER(ctypes.c_uint64)]
638
+ except AttributeError:
639
+ pass
640
+ try:
641
+ amd_comgr_iterate_map_metadata = _libraries['libamd_comgr.so'].amd_comgr_iterate_map_metadata
642
+ amd_comgr_iterate_map_metadata.restype = amd_comgr_status_t
643
+ amd_comgr_iterate_map_metadata.argtypes = [amd_comgr_metadata_node_t, ctypes.CFUNCTYPE(amd_comgr_status_s, struct_amd_comgr_metadata_node_s, struct_amd_comgr_metadata_node_s, ctypes.POINTER(None)), ctypes.POINTER(None)]
644
+ except AttributeError:
645
+ pass
646
+ try:
647
+ amd_comgr_metadata_lookup = _libraries['libamd_comgr.so'].amd_comgr_metadata_lookup
648
+ amd_comgr_metadata_lookup.restype = amd_comgr_status_t
649
+ amd_comgr_metadata_lookup.argtypes = [amd_comgr_metadata_node_t, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(struct_amd_comgr_metadata_node_s)]
650
+ except AttributeError:
651
+ pass
652
+ try:
653
+ amd_comgr_get_metadata_list_size = _libraries['libamd_comgr.so'].amd_comgr_get_metadata_list_size
654
+ amd_comgr_get_metadata_list_size.restype = amd_comgr_status_t
655
+ amd_comgr_get_metadata_list_size.argtypes = [amd_comgr_metadata_node_t, ctypes.POINTER(ctypes.c_uint64)]
656
+ except AttributeError:
657
+ pass
658
+ try:
659
+ amd_comgr_index_list_metadata = _libraries['libamd_comgr.so'].amd_comgr_index_list_metadata
660
+ amd_comgr_index_list_metadata.restype = amd_comgr_status_t
661
+ amd_comgr_index_list_metadata.argtypes = [amd_comgr_metadata_node_t, size_t, ctypes.POINTER(struct_amd_comgr_metadata_node_s)]
662
+ except AttributeError:
663
+ pass
664
+ try:
665
+ amd_comgr_iterate_symbols = _libraries['libamd_comgr.so'].amd_comgr_iterate_symbols
666
+ amd_comgr_iterate_symbols.restype = amd_comgr_status_t
667
+ amd_comgr_iterate_symbols.argtypes = [amd_comgr_data_t, ctypes.CFUNCTYPE(amd_comgr_status_s, struct_amd_comgr_symbol_s, ctypes.POINTER(None)), ctypes.POINTER(None)]
668
+ except AttributeError:
669
+ pass
670
+ try:
671
+ amd_comgr_symbol_lookup = _libraries['libamd_comgr.so'].amd_comgr_symbol_lookup
672
+ amd_comgr_symbol_lookup.restype = amd_comgr_status_t
673
+ amd_comgr_symbol_lookup.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(struct_amd_comgr_symbol_s)]
674
+ except AttributeError:
675
+ pass
676
+
677
+ # values for enumeration 'amd_comgr_symbol_type_s'
678
+ amd_comgr_symbol_type_s__enumvalues = {
679
+ -1: 'AMD_COMGR_SYMBOL_TYPE_UNKNOWN',
680
+ 0: 'AMD_COMGR_SYMBOL_TYPE_NOTYPE',
681
+ 1: 'AMD_COMGR_SYMBOL_TYPE_OBJECT',
682
+ 2: 'AMD_COMGR_SYMBOL_TYPE_FUNC',
683
+ 3: 'AMD_COMGR_SYMBOL_TYPE_SECTION',
684
+ 4: 'AMD_COMGR_SYMBOL_TYPE_FILE',
685
+ 5: 'AMD_COMGR_SYMBOL_TYPE_COMMON',
686
+ 10: 'AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL',
687
+ }
688
+ AMD_COMGR_SYMBOL_TYPE_UNKNOWN = -1
689
+ AMD_COMGR_SYMBOL_TYPE_NOTYPE = 0
690
+ AMD_COMGR_SYMBOL_TYPE_OBJECT = 1
691
+ AMD_COMGR_SYMBOL_TYPE_FUNC = 2
692
+ AMD_COMGR_SYMBOL_TYPE_SECTION = 3
693
+ AMD_COMGR_SYMBOL_TYPE_FILE = 4
694
+ AMD_COMGR_SYMBOL_TYPE_COMMON = 5
695
+ AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL = 10
696
+ amd_comgr_symbol_type_s = ctypes.c_int32 # enum
697
+ amd_comgr_symbol_type_t = amd_comgr_symbol_type_s
698
+ amd_comgr_symbol_type_t__enumvalues = amd_comgr_symbol_type_s__enumvalues
699
+
700
+ # values for enumeration 'amd_comgr_symbol_info_s'
701
+ amd_comgr_symbol_info_s__enumvalues = {
702
+ 0: 'AMD_COMGR_SYMBOL_INFO_NAME_LENGTH',
703
+ 1: 'AMD_COMGR_SYMBOL_INFO_NAME',
704
+ 2: 'AMD_COMGR_SYMBOL_INFO_TYPE',
705
+ 3: 'AMD_COMGR_SYMBOL_INFO_SIZE',
706
+ 4: 'AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED',
707
+ 5: 'AMD_COMGR_SYMBOL_INFO_VALUE',
708
+ 5: 'AMD_COMGR_SYMBOL_INFO_LAST',
709
+ }
710
+ AMD_COMGR_SYMBOL_INFO_NAME_LENGTH = 0
711
+ AMD_COMGR_SYMBOL_INFO_NAME = 1
712
+ AMD_COMGR_SYMBOL_INFO_TYPE = 2
713
+ AMD_COMGR_SYMBOL_INFO_SIZE = 3
714
+ AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED = 4
715
+ AMD_COMGR_SYMBOL_INFO_VALUE = 5
716
+ AMD_COMGR_SYMBOL_INFO_LAST = 5
717
+ amd_comgr_symbol_info_s = ctypes.c_uint32 # enum
718
+ amd_comgr_symbol_info_t = amd_comgr_symbol_info_s
719
+ amd_comgr_symbol_info_t__enumvalues = amd_comgr_symbol_info_s__enumvalues
720
+ try:
721
+ amd_comgr_symbol_get_info = _libraries['libamd_comgr.so'].amd_comgr_symbol_get_info
722
+ amd_comgr_symbol_get_info.restype = amd_comgr_status_t
723
+ amd_comgr_symbol_get_info.argtypes = [amd_comgr_symbol_t, amd_comgr_symbol_info_t, ctypes.POINTER(None)]
724
+ except AttributeError:
725
+ pass
726
+ try:
727
+ amd_comgr_create_disassembly_info = _libraries['libamd_comgr.so'].amd_comgr_create_disassembly_info
728
+ amd_comgr_create_disassembly_info.restype = amd_comgr_status_t
729
+ amd_comgr_create_disassembly_info.argtypes = [ctypes.POINTER(ctypes.c_char), ctypes.CFUNCTYPE(ctypes.c_uint64, ctypes.c_uint64, ctypes.POINTER(ctypes.c_char), ctypes.c_uint64, ctypes.POINTER(None)), ctypes.CFUNCTYPE(None, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(None)), ctypes.CFUNCTYPE(None, ctypes.c_uint64, ctypes.POINTER(None)), ctypes.POINTER(struct_amd_comgr_disassembly_info_s)]
730
+ except AttributeError:
731
+ pass
732
+ try:
733
+ amd_comgr_destroy_disassembly_info = _libraries['libamd_comgr.so'].amd_comgr_destroy_disassembly_info
734
+ amd_comgr_destroy_disassembly_info.restype = amd_comgr_status_t
735
+ amd_comgr_destroy_disassembly_info.argtypes = [amd_comgr_disassembly_info_t]
736
+ except AttributeError:
737
+ pass
738
+ try:
739
+ amd_comgr_disassemble_instruction = _libraries['libamd_comgr.so'].amd_comgr_disassemble_instruction
740
+ amd_comgr_disassemble_instruction.restype = amd_comgr_status_t
741
+ amd_comgr_disassemble_instruction.argtypes = [amd_comgr_disassembly_info_t, uint64_t, ctypes.POINTER(None), ctypes.POINTER(ctypes.c_uint64)]
742
+ except AttributeError:
743
+ pass
744
+ try:
745
+ amd_comgr_demangle_symbol_name = _libraries['libamd_comgr.so'].amd_comgr_demangle_symbol_name
746
+ amd_comgr_demangle_symbol_name.restype = amd_comgr_status_t
747
+ amd_comgr_demangle_symbol_name.argtypes = [amd_comgr_data_t, ctypes.POINTER(struct_amd_comgr_data_s)]
748
+ except AttributeError:
749
+ pass
750
+ try:
751
+ amd_comgr_populate_mangled_names = _libraries['libamd_comgr.so'].amd_comgr_populate_mangled_names
752
+ amd_comgr_populate_mangled_names.restype = amd_comgr_status_t
753
+ amd_comgr_populate_mangled_names.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64)]
754
+ except AttributeError:
755
+ pass
756
+ try:
757
+ amd_comgr_get_mangled_name = _libraries['libamd_comgr.so'].amd_comgr_get_mangled_name
758
+ amd_comgr_get_mangled_name.restype = amd_comgr_status_t
759
+ amd_comgr_get_mangled_name.argtypes = [amd_comgr_data_t, size_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char)]
760
+ except AttributeError:
761
+ pass
762
+ try:
763
+ amd_comgr_populate_name_expression_map = _libraries['libamd_comgr.so'].amd_comgr_populate_name_expression_map
764
+ amd_comgr_populate_name_expression_map.restype = amd_comgr_status_t
765
+ amd_comgr_populate_name_expression_map.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64)]
766
+ except AttributeError:
767
+ pass
768
+ try:
769
+ amd_comgr_map_name_expression_to_symbol_name = _libraries['libamd_comgr.so'].amd_comgr_map_name_expression_to_symbol_name
770
+ amd_comgr_map_name_expression_to_symbol_name.restype = amd_comgr_status_t
771
+ amd_comgr_map_name_expression_to_symbol_name.argtypes = [amd_comgr_data_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char)]
772
+ except AttributeError:
773
+ pass
774
+ class struct_code_object_info_s(Structure):
775
+ pass
776
+
777
+ struct_code_object_info_s._pack_ = 1 # source:False
778
+ struct_code_object_info_s._fields_ = [
779
+ ('isa', ctypes.POINTER(ctypes.c_char)),
780
+ ('size', ctypes.c_uint64),
781
+ ('offset', ctypes.c_uint64),
782
+ ]
783
+
784
+ amd_comgr_code_object_info_t = struct_code_object_info_s
785
+ try:
786
+ amd_comgr_lookup_code_object = _libraries['libamd_comgr.so'].amd_comgr_lookup_code_object
787
+ amd_comgr_lookup_code_object.restype = amd_comgr_status_t
788
+ amd_comgr_lookup_code_object.argtypes = [amd_comgr_data_t, ctypes.POINTER(struct_code_object_info_s), size_t]
789
+ except AttributeError:
790
+ pass
791
+ try:
792
+ amd_comgr_map_elf_virtual_address_to_code_object_offset = _libraries['libamd_comgr.so'].amd_comgr_map_elf_virtual_address_to_code_object_offset
793
+ amd_comgr_map_elf_virtual_address_to_code_object_offset.restype = amd_comgr_status_t
794
+ amd_comgr_map_elf_virtual_address_to_code_object_offset.argtypes = [amd_comgr_data_t, uint64_t, ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_uint64), ctypes.POINTER(ctypes.c_bool)]
795
+ except AttributeError:
796
+ pass
797
+ __all__ = \
798
+ ['AMD_COMGR_ACTION_ADD_PRECOMPILED_HEADERS',
799
+ 'AMD_COMGR_ACTION_ASSEMBLE_SOURCE_TO_RELOCATABLE',
800
+ 'AMD_COMGR_ACTION_CODEGEN_BC_TO_ASSEMBLY',
801
+ 'AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE',
802
+ 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_BC',
803
+ 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_EXECUTABLE',
804
+ 'AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE',
805
+ 'AMD_COMGR_ACTION_COMPILE_SOURCE_WITH_DEVICE_LIBS_TO_BC',
806
+ 'AMD_COMGR_ACTION_DISASSEMBLE_BYTES_TO_SOURCE',
807
+ 'AMD_COMGR_ACTION_DISASSEMBLE_EXECUTABLE_TO_SOURCE',
808
+ 'AMD_COMGR_ACTION_DISASSEMBLE_RELOCATABLE_TO_SOURCE',
809
+ 'AMD_COMGR_ACTION_LAST', 'AMD_COMGR_ACTION_LINK_BC_TO_BC',
810
+ 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_EXECUTABLE',
811
+ 'AMD_COMGR_ACTION_LINK_RELOCATABLE_TO_RELOCATABLE',
812
+ 'AMD_COMGR_ACTION_SOURCE_TO_PREPROCESSOR',
813
+ 'AMD_COMGR_ACTION_TRANSLATE_SPIRV_TO_BC',
814
+ 'AMD_COMGR_ACTION_UNBUNDLE', 'AMD_COMGR_DATA_KIND_AR',
815
+ 'AMD_COMGR_DATA_KIND_AR_BUNDLE', 'AMD_COMGR_DATA_KIND_BC',
816
+ 'AMD_COMGR_DATA_KIND_BC_BUNDLE', 'AMD_COMGR_DATA_KIND_BYTES',
817
+ 'AMD_COMGR_DATA_KIND_DIAGNOSTIC',
818
+ 'AMD_COMGR_DATA_KIND_EXECUTABLE', 'AMD_COMGR_DATA_KIND_FATBIN',
819
+ 'AMD_COMGR_DATA_KIND_INCLUDE', 'AMD_COMGR_DATA_KIND_LAST',
820
+ 'AMD_COMGR_DATA_KIND_LOG', 'AMD_COMGR_DATA_KIND_OBJ_BUNDLE',
821
+ 'AMD_COMGR_DATA_KIND_PRECOMPILED_HEADER',
822
+ 'AMD_COMGR_DATA_KIND_RELOCATABLE', 'AMD_COMGR_DATA_KIND_SOURCE',
823
+ 'AMD_COMGR_DATA_KIND_SPIRV', 'AMD_COMGR_DATA_KIND_UNDEF',
824
+ 'AMD_COMGR_LANGUAGE_HIP', 'AMD_COMGR_LANGUAGE_LAST',
825
+ 'AMD_COMGR_LANGUAGE_LLVM_IR', 'AMD_COMGR_LANGUAGE_NONE',
826
+ 'AMD_COMGR_LANGUAGE_OPENCL_1_2', 'AMD_COMGR_LANGUAGE_OPENCL_2_0',
827
+ 'AMD_COMGR_METADATA_KIND_LAST', 'AMD_COMGR_METADATA_KIND_LIST',
828
+ 'AMD_COMGR_METADATA_KIND_MAP', 'AMD_COMGR_METADATA_KIND_NULL',
829
+ 'AMD_COMGR_METADATA_KIND_STRING', 'AMD_COMGR_STATUS_ERROR',
830
+ 'AMD_COMGR_STATUS_ERROR_INVALID_ARGUMENT',
831
+ 'AMD_COMGR_STATUS_ERROR_OUT_OF_RESOURCES',
832
+ 'AMD_COMGR_STATUS_SUCCESS', 'AMD_COMGR_SYMBOL_INFO_IS_UNDEFINED',
833
+ 'AMD_COMGR_SYMBOL_INFO_LAST', 'AMD_COMGR_SYMBOL_INFO_NAME',
834
+ 'AMD_COMGR_SYMBOL_INFO_NAME_LENGTH', 'AMD_COMGR_SYMBOL_INFO_SIZE',
835
+ 'AMD_COMGR_SYMBOL_INFO_TYPE', 'AMD_COMGR_SYMBOL_INFO_VALUE',
836
+ 'AMD_COMGR_SYMBOL_TYPE_AMDGPU_HSA_KERNEL',
837
+ 'AMD_COMGR_SYMBOL_TYPE_COMMON', 'AMD_COMGR_SYMBOL_TYPE_FILE',
838
+ 'AMD_COMGR_SYMBOL_TYPE_FUNC', 'AMD_COMGR_SYMBOL_TYPE_NOTYPE',
839
+ 'AMD_COMGR_SYMBOL_TYPE_OBJECT', 'AMD_COMGR_SYMBOL_TYPE_SECTION',
840
+ 'AMD_COMGR_SYMBOL_TYPE_UNKNOWN', 'amd_comgr_action_data_count',
841
+ 'amd_comgr_action_data_get_data',
842
+ 'amd_comgr_action_info_get_bundle_entry_id',
843
+ 'amd_comgr_action_info_get_bundle_entry_id_count',
844
+ 'amd_comgr_action_info_get_isa_name',
845
+ 'amd_comgr_action_info_get_language',
846
+ 'amd_comgr_action_info_get_logging',
847
+ 'amd_comgr_action_info_get_option_list_count',
848
+ 'amd_comgr_action_info_get_option_list_item',
849
+ 'amd_comgr_action_info_get_working_directory_path',
850
+ 'amd_comgr_action_info_set_bundle_entry_ids',
851
+ 'amd_comgr_action_info_set_device_lib_linking',
852
+ 'amd_comgr_action_info_set_isa_name',
853
+ 'amd_comgr_action_info_set_language',
854
+ 'amd_comgr_action_info_set_logging',
855
+ 'amd_comgr_action_info_set_option_list',
856
+ 'amd_comgr_action_info_set_working_directory_path',
857
+ 'amd_comgr_action_info_t', 'amd_comgr_action_kind_s',
858
+ 'amd_comgr_action_kind_t', 'amd_comgr_action_kind_t__enumvalues',
859
+ 'amd_comgr_code_object_info_t', 'amd_comgr_create_action_info',
860
+ 'amd_comgr_create_data', 'amd_comgr_create_data_set',
861
+ 'amd_comgr_create_disassembly_info',
862
+ 'amd_comgr_create_symbolizer_info', 'amd_comgr_data_kind_s',
863
+ 'amd_comgr_data_kind_t', 'amd_comgr_data_kind_t__enumvalues',
864
+ 'amd_comgr_data_set_add', 'amd_comgr_data_set_remove',
865
+ 'amd_comgr_data_set_t', 'amd_comgr_data_t',
866
+ 'amd_comgr_demangle_symbol_name', 'amd_comgr_destroy_action_info',
867
+ 'amd_comgr_destroy_data_set',
868
+ 'amd_comgr_destroy_disassembly_info',
869
+ 'amd_comgr_destroy_metadata', 'amd_comgr_destroy_symbolizer_info',
870
+ 'amd_comgr_disassemble_instruction',
871
+ 'amd_comgr_disassembly_info_t', 'amd_comgr_do_action',
872
+ 'amd_comgr_get_data', 'amd_comgr_get_data_isa_name',
873
+ 'amd_comgr_get_data_kind', 'amd_comgr_get_data_metadata',
874
+ 'amd_comgr_get_data_name', 'amd_comgr_get_isa_count',
875
+ 'amd_comgr_get_isa_metadata', 'amd_comgr_get_isa_name',
876
+ 'amd_comgr_get_mangled_name', 'amd_comgr_get_metadata_kind',
877
+ 'amd_comgr_get_metadata_list_size',
878
+ 'amd_comgr_get_metadata_map_size',
879
+ 'amd_comgr_get_metadata_string', 'amd_comgr_get_version',
880
+ 'amd_comgr_index_list_metadata', 'amd_comgr_iterate_map_metadata',
881
+ 'amd_comgr_iterate_symbols', 'amd_comgr_language_s',
882
+ 'amd_comgr_language_t', 'amd_comgr_language_t__enumvalues',
883
+ 'amd_comgr_lookup_code_object',
884
+ 'amd_comgr_map_elf_virtual_address_to_code_object_offset',
885
+ 'amd_comgr_map_name_expression_to_symbol_name',
886
+ 'amd_comgr_metadata_kind_s', 'amd_comgr_metadata_kind_t',
887
+ 'amd_comgr_metadata_kind_t__enumvalues',
888
+ 'amd_comgr_metadata_lookup', 'amd_comgr_metadata_node_t',
889
+ 'amd_comgr_populate_mangled_names',
890
+ 'amd_comgr_populate_name_expression_map',
891
+ 'amd_comgr_release_data', 'amd_comgr_set_data',
892
+ 'amd_comgr_set_data_from_file_slice', 'amd_comgr_set_data_name',
893
+ 'amd_comgr_status_s', 'amd_comgr_status_string',
894
+ 'amd_comgr_status_t', 'amd_comgr_status_t__enumvalues',
895
+ 'amd_comgr_symbol_get_info', 'amd_comgr_symbol_info_s',
896
+ 'amd_comgr_symbol_info_t', 'amd_comgr_symbol_info_t__enumvalues',
897
+ 'amd_comgr_symbol_lookup', 'amd_comgr_symbol_t',
898
+ 'amd_comgr_symbol_type_s', 'amd_comgr_symbol_type_t',
899
+ 'amd_comgr_symbol_type_t__enumvalues', 'amd_comgr_symbolize',
900
+ 'amd_comgr_symbolizer_info_t', 'size_t',
901
+ 'struct_amd_comgr_action_info_s', 'struct_amd_comgr_data_s',
902
+ 'struct_amd_comgr_data_set_s',
903
+ 'struct_amd_comgr_disassembly_info_s',
904
+ 'struct_amd_comgr_metadata_node_s', 'struct_amd_comgr_symbol_s',
905
+ 'struct_amd_comgr_symbolizer_info_s', 'struct_code_object_info_s',
906
+ 'uint64_t']