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