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.
- tinygrad/__init__.py +1 -1
- tinygrad/apps/llm.py +206 -0
- tinygrad/codegen/__init__.py +116 -0
- tinygrad/codegen/devectorizer.py +315 -172
- tinygrad/codegen/expander.py +8 -16
- tinygrad/codegen/gpudims.py +89 -0
- tinygrad/codegen/linearize.py +205 -203
- tinygrad/codegen/lowerer.py +92 -139
- tinygrad/codegen/opt/__init__.py +38 -0
- tinygrad/codegen/opt/heuristic.py +125 -0
- tinygrad/codegen/opt/kernel.py +510 -0
- tinygrad/{engine → codegen/opt}/search.py +51 -35
- tinygrad/codegen/opt/swizzler.py +134 -0
- tinygrad/codegen/opt/tc.py +127 -0
- tinygrad/codegen/quantize.py +67 -0
- tinygrad/device.py +122 -132
- tinygrad/dtype.py +152 -35
- tinygrad/engine/jit.py +81 -54
- tinygrad/engine/memory.py +46 -27
- tinygrad/engine/realize.py +82 -41
- tinygrad/engine/schedule.py +70 -445
- tinygrad/frontend/__init__.py +0 -0
- tinygrad/frontend/onnx.py +1253 -0
- tinygrad/frontend/torch.py +5 -0
- tinygrad/gradient.py +19 -27
- tinygrad/helpers.py +95 -47
- tinygrad/nn/__init__.py +7 -8
- tinygrad/nn/optim.py +72 -41
- tinygrad/nn/state.py +37 -23
- tinygrad/renderer/__init__.py +40 -60
- tinygrad/renderer/cstyle.py +143 -128
- tinygrad/renderer/llvmir.py +113 -62
- tinygrad/renderer/ptx.py +50 -32
- tinygrad/renderer/wgsl.py +27 -23
- tinygrad/runtime/autogen/am/am.py +5861 -0
- tinygrad/runtime/autogen/am/pm4_nv.py +962 -0
- tinygrad/runtime/autogen/am/pm4_soc15.py +931 -0
- tinygrad/runtime/autogen/am/sdma_4_0_0.py +5209 -0
- tinygrad/runtime/autogen/am/sdma_4_4_2.py +5209 -0
- tinygrad/runtime/autogen/am/sdma_5_0_0.py +7103 -0
- tinygrad/runtime/autogen/am/sdma_6_0_0.py +8085 -0
- tinygrad/runtime/autogen/am/smu_v13_0_0.py +3068 -0
- tinygrad/runtime/autogen/am/smu_v14_0_2.py +3605 -0
- tinygrad/runtime/autogen/amd_gpu.py +1433 -67197
- tinygrad/runtime/autogen/comgr.py +35 -9
- tinygrad/runtime/autogen/comgr_3.py +906 -0
- tinygrad/runtime/autogen/cuda.py +2419 -494
- tinygrad/runtime/autogen/hsa.py +57 -16
- tinygrad/runtime/autogen/ib.py +7171 -0
- tinygrad/runtime/autogen/io_uring.py +917 -118
- tinygrad/runtime/autogen/kfd.py +748 -26
- tinygrad/runtime/autogen/libc.py +613 -218
- tinygrad/runtime/autogen/libusb.py +1643 -0
- tinygrad/runtime/autogen/nv/nv.py +8602 -0
- tinygrad/runtime/autogen/nv_gpu.py +7218 -2072
- tinygrad/runtime/autogen/opencl.py +2 -4
- tinygrad/runtime/autogen/sqtt.py +1789 -0
- tinygrad/runtime/autogen/vfio.py +3 -3
- tinygrad/runtime/autogen/webgpu.py +273 -264
- tinygrad/runtime/graph/cuda.py +3 -3
- tinygrad/runtime/graph/hcq.py +68 -29
- tinygrad/runtime/graph/metal.py +29 -13
- tinygrad/runtime/graph/remote.py +114 -0
- tinygrad/runtime/ops_amd.py +537 -320
- tinygrad/runtime/ops_cpu.py +108 -7
- tinygrad/runtime/ops_cuda.py +12 -14
- tinygrad/runtime/ops_disk.py +13 -10
- tinygrad/runtime/ops_dsp.py +47 -40
- tinygrad/runtime/ops_gpu.py +13 -11
- tinygrad/runtime/ops_hip.py +6 -9
- tinygrad/runtime/ops_llvm.py +35 -15
- tinygrad/runtime/ops_metal.py +29 -19
- tinygrad/runtime/ops_npy.py +5 -3
- tinygrad/runtime/ops_null.py +28 -0
- tinygrad/runtime/ops_nv.py +306 -234
- tinygrad/runtime/ops_python.py +62 -52
- tinygrad/runtime/ops_qcom.py +28 -39
- tinygrad/runtime/ops_remote.py +482 -0
- tinygrad/runtime/ops_webgpu.py +28 -28
- tinygrad/runtime/support/am/amdev.py +114 -249
- tinygrad/runtime/support/am/ip.py +211 -172
- tinygrad/runtime/support/amd.py +138 -0
- tinygrad/runtime/support/{compiler_hip.py → compiler_amd.py} +40 -8
- tinygrad/runtime/support/compiler_cuda.py +8 -11
- tinygrad/runtime/support/elf.py +2 -1
- tinygrad/runtime/support/hcq.py +184 -97
- tinygrad/runtime/support/ib.py +172 -0
- tinygrad/runtime/support/llvm.py +3 -4
- tinygrad/runtime/support/memory.py +251 -0
- tinygrad/runtime/support/nv/__init__.py +0 -0
- tinygrad/runtime/support/nv/ip.py +581 -0
- tinygrad/runtime/support/nv/nvdev.py +183 -0
- tinygrad/runtime/support/system.py +170 -0
- tinygrad/runtime/support/usb.py +268 -0
- tinygrad/runtime/support/webgpu.py +18 -0
- tinygrad/schedule/__init__.py +0 -0
- tinygrad/schedule/grouper.py +119 -0
- tinygrad/schedule/kernelize.py +368 -0
- tinygrad/schedule/multi.py +231 -0
- tinygrad/shape/shapetracker.py +40 -46
- tinygrad/shape/view.py +88 -52
- tinygrad/tensor.py +968 -542
- tinygrad/uop/__init__.py +117 -0
- tinygrad/{codegen/transcendental.py → uop/decompositions.py} +125 -38
- tinygrad/uop/mathtraits.py +169 -0
- tinygrad/uop/ops.py +1021 -0
- tinygrad/uop/spec.py +228 -0
- tinygrad/{codegen → uop}/symbolic.py +239 -216
- tinygrad/uop/upat.py +163 -0
- tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js +19 -0
- tinygrad/viz/assets/d3js.org/d3.v7.min.js +2 -0
- tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js +801 -0
- tinygrad/viz/index.html +203 -403
- tinygrad/viz/js/index.js +718 -0
- tinygrad/viz/js/worker.js +29 -0
- tinygrad/viz/serve.py +224 -102
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/METADATA +24 -16
- tinygrad-0.11.0.dist-info/RECORD +141 -0
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/WHEEL +1 -1
- tinygrad/codegen/kernel.py +0 -693
- tinygrad/engine/multi.py +0 -161
- tinygrad/ops.py +0 -1003
- tinygrad/runtime/ops_cloud.py +0 -220
- tinygrad/runtime/support/allocator.py +0 -94
- tinygrad/spec.py +0 -155
- tinygrad/viz/assets/d3js.org/d3.v5.min.js +0 -2
- tinygrad/viz/assets/dagrejs.github.io/project/dagre-d3/latest/dagre-d3.min.js +0 -4816
- tinygrad/viz/perfetto.html +0 -178
- tinygrad-0.10.2.dist-info/RECORD +0 -99
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info/licenses}/LICENSE +0 -0
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/top_level.txt +0 -0
tinygrad/runtime/autogen/kfd.py
CHANGED
@@ -11,9 +11,9 @@ import ctypes, os
|
|
11
11
|
|
12
12
|
|
13
13
|
import functools
|
14
|
-
from tinygrad.runtime.support.hcq import
|
14
|
+
from tinygrad.runtime.support.hcq import FileIOInterface
|
15
15
|
|
16
|
-
def _do_ioctl(__idir, __base, __nr, __user_struct, __fd:
|
16
|
+
def _do_ioctl(__idir, __base, __nr, __user_struct, __fd:FileIOInterface, **kwargs):
|
17
17
|
ret = __fd.ioctl((__idir<<30) | (ctypes.sizeof(made := __user_struct(**kwargs))<<16) | (__base<<8) | __nr, made)
|
18
18
|
if ret != 0: raise RuntimeError(f"ioctl returned {ret}")
|
19
19
|
return made
|
@@ -135,7 +135,7 @@ class Union(ctypes.Union, AsDictMixin):
|
|
135
135
|
|
136
136
|
KFD_IOCTL_H_INCLUDED = True # macro
|
137
137
|
KFD_IOCTL_MAJOR_VERSION = 1 # macro
|
138
|
-
KFD_IOCTL_MINOR_VERSION =
|
138
|
+
KFD_IOCTL_MINOR_VERSION = 14 # macro
|
139
139
|
KFD_IOC_QUEUE_TYPE_COMPUTE = 0x0 # macro
|
140
140
|
KFD_IOC_QUEUE_TYPE_SDMA = 0x1 # macro
|
141
141
|
KFD_IOC_QUEUE_TYPE_COMPUTE_AQL = 0x2 # macro
|
@@ -148,6 +148,7 @@ NUM_OF_SUPPORTED_GPUS = 7 # macro
|
|
148
148
|
MAX_ALLOWED_NUM_POINTS = 100 # macro
|
149
149
|
MAX_ALLOWED_AW_BUFF_SIZE = 4096 # macro
|
150
150
|
MAX_ALLOWED_WAC_BUFF_SIZE = 128 # macro
|
151
|
+
KFD_INVALID_FD = 0xffffffff # macro
|
151
152
|
KFD_IOC_EVENT_SIGNAL = 0 # macro
|
152
153
|
KFD_IOC_EVENT_NODECHANGE = 1 # macro
|
153
154
|
KFD_IOC_EVENT_DEVICESTATECHANGE = 2 # macro
|
@@ -181,14 +182,26 @@ KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE = (1<<28) # macro
|
|
181
182
|
KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM = (1<<27) # macro
|
182
183
|
KFD_IOC_ALLOC_MEM_FLAGS_COHERENT = (1<<26) # macro
|
183
184
|
KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED = (1<<25) # macro
|
185
|
+
KFD_IOC_ALLOC_MEM_FLAGS_EXT_COHERENT = (1<<24) # macro
|
184
186
|
def KFD_SMI_EVENT_MASK_FROM_INDEX(i): # macro
|
185
187
|
return (1<<((i)-1))
|
188
|
+
KFD_SMI_EVENT_MSG_SIZE = 96 # macro
|
186
189
|
KFD_IOCTL_SVM_FLAG_HOST_ACCESS = 0x00000001 # macro
|
187
190
|
KFD_IOCTL_SVM_FLAG_COHERENT = 0x00000002 # macro
|
188
191
|
KFD_IOCTL_SVM_FLAG_HIVE_LOCAL = 0x00000004 # macro
|
189
192
|
KFD_IOCTL_SVM_FLAG_GPU_RO = 0x00000008 # macro
|
190
193
|
KFD_IOCTL_SVM_FLAG_GPU_EXEC = 0x00000010 # macro
|
191
194
|
KFD_IOCTL_SVM_FLAG_GPU_READ_MOSTLY = 0x00000020 # macro
|
195
|
+
KFD_IOCTL_SVM_FLAG_GPU_ALWAYS_MAPPED = 0x00000040 # macro
|
196
|
+
KFD_IOCTL_SVM_FLAG_EXT_COHERENT = 0x00000080 # macro
|
197
|
+
def KFD_EC_MASK(ecode): # macro
|
198
|
+
return (1<<(ecode-1))
|
199
|
+
KFD_RUNTIME_ENABLE_MODE_ENABLE_MASK = 1 # macro
|
200
|
+
KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK = 2 # macro
|
201
|
+
KFD_DBG_QUEUE_ERROR_BIT = 30 # macro
|
202
|
+
KFD_DBG_QUEUE_INVALID_BIT = 31 # macro
|
203
|
+
KFD_DBG_QUEUE_ERROR_MASK = (1<<30) # macro
|
204
|
+
KFD_DBG_QUEUE_INVALID_MASK = (1<<31) # macro
|
192
205
|
AMDKFD_IOCTL_BASE = 'K' # macro
|
193
206
|
def AMDKFD_IO(nr): # macro
|
194
207
|
return _IO('K',nr)
|
@@ -199,7 +212,7 @@ def AMDKFD_IOW(nr, type): # macro
|
|
199
212
|
def AMDKFD_IOWR(nr, type): # macro
|
200
213
|
return _IOWR('K',nr,type)
|
201
214
|
AMDKFD_COMMAND_START = 0x01 # macro
|
202
|
-
AMDKFD_COMMAND_END =
|
215
|
+
AMDKFD_COMMAND_END = 0x27 # macro
|
203
216
|
class struct_kfd_ioctl_get_version_args(Structure):
|
204
217
|
pass
|
205
218
|
|
@@ -280,6 +293,47 @@ struct_kfd_ioctl_get_queue_wave_state_args._fields_ = [
|
|
280
293
|
]
|
281
294
|
|
282
295
|
AMDKFD_IOC_GET_QUEUE_WAVE_STATE = AMDKFD_IOWR ( 0x1B , struct_kfd_ioctl_get_queue_wave_state_args ) # macro (from list)
|
296
|
+
class struct_kfd_ioctl_get_available_memory_args(Structure):
|
297
|
+
pass
|
298
|
+
|
299
|
+
struct_kfd_ioctl_get_available_memory_args._pack_ = 1 # source:False
|
300
|
+
struct_kfd_ioctl_get_available_memory_args._fields_ = [
|
301
|
+
('available', ctypes.c_uint64),
|
302
|
+
('gpu_id', ctypes.c_uint32),
|
303
|
+
('pad', ctypes.c_uint32),
|
304
|
+
]
|
305
|
+
|
306
|
+
AMDKFD_IOC_AVAILABLE_MEMORY = AMDKFD_IOWR ( 0x23 , struct_kfd_ioctl_get_available_memory_args ) # macro (from list)
|
307
|
+
class struct_kfd_dbg_device_info_entry(Structure):
|
308
|
+
pass
|
309
|
+
|
310
|
+
struct_kfd_dbg_device_info_entry._pack_ = 1 # source:False
|
311
|
+
struct_kfd_dbg_device_info_entry._fields_ = [
|
312
|
+
('exception_status', ctypes.c_uint64),
|
313
|
+
('lds_base', ctypes.c_uint64),
|
314
|
+
('lds_limit', ctypes.c_uint64),
|
315
|
+
('scratch_base', ctypes.c_uint64),
|
316
|
+
('scratch_limit', ctypes.c_uint64),
|
317
|
+
('gpuvm_base', ctypes.c_uint64),
|
318
|
+
('gpuvm_limit', ctypes.c_uint64),
|
319
|
+
('gpu_id', ctypes.c_uint32),
|
320
|
+
('location_id', ctypes.c_uint32),
|
321
|
+
('vendor_id', ctypes.c_uint32),
|
322
|
+
('device_id', ctypes.c_uint32),
|
323
|
+
('revision_id', ctypes.c_uint32),
|
324
|
+
('subsystem_vendor_id', ctypes.c_uint32),
|
325
|
+
('subsystem_device_id', ctypes.c_uint32),
|
326
|
+
('fw_version', ctypes.c_uint32),
|
327
|
+
('gfx_target_version', ctypes.c_uint32),
|
328
|
+
('simd_count', ctypes.c_uint32),
|
329
|
+
('max_waves_per_simd', ctypes.c_uint32),
|
330
|
+
('array_count', ctypes.c_uint32),
|
331
|
+
('simd_arrays_per_engine', ctypes.c_uint32),
|
332
|
+
('num_xcc', ctypes.c_uint32),
|
333
|
+
('capability', ctypes.c_uint32),
|
334
|
+
('debug_prop', ctypes.c_uint32),
|
335
|
+
]
|
336
|
+
|
283
337
|
class struct_kfd_ioctl_set_memory_policy_args(Structure):
|
284
338
|
pass
|
285
339
|
|
@@ -354,7 +408,7 @@ struct_kfd_ioctl_dbg_register_args._fields_ = [
|
|
354
408
|
('pad', ctypes.c_uint32),
|
355
409
|
]
|
356
410
|
|
357
|
-
|
411
|
+
AMDKFD_IOC_DBG_REGISTER_DEPRECATED = AMDKFD_IOW ( 0x0D , struct_kfd_ioctl_dbg_register_args ) # macro (from list)
|
358
412
|
class struct_kfd_ioctl_dbg_unregister_args(Structure):
|
359
413
|
pass
|
360
414
|
|
@@ -364,7 +418,7 @@ struct_kfd_ioctl_dbg_unregister_args._fields_ = [
|
|
364
418
|
('pad', ctypes.c_uint32),
|
365
419
|
]
|
366
420
|
|
367
|
-
|
421
|
+
AMDKFD_IOC_DBG_UNREGISTER_DEPRECATED = AMDKFD_IOW ( 0x0E , struct_kfd_ioctl_dbg_unregister_args ) # macro (from list)
|
368
422
|
class struct_kfd_ioctl_dbg_address_watch_args(Structure):
|
369
423
|
pass
|
370
424
|
|
@@ -375,7 +429,7 @@ struct_kfd_ioctl_dbg_address_watch_args._fields_ = [
|
|
375
429
|
('buf_size_in_bytes', ctypes.c_uint32),
|
376
430
|
]
|
377
431
|
|
378
|
-
|
432
|
+
AMDKFD_IOC_DBG_ADDRESS_WATCH_DEPRECATED = AMDKFD_IOW ( 0x0F , struct_kfd_ioctl_dbg_address_watch_args ) # macro (from list)
|
379
433
|
class struct_kfd_ioctl_dbg_wave_control_args(Structure):
|
380
434
|
pass
|
381
435
|
|
@@ -386,7 +440,7 @@ struct_kfd_ioctl_dbg_wave_control_args._fields_ = [
|
|
386
440
|
('buf_size_in_bytes', ctypes.c_uint32),
|
387
441
|
]
|
388
442
|
|
389
|
-
|
443
|
+
AMDKFD_IOC_DBG_WAVE_CONTROL_DEPRECATED = AMDKFD_IOW ( 0x10 , struct_kfd_ioctl_dbg_wave_control_args ) # macro (from list)
|
390
444
|
class struct_kfd_ioctl_create_event_args(Structure):
|
391
445
|
pass
|
392
446
|
|
@@ -465,6 +519,14 @@ struct_kfd_hsa_hw_exception_data._fields_ = [
|
|
465
519
|
('gpu_id', ctypes.c_uint32),
|
466
520
|
]
|
467
521
|
|
522
|
+
class struct_kfd_hsa_signal_event_data(Structure):
|
523
|
+
pass
|
524
|
+
|
525
|
+
struct_kfd_hsa_signal_event_data._pack_ = 1 # source:False
|
526
|
+
struct_kfd_hsa_signal_event_data._fields_ = [
|
527
|
+
('last_event_age', ctypes.c_uint64),
|
528
|
+
]
|
529
|
+
|
468
530
|
class struct_kfd_event_data(Structure):
|
469
531
|
pass
|
470
532
|
|
@@ -475,7 +537,8 @@ union_kfd_event_data_0._pack_ = 1 # source:False
|
|
475
537
|
union_kfd_event_data_0._fields_ = [
|
476
538
|
('memory_exception_data', struct_kfd_hsa_memory_exception_data),
|
477
539
|
('hw_exception_data', struct_kfd_hsa_hw_exception_data),
|
478
|
-
('
|
540
|
+
('signal_event_data', struct_kfd_hsa_signal_event_data),
|
541
|
+
('PADDING_0', ctypes.c_ubyte * 24),
|
479
542
|
]
|
480
543
|
|
481
544
|
struct_kfd_event_data._pack_ = 1 # source:False
|
@@ -634,6 +697,17 @@ struct_kfd_ioctl_import_dmabuf_args._fields_ = [
|
|
634
697
|
]
|
635
698
|
|
636
699
|
AMDKFD_IOC_IMPORT_DMABUF = AMDKFD_IOWR ( 0x1D , struct_kfd_ioctl_import_dmabuf_args ) # macro (from list)
|
700
|
+
class struct_kfd_ioctl_export_dmabuf_args(Structure):
|
701
|
+
pass
|
702
|
+
|
703
|
+
struct_kfd_ioctl_export_dmabuf_args._pack_ = 1 # source:False
|
704
|
+
struct_kfd_ioctl_export_dmabuf_args._fields_ = [
|
705
|
+
('handle', ctypes.c_uint64),
|
706
|
+
('flags', ctypes.c_uint32),
|
707
|
+
('dmabuf_fd', ctypes.c_uint32),
|
708
|
+
]
|
709
|
+
|
710
|
+
AMDKFD_IOC_EXPORT_DMABUF = AMDKFD_IOWR ( 0x24 , struct_kfd_ioctl_export_dmabuf_args ) # macro (from list)
|
637
711
|
|
638
712
|
# values for enumeration 'kfd_smi_event'
|
639
713
|
kfd_smi_event__enumvalues = {
|
@@ -642,13 +716,70 @@ kfd_smi_event__enumvalues = {
|
|
642
716
|
2: 'KFD_SMI_EVENT_THERMAL_THROTTLE',
|
643
717
|
3: 'KFD_SMI_EVENT_GPU_PRE_RESET',
|
644
718
|
4: 'KFD_SMI_EVENT_GPU_POST_RESET',
|
719
|
+
5: 'KFD_SMI_EVENT_MIGRATE_START',
|
720
|
+
6: 'KFD_SMI_EVENT_MIGRATE_END',
|
721
|
+
7: 'KFD_SMI_EVENT_PAGE_FAULT_START',
|
722
|
+
8: 'KFD_SMI_EVENT_PAGE_FAULT_END',
|
723
|
+
9: 'KFD_SMI_EVENT_QUEUE_EVICTION',
|
724
|
+
10: 'KFD_SMI_EVENT_QUEUE_RESTORE',
|
725
|
+
11: 'KFD_SMI_EVENT_UNMAP_FROM_GPU',
|
726
|
+
64: 'KFD_SMI_EVENT_ALL_PROCESS',
|
645
727
|
}
|
646
728
|
KFD_SMI_EVENT_NONE = 0
|
647
729
|
KFD_SMI_EVENT_VMFAULT = 1
|
648
730
|
KFD_SMI_EVENT_THERMAL_THROTTLE = 2
|
649
731
|
KFD_SMI_EVENT_GPU_PRE_RESET = 3
|
650
732
|
KFD_SMI_EVENT_GPU_POST_RESET = 4
|
733
|
+
KFD_SMI_EVENT_MIGRATE_START = 5
|
734
|
+
KFD_SMI_EVENT_MIGRATE_END = 6
|
735
|
+
KFD_SMI_EVENT_PAGE_FAULT_START = 7
|
736
|
+
KFD_SMI_EVENT_PAGE_FAULT_END = 8
|
737
|
+
KFD_SMI_EVENT_QUEUE_EVICTION = 9
|
738
|
+
KFD_SMI_EVENT_QUEUE_RESTORE = 10
|
739
|
+
KFD_SMI_EVENT_UNMAP_FROM_GPU = 11
|
740
|
+
KFD_SMI_EVENT_ALL_PROCESS = 64
|
651
741
|
kfd_smi_event = ctypes.c_uint32 # enum
|
742
|
+
|
743
|
+
# values for enumeration 'KFD_MIGRATE_TRIGGERS'
|
744
|
+
KFD_MIGRATE_TRIGGERS__enumvalues = {
|
745
|
+
0: 'KFD_MIGRATE_TRIGGER_PREFETCH',
|
746
|
+
1: 'KFD_MIGRATE_TRIGGER_PAGEFAULT_GPU',
|
747
|
+
2: 'KFD_MIGRATE_TRIGGER_PAGEFAULT_CPU',
|
748
|
+
3: 'KFD_MIGRATE_TRIGGER_TTM_EVICTION',
|
749
|
+
}
|
750
|
+
KFD_MIGRATE_TRIGGER_PREFETCH = 0
|
751
|
+
KFD_MIGRATE_TRIGGER_PAGEFAULT_GPU = 1
|
752
|
+
KFD_MIGRATE_TRIGGER_PAGEFAULT_CPU = 2
|
753
|
+
KFD_MIGRATE_TRIGGER_TTM_EVICTION = 3
|
754
|
+
KFD_MIGRATE_TRIGGERS = ctypes.c_uint32 # enum
|
755
|
+
|
756
|
+
# values for enumeration 'KFD_QUEUE_EVICTION_TRIGGERS'
|
757
|
+
KFD_QUEUE_EVICTION_TRIGGERS__enumvalues = {
|
758
|
+
0: 'KFD_QUEUE_EVICTION_TRIGGER_SVM',
|
759
|
+
1: 'KFD_QUEUE_EVICTION_TRIGGER_USERPTR',
|
760
|
+
2: 'KFD_QUEUE_EVICTION_TRIGGER_TTM',
|
761
|
+
3: 'KFD_QUEUE_EVICTION_TRIGGER_SUSPEND',
|
762
|
+
4: 'KFD_QUEUE_EVICTION_CRIU_CHECKPOINT',
|
763
|
+
5: 'KFD_QUEUE_EVICTION_CRIU_RESTORE',
|
764
|
+
}
|
765
|
+
KFD_QUEUE_EVICTION_TRIGGER_SVM = 0
|
766
|
+
KFD_QUEUE_EVICTION_TRIGGER_USERPTR = 1
|
767
|
+
KFD_QUEUE_EVICTION_TRIGGER_TTM = 2
|
768
|
+
KFD_QUEUE_EVICTION_TRIGGER_SUSPEND = 3
|
769
|
+
KFD_QUEUE_EVICTION_CRIU_CHECKPOINT = 4
|
770
|
+
KFD_QUEUE_EVICTION_CRIU_RESTORE = 5
|
771
|
+
KFD_QUEUE_EVICTION_TRIGGERS = ctypes.c_uint32 # enum
|
772
|
+
|
773
|
+
# values for enumeration 'KFD_SVM_UNMAP_TRIGGERS'
|
774
|
+
KFD_SVM_UNMAP_TRIGGERS__enumvalues = {
|
775
|
+
0: 'KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY',
|
776
|
+
1: 'KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY_MIGRATE',
|
777
|
+
2: 'KFD_SVM_UNMAP_TRIGGER_UNMAP_FROM_CPU',
|
778
|
+
}
|
779
|
+
KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY = 0
|
780
|
+
KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY_MIGRATE = 1
|
781
|
+
KFD_SVM_UNMAP_TRIGGER_UNMAP_FROM_CPU = 2
|
782
|
+
KFD_SVM_UNMAP_TRIGGERS = ctypes.c_uint32 # enum
|
652
783
|
class struct_kfd_ioctl_smi_events_args(Structure):
|
653
784
|
pass
|
654
785
|
|
@@ -660,6 +791,65 @@ struct_kfd_ioctl_smi_events_args._fields_ = [
|
|
660
791
|
|
661
792
|
AMDKFD_IOC_SMI_EVENTS = AMDKFD_IOWR ( 0x1F , struct_kfd_ioctl_smi_events_args ) # macro (from list)
|
662
793
|
|
794
|
+
# values for enumeration 'kfd_criu_op'
|
795
|
+
kfd_criu_op__enumvalues = {
|
796
|
+
0: 'KFD_CRIU_OP_PROCESS_INFO',
|
797
|
+
1: 'KFD_CRIU_OP_CHECKPOINT',
|
798
|
+
2: 'KFD_CRIU_OP_UNPAUSE',
|
799
|
+
3: 'KFD_CRIU_OP_RESTORE',
|
800
|
+
4: 'KFD_CRIU_OP_RESUME',
|
801
|
+
}
|
802
|
+
KFD_CRIU_OP_PROCESS_INFO = 0
|
803
|
+
KFD_CRIU_OP_CHECKPOINT = 1
|
804
|
+
KFD_CRIU_OP_UNPAUSE = 2
|
805
|
+
KFD_CRIU_OP_RESTORE = 3
|
806
|
+
KFD_CRIU_OP_RESUME = 4
|
807
|
+
kfd_criu_op = ctypes.c_uint32 # enum
|
808
|
+
class struct_kfd_ioctl_criu_args(Structure):
|
809
|
+
pass
|
810
|
+
|
811
|
+
struct_kfd_ioctl_criu_args._pack_ = 1 # source:False
|
812
|
+
struct_kfd_ioctl_criu_args._fields_ = [
|
813
|
+
('devices', ctypes.c_uint64),
|
814
|
+
('bos', ctypes.c_uint64),
|
815
|
+
('priv_data', ctypes.c_uint64),
|
816
|
+
('priv_data_size', ctypes.c_uint64),
|
817
|
+
('num_devices', ctypes.c_uint32),
|
818
|
+
('num_bos', ctypes.c_uint32),
|
819
|
+
('num_objects', ctypes.c_uint32),
|
820
|
+
('pid', ctypes.c_uint32),
|
821
|
+
('op', ctypes.c_uint32),
|
822
|
+
('PADDING_0', ctypes.c_ubyte * 4),
|
823
|
+
]
|
824
|
+
|
825
|
+
AMDKFD_IOC_CRIU_OP = AMDKFD_IOWR ( 0x22 , struct_kfd_ioctl_criu_args ) # macro (from list)
|
826
|
+
class struct_kfd_criu_device_bucket(Structure):
|
827
|
+
pass
|
828
|
+
|
829
|
+
struct_kfd_criu_device_bucket._pack_ = 1 # source:False
|
830
|
+
struct_kfd_criu_device_bucket._fields_ = [
|
831
|
+
('user_gpu_id', ctypes.c_uint32),
|
832
|
+
('actual_gpu_id', ctypes.c_uint32),
|
833
|
+
('drm_fd', ctypes.c_uint32),
|
834
|
+
('pad', ctypes.c_uint32),
|
835
|
+
]
|
836
|
+
|
837
|
+
class struct_kfd_criu_bo_bucket(Structure):
|
838
|
+
pass
|
839
|
+
|
840
|
+
struct_kfd_criu_bo_bucket._pack_ = 1 # source:False
|
841
|
+
struct_kfd_criu_bo_bucket._fields_ = [
|
842
|
+
('addr', ctypes.c_uint64),
|
843
|
+
('size', ctypes.c_uint64),
|
844
|
+
('offset', ctypes.c_uint64),
|
845
|
+
('restored_offset', ctypes.c_uint64),
|
846
|
+
('gpu_id', ctypes.c_uint32),
|
847
|
+
('alloc_flags', ctypes.c_uint32),
|
848
|
+
('dmabuf_fd', ctypes.c_uint32),
|
849
|
+
('pad', ctypes.c_uint32),
|
850
|
+
]
|
851
|
+
|
852
|
+
|
663
853
|
# values for enumeration 'kfd_mmio_remap'
|
664
854
|
kfd_mmio_remap__enumvalues = {
|
665
855
|
0: 'KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL',
|
@@ -738,18 +928,484 @@ struct_kfd_ioctl_set_xnack_mode_args._fields_ = [
|
|
738
928
|
]
|
739
929
|
|
740
930
|
AMDKFD_IOC_SET_XNACK_MODE = AMDKFD_IOWR ( 0x21 , struct_kfd_ioctl_set_xnack_mode_args ) # macro (from list)
|
931
|
+
|
932
|
+
# values for enumeration 'kfd_dbg_trap_override_mode'
|
933
|
+
kfd_dbg_trap_override_mode__enumvalues = {
|
934
|
+
0: 'KFD_DBG_TRAP_OVERRIDE_OR',
|
935
|
+
1: 'KFD_DBG_TRAP_OVERRIDE_REPLACE',
|
936
|
+
}
|
937
|
+
KFD_DBG_TRAP_OVERRIDE_OR = 0
|
938
|
+
KFD_DBG_TRAP_OVERRIDE_REPLACE = 1
|
939
|
+
kfd_dbg_trap_override_mode = ctypes.c_uint32 # enum
|
940
|
+
|
941
|
+
# values for enumeration 'kfd_dbg_trap_mask'
|
942
|
+
kfd_dbg_trap_mask__enumvalues = {
|
943
|
+
1: 'KFD_DBG_TRAP_MASK_FP_INVALID',
|
944
|
+
2: 'KFD_DBG_TRAP_MASK_FP_INPUT_DENORMAL',
|
945
|
+
4: 'KFD_DBG_TRAP_MASK_FP_DIVIDE_BY_ZERO',
|
946
|
+
8: 'KFD_DBG_TRAP_MASK_FP_OVERFLOW',
|
947
|
+
16: 'KFD_DBG_TRAP_MASK_FP_UNDERFLOW',
|
948
|
+
32: 'KFD_DBG_TRAP_MASK_FP_INEXACT',
|
949
|
+
64: 'KFD_DBG_TRAP_MASK_INT_DIVIDE_BY_ZERO',
|
950
|
+
128: 'KFD_DBG_TRAP_MASK_DBG_ADDRESS_WATCH',
|
951
|
+
256: 'KFD_DBG_TRAP_MASK_DBG_MEMORY_VIOLATION',
|
952
|
+
1073741824: 'KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_START',
|
953
|
+
-2147483648: 'KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_END',
|
954
|
+
}
|
955
|
+
KFD_DBG_TRAP_MASK_FP_INVALID = 1
|
956
|
+
KFD_DBG_TRAP_MASK_FP_INPUT_DENORMAL = 2
|
957
|
+
KFD_DBG_TRAP_MASK_FP_DIVIDE_BY_ZERO = 4
|
958
|
+
KFD_DBG_TRAP_MASK_FP_OVERFLOW = 8
|
959
|
+
KFD_DBG_TRAP_MASK_FP_UNDERFLOW = 16
|
960
|
+
KFD_DBG_TRAP_MASK_FP_INEXACT = 32
|
961
|
+
KFD_DBG_TRAP_MASK_INT_DIVIDE_BY_ZERO = 64
|
962
|
+
KFD_DBG_TRAP_MASK_DBG_ADDRESS_WATCH = 128
|
963
|
+
KFD_DBG_TRAP_MASK_DBG_MEMORY_VIOLATION = 256
|
964
|
+
KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_START = 1073741824
|
965
|
+
KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_END = -2147483648
|
966
|
+
kfd_dbg_trap_mask = ctypes.c_int32 # enum
|
967
|
+
|
968
|
+
# values for enumeration 'kfd_dbg_trap_wave_launch_mode'
|
969
|
+
kfd_dbg_trap_wave_launch_mode__enumvalues = {
|
970
|
+
0: 'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_NORMAL',
|
971
|
+
1: 'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_HALT',
|
972
|
+
3: 'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_DEBUG',
|
973
|
+
}
|
974
|
+
KFD_DBG_TRAP_WAVE_LAUNCH_MODE_NORMAL = 0
|
975
|
+
KFD_DBG_TRAP_WAVE_LAUNCH_MODE_HALT = 1
|
976
|
+
KFD_DBG_TRAP_WAVE_LAUNCH_MODE_DEBUG = 3
|
977
|
+
kfd_dbg_trap_wave_launch_mode = ctypes.c_uint32 # enum
|
978
|
+
|
979
|
+
# values for enumeration 'kfd_dbg_trap_address_watch_mode'
|
980
|
+
kfd_dbg_trap_address_watch_mode__enumvalues = {
|
981
|
+
0: 'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_READ',
|
982
|
+
1: 'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_NONREAD',
|
983
|
+
2: 'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ATOMIC',
|
984
|
+
3: 'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ALL',
|
985
|
+
}
|
986
|
+
KFD_DBG_TRAP_ADDRESS_WATCH_MODE_READ = 0
|
987
|
+
KFD_DBG_TRAP_ADDRESS_WATCH_MODE_NONREAD = 1
|
988
|
+
KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ATOMIC = 2
|
989
|
+
KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ALL = 3
|
990
|
+
kfd_dbg_trap_address_watch_mode = ctypes.c_uint32 # enum
|
991
|
+
|
992
|
+
# values for enumeration 'kfd_dbg_trap_flags'
|
993
|
+
kfd_dbg_trap_flags__enumvalues = {
|
994
|
+
1: 'KFD_DBG_TRAP_FLAG_SINGLE_MEM_OP',
|
995
|
+
}
|
996
|
+
KFD_DBG_TRAP_FLAG_SINGLE_MEM_OP = 1
|
997
|
+
kfd_dbg_trap_flags = ctypes.c_uint32 # enum
|
998
|
+
|
999
|
+
# values for enumeration 'kfd_dbg_trap_exception_code'
|
1000
|
+
kfd_dbg_trap_exception_code__enumvalues = {
|
1001
|
+
0: 'EC_NONE',
|
1002
|
+
1: 'EC_QUEUE_WAVE_ABORT',
|
1003
|
+
2: 'EC_QUEUE_WAVE_TRAP',
|
1004
|
+
3: 'EC_QUEUE_WAVE_MATH_ERROR',
|
1005
|
+
4: 'EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION',
|
1006
|
+
5: 'EC_QUEUE_WAVE_MEMORY_VIOLATION',
|
1007
|
+
6: 'EC_QUEUE_WAVE_APERTURE_VIOLATION',
|
1008
|
+
16: 'EC_QUEUE_PACKET_DISPATCH_DIM_INVALID',
|
1009
|
+
17: 'EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID',
|
1010
|
+
18: 'EC_QUEUE_PACKET_DISPATCH_CODE_INVALID',
|
1011
|
+
19: 'EC_QUEUE_PACKET_RESERVED',
|
1012
|
+
20: 'EC_QUEUE_PACKET_UNSUPPORTED',
|
1013
|
+
21: 'EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID',
|
1014
|
+
22: 'EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID',
|
1015
|
+
23: 'EC_QUEUE_PACKET_VENDOR_UNSUPPORTED',
|
1016
|
+
30: 'EC_QUEUE_PREEMPTION_ERROR',
|
1017
|
+
31: 'EC_QUEUE_NEW',
|
1018
|
+
32: 'EC_DEVICE_QUEUE_DELETE',
|
1019
|
+
33: 'EC_DEVICE_MEMORY_VIOLATION',
|
1020
|
+
34: 'EC_DEVICE_RAS_ERROR',
|
1021
|
+
35: 'EC_DEVICE_FATAL_HALT',
|
1022
|
+
36: 'EC_DEVICE_NEW',
|
1023
|
+
48: 'EC_PROCESS_RUNTIME',
|
1024
|
+
49: 'EC_PROCESS_DEVICE_REMOVE',
|
1025
|
+
50: 'EC_MAX',
|
1026
|
+
}
|
1027
|
+
EC_NONE = 0
|
1028
|
+
EC_QUEUE_WAVE_ABORT = 1
|
1029
|
+
EC_QUEUE_WAVE_TRAP = 2
|
1030
|
+
EC_QUEUE_WAVE_MATH_ERROR = 3
|
1031
|
+
EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION = 4
|
1032
|
+
EC_QUEUE_WAVE_MEMORY_VIOLATION = 5
|
1033
|
+
EC_QUEUE_WAVE_APERTURE_VIOLATION = 6
|
1034
|
+
EC_QUEUE_PACKET_DISPATCH_DIM_INVALID = 16
|
1035
|
+
EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID = 17
|
1036
|
+
EC_QUEUE_PACKET_DISPATCH_CODE_INVALID = 18
|
1037
|
+
EC_QUEUE_PACKET_RESERVED = 19
|
1038
|
+
EC_QUEUE_PACKET_UNSUPPORTED = 20
|
1039
|
+
EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID = 21
|
1040
|
+
EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID = 22
|
1041
|
+
EC_QUEUE_PACKET_VENDOR_UNSUPPORTED = 23
|
1042
|
+
EC_QUEUE_PREEMPTION_ERROR = 30
|
1043
|
+
EC_QUEUE_NEW = 31
|
1044
|
+
EC_DEVICE_QUEUE_DELETE = 32
|
1045
|
+
EC_DEVICE_MEMORY_VIOLATION = 33
|
1046
|
+
EC_DEVICE_RAS_ERROR = 34
|
1047
|
+
EC_DEVICE_FATAL_HALT = 35
|
1048
|
+
EC_DEVICE_NEW = 36
|
1049
|
+
EC_PROCESS_RUNTIME = 48
|
1050
|
+
EC_PROCESS_DEVICE_REMOVE = 49
|
1051
|
+
EC_MAX = 50
|
1052
|
+
kfd_dbg_trap_exception_code = ctypes.c_uint32 # enum
|
1053
|
+
KFD_EC_MASK_QUEUE = (KFD_EC_MASK(EC_QUEUE_WAVE_ABORT)|KFD_EC_MASK(EC_QUEUE_WAVE_TRAP)|KFD_EC_MASK(EC_QUEUE_WAVE_MATH_ERROR)|KFD_EC_MASK(EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION)|KFD_EC_MASK(EC_QUEUE_WAVE_MEMORY_VIOLATION)|KFD_EC_MASK(EC_QUEUE_WAVE_APERTURE_VIOLATION)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED)|KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PREEMPTION_ERROR)|KFD_EC_MASK(EC_QUEUE_NEW)) # macro
|
1054
|
+
KFD_EC_MASK_DEVICE = (KFD_EC_MASK(EC_DEVICE_QUEUE_DELETE)|KFD_EC_MASK(EC_DEVICE_RAS_ERROR)|KFD_EC_MASK(EC_DEVICE_FATAL_HALT)|KFD_EC_MASK(EC_DEVICE_MEMORY_VIOLATION)|KFD_EC_MASK(EC_DEVICE_NEW)) # macro
|
1055
|
+
KFD_EC_MASK_PROCESS = (KFD_EC_MASK(EC_PROCESS_RUNTIME)|KFD_EC_MASK(EC_PROCESS_DEVICE_REMOVE)) # macro
|
1056
|
+
KFD_EC_MASK_PACKET = (KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED)|KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED)) # macro
|
1057
|
+
def KFD_DBG_EC_IS_VALID(ecode): # macro
|
1058
|
+
return (ecode>EC_NONE and ecode<EC_MAX)
|
1059
|
+
def KFD_DBG_EC_TYPE_IS_QUEUE(ecode): # macro
|
1060
|
+
return (KFD_DBG_EC_IS_VALID(ecode) and not not (KFD_EC_MASK(ecode)&(KFD_EC_MASK(EC_QUEUE_WAVE_ABORT)|KFD_EC_MASK(EC_QUEUE_WAVE_TRAP)|KFD_EC_MASK(EC_QUEUE_WAVE_MATH_ERROR)|KFD_EC_MASK(EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION)|KFD_EC_MASK(EC_QUEUE_WAVE_MEMORY_VIOLATION)|KFD_EC_MASK(EC_QUEUE_WAVE_APERTURE_VIOLATION)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED)|KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PREEMPTION_ERROR)|KFD_EC_MASK(EC_QUEUE_NEW))))
|
1061
|
+
def KFD_DBG_EC_TYPE_IS_DEVICE(ecode): # macro
|
1062
|
+
return (KFD_DBG_EC_IS_VALID(ecode) and not not (KFD_EC_MASK(ecode)&(KFD_EC_MASK(EC_DEVICE_QUEUE_DELETE)|KFD_EC_MASK(EC_DEVICE_RAS_ERROR)|KFD_EC_MASK(EC_DEVICE_FATAL_HALT)|KFD_EC_MASK(EC_DEVICE_MEMORY_VIOLATION)|KFD_EC_MASK(EC_DEVICE_NEW))))
|
1063
|
+
def KFD_DBG_EC_TYPE_IS_PROCESS(ecode): # macro
|
1064
|
+
return (KFD_DBG_EC_IS_VALID(ecode) and not not (KFD_EC_MASK(ecode)&(KFD_EC_MASK(EC_PROCESS_RUNTIME)|KFD_EC_MASK(EC_PROCESS_DEVICE_REMOVE))))
|
1065
|
+
def KFD_DBG_EC_TYPE_IS_PACKET(ecode): # macro
|
1066
|
+
return (KFD_DBG_EC_IS_VALID(ecode) and not not (KFD_EC_MASK(ecode)&(KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED)|KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID)|KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED))))
|
1067
|
+
|
1068
|
+
# values for enumeration 'kfd_dbg_runtime_state'
|
1069
|
+
kfd_dbg_runtime_state__enumvalues = {
|
1070
|
+
0: 'DEBUG_RUNTIME_STATE_DISABLED',
|
1071
|
+
1: 'DEBUG_RUNTIME_STATE_ENABLED',
|
1072
|
+
2: 'DEBUG_RUNTIME_STATE_ENABLED_BUSY',
|
1073
|
+
3: 'DEBUG_RUNTIME_STATE_ENABLED_ERROR',
|
1074
|
+
}
|
1075
|
+
DEBUG_RUNTIME_STATE_DISABLED = 0
|
1076
|
+
DEBUG_RUNTIME_STATE_ENABLED = 1
|
1077
|
+
DEBUG_RUNTIME_STATE_ENABLED_BUSY = 2
|
1078
|
+
DEBUG_RUNTIME_STATE_ENABLED_ERROR = 3
|
1079
|
+
kfd_dbg_runtime_state = ctypes.c_uint32 # enum
|
1080
|
+
class struct_kfd_runtime_info(Structure):
|
1081
|
+
pass
|
1082
|
+
|
1083
|
+
struct_kfd_runtime_info._pack_ = 1 # source:False
|
1084
|
+
struct_kfd_runtime_info._fields_ = [
|
1085
|
+
('r_debug', ctypes.c_uint64),
|
1086
|
+
('runtime_state', ctypes.c_uint32),
|
1087
|
+
('ttmp_setup', ctypes.c_uint32),
|
1088
|
+
]
|
1089
|
+
|
1090
|
+
class struct_kfd_ioctl_runtime_enable_args(Structure):
|
1091
|
+
pass
|
1092
|
+
|
1093
|
+
struct_kfd_ioctl_runtime_enable_args._pack_ = 1 # source:False
|
1094
|
+
struct_kfd_ioctl_runtime_enable_args._fields_ = [
|
1095
|
+
('r_debug', ctypes.c_uint64),
|
1096
|
+
('mode_mask', ctypes.c_uint32),
|
1097
|
+
('capabilities_mask', ctypes.c_uint32),
|
1098
|
+
]
|
1099
|
+
|
1100
|
+
AMDKFD_IOC_RUNTIME_ENABLE = AMDKFD_IOWR ( 0x25 , struct_kfd_ioctl_runtime_enable_args ) # macro (from list)
|
1101
|
+
class struct_kfd_queue_snapshot_entry(Structure):
|
1102
|
+
pass
|
1103
|
+
|
1104
|
+
struct_kfd_queue_snapshot_entry._pack_ = 1 # source:False
|
1105
|
+
struct_kfd_queue_snapshot_entry._fields_ = [
|
1106
|
+
('exception_status', ctypes.c_uint64),
|
1107
|
+
('ring_base_address', ctypes.c_uint64),
|
1108
|
+
('write_pointer_address', ctypes.c_uint64),
|
1109
|
+
('read_pointer_address', ctypes.c_uint64),
|
1110
|
+
('ctx_save_restore_address', ctypes.c_uint64),
|
1111
|
+
('queue_id', ctypes.c_uint32),
|
1112
|
+
('gpu_id', ctypes.c_uint32),
|
1113
|
+
('ring_size', ctypes.c_uint32),
|
1114
|
+
('queue_type', ctypes.c_uint32),
|
1115
|
+
('ctx_save_restore_area_size', ctypes.c_uint32),
|
1116
|
+
('reserved', ctypes.c_uint32),
|
1117
|
+
]
|
1118
|
+
|
1119
|
+
class struct_kfd_context_save_area_header(Structure):
|
1120
|
+
pass
|
1121
|
+
|
1122
|
+
class struct_kfd_context_save_area_header_wave_state(Structure):
|
1123
|
+
pass
|
1124
|
+
|
1125
|
+
struct_kfd_context_save_area_header_wave_state._pack_ = 1 # source:False
|
1126
|
+
struct_kfd_context_save_area_header_wave_state._fields_ = [
|
1127
|
+
('control_stack_offset', ctypes.c_uint32),
|
1128
|
+
('control_stack_size', ctypes.c_uint32),
|
1129
|
+
('wave_state_offset', ctypes.c_uint32),
|
1130
|
+
('wave_state_size', ctypes.c_uint32),
|
1131
|
+
]
|
1132
|
+
|
1133
|
+
struct_kfd_context_save_area_header._pack_ = 1 # source:False
|
1134
|
+
struct_kfd_context_save_area_header._fields_ = [
|
1135
|
+
('wave_state', struct_kfd_context_save_area_header_wave_state),
|
1136
|
+
('debug_offset', ctypes.c_uint32),
|
1137
|
+
('debug_size', ctypes.c_uint32),
|
1138
|
+
('err_payload_addr', ctypes.c_uint64),
|
1139
|
+
('err_event_id', ctypes.c_uint32),
|
1140
|
+
('reserved1', ctypes.c_uint32),
|
1141
|
+
]
|
1142
|
+
|
1143
|
+
|
1144
|
+
# values for enumeration 'kfd_dbg_trap_operations'
|
1145
|
+
kfd_dbg_trap_operations__enumvalues = {
|
1146
|
+
0: 'KFD_IOC_DBG_TRAP_ENABLE',
|
1147
|
+
1: 'KFD_IOC_DBG_TRAP_DISABLE',
|
1148
|
+
2: 'KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT',
|
1149
|
+
3: 'KFD_IOC_DBG_TRAP_SET_EXCEPTIONS_ENABLED',
|
1150
|
+
4: 'KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE',
|
1151
|
+
5: 'KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE',
|
1152
|
+
6: 'KFD_IOC_DBG_TRAP_SUSPEND_QUEUES',
|
1153
|
+
7: 'KFD_IOC_DBG_TRAP_RESUME_QUEUES',
|
1154
|
+
8: 'KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH',
|
1155
|
+
9: 'KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH',
|
1156
|
+
10: 'KFD_IOC_DBG_TRAP_SET_FLAGS',
|
1157
|
+
11: 'KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT',
|
1158
|
+
12: 'KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO',
|
1159
|
+
13: 'KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT',
|
1160
|
+
14: 'KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT',
|
1161
|
+
}
|
1162
|
+
KFD_IOC_DBG_TRAP_ENABLE = 0
|
1163
|
+
KFD_IOC_DBG_TRAP_DISABLE = 1
|
1164
|
+
KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT = 2
|
1165
|
+
KFD_IOC_DBG_TRAP_SET_EXCEPTIONS_ENABLED = 3
|
1166
|
+
KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE = 4
|
1167
|
+
KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE = 5
|
1168
|
+
KFD_IOC_DBG_TRAP_SUSPEND_QUEUES = 6
|
1169
|
+
KFD_IOC_DBG_TRAP_RESUME_QUEUES = 7
|
1170
|
+
KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH = 8
|
1171
|
+
KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH = 9
|
1172
|
+
KFD_IOC_DBG_TRAP_SET_FLAGS = 10
|
1173
|
+
KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT = 11
|
1174
|
+
KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO = 12
|
1175
|
+
KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT = 13
|
1176
|
+
KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT = 14
|
1177
|
+
kfd_dbg_trap_operations = ctypes.c_uint32 # enum
|
1178
|
+
class struct_kfd_ioctl_dbg_trap_enable_args(Structure):
|
1179
|
+
pass
|
1180
|
+
|
1181
|
+
struct_kfd_ioctl_dbg_trap_enable_args._pack_ = 1 # source:False
|
1182
|
+
struct_kfd_ioctl_dbg_trap_enable_args._fields_ = [
|
1183
|
+
('exception_mask', ctypes.c_uint64),
|
1184
|
+
('rinfo_ptr', ctypes.c_uint64),
|
1185
|
+
('rinfo_size', ctypes.c_uint32),
|
1186
|
+
('dbg_fd', ctypes.c_uint32),
|
1187
|
+
]
|
1188
|
+
|
1189
|
+
class struct_kfd_ioctl_dbg_trap_send_runtime_event_args(Structure):
|
1190
|
+
pass
|
1191
|
+
|
1192
|
+
struct_kfd_ioctl_dbg_trap_send_runtime_event_args._pack_ = 1 # source:False
|
1193
|
+
struct_kfd_ioctl_dbg_trap_send_runtime_event_args._fields_ = [
|
1194
|
+
('exception_mask', ctypes.c_uint64),
|
1195
|
+
('gpu_id', ctypes.c_uint32),
|
1196
|
+
('queue_id', ctypes.c_uint32),
|
1197
|
+
]
|
1198
|
+
|
1199
|
+
class struct_kfd_ioctl_dbg_trap_set_exceptions_enabled_args(Structure):
|
1200
|
+
pass
|
1201
|
+
|
1202
|
+
struct_kfd_ioctl_dbg_trap_set_exceptions_enabled_args._pack_ = 1 # source:False
|
1203
|
+
struct_kfd_ioctl_dbg_trap_set_exceptions_enabled_args._fields_ = [
|
1204
|
+
('exception_mask', ctypes.c_uint64),
|
1205
|
+
]
|
1206
|
+
|
1207
|
+
class struct_kfd_ioctl_dbg_trap_set_wave_launch_override_args(Structure):
|
1208
|
+
pass
|
1209
|
+
|
1210
|
+
struct_kfd_ioctl_dbg_trap_set_wave_launch_override_args._pack_ = 1 # source:False
|
1211
|
+
struct_kfd_ioctl_dbg_trap_set_wave_launch_override_args._fields_ = [
|
1212
|
+
('override_mode', ctypes.c_uint32),
|
1213
|
+
('enable_mask', ctypes.c_uint32),
|
1214
|
+
('support_request_mask', ctypes.c_uint32),
|
1215
|
+
('pad', ctypes.c_uint32),
|
1216
|
+
]
|
1217
|
+
|
1218
|
+
class struct_kfd_ioctl_dbg_trap_set_wave_launch_mode_args(Structure):
|
1219
|
+
pass
|
1220
|
+
|
1221
|
+
struct_kfd_ioctl_dbg_trap_set_wave_launch_mode_args._pack_ = 1 # source:False
|
1222
|
+
struct_kfd_ioctl_dbg_trap_set_wave_launch_mode_args._fields_ = [
|
1223
|
+
('launch_mode', ctypes.c_uint32),
|
1224
|
+
('pad', ctypes.c_uint32),
|
1225
|
+
]
|
1226
|
+
|
1227
|
+
class struct_kfd_ioctl_dbg_trap_suspend_queues_args(Structure):
|
1228
|
+
pass
|
1229
|
+
|
1230
|
+
struct_kfd_ioctl_dbg_trap_suspend_queues_args._pack_ = 1 # source:False
|
1231
|
+
struct_kfd_ioctl_dbg_trap_suspend_queues_args._fields_ = [
|
1232
|
+
('exception_mask', ctypes.c_uint64),
|
1233
|
+
('queue_array_ptr', ctypes.c_uint64),
|
1234
|
+
('num_queues', ctypes.c_uint32),
|
1235
|
+
('grace_period', ctypes.c_uint32),
|
1236
|
+
]
|
1237
|
+
|
1238
|
+
class struct_kfd_ioctl_dbg_trap_resume_queues_args(Structure):
|
1239
|
+
pass
|
1240
|
+
|
1241
|
+
struct_kfd_ioctl_dbg_trap_resume_queues_args._pack_ = 1 # source:False
|
1242
|
+
struct_kfd_ioctl_dbg_trap_resume_queues_args._fields_ = [
|
1243
|
+
('queue_array_ptr', ctypes.c_uint64),
|
1244
|
+
('num_queues', ctypes.c_uint32),
|
1245
|
+
('pad', ctypes.c_uint32),
|
1246
|
+
]
|
1247
|
+
|
1248
|
+
class struct_kfd_ioctl_dbg_trap_set_node_address_watch_args(Structure):
|
1249
|
+
pass
|
1250
|
+
|
1251
|
+
struct_kfd_ioctl_dbg_trap_set_node_address_watch_args._pack_ = 1 # source:False
|
1252
|
+
struct_kfd_ioctl_dbg_trap_set_node_address_watch_args._fields_ = [
|
1253
|
+
('address', ctypes.c_uint64),
|
1254
|
+
('mode', ctypes.c_uint32),
|
1255
|
+
('mask', ctypes.c_uint32),
|
1256
|
+
('gpu_id', ctypes.c_uint32),
|
1257
|
+
('id', ctypes.c_uint32),
|
1258
|
+
]
|
1259
|
+
|
1260
|
+
class struct_kfd_ioctl_dbg_trap_clear_node_address_watch_args(Structure):
|
1261
|
+
pass
|
1262
|
+
|
1263
|
+
struct_kfd_ioctl_dbg_trap_clear_node_address_watch_args._pack_ = 1 # source:False
|
1264
|
+
struct_kfd_ioctl_dbg_trap_clear_node_address_watch_args._fields_ = [
|
1265
|
+
('gpu_id', ctypes.c_uint32),
|
1266
|
+
('id', ctypes.c_uint32),
|
1267
|
+
]
|
1268
|
+
|
1269
|
+
class struct_kfd_ioctl_dbg_trap_set_flags_args(Structure):
|
1270
|
+
pass
|
1271
|
+
|
1272
|
+
struct_kfd_ioctl_dbg_trap_set_flags_args._pack_ = 1 # source:False
|
1273
|
+
struct_kfd_ioctl_dbg_trap_set_flags_args._fields_ = [
|
1274
|
+
('flags', ctypes.c_uint32),
|
1275
|
+
('pad', ctypes.c_uint32),
|
1276
|
+
]
|
1277
|
+
|
1278
|
+
class struct_kfd_ioctl_dbg_trap_query_debug_event_args(Structure):
|
1279
|
+
pass
|
1280
|
+
|
1281
|
+
struct_kfd_ioctl_dbg_trap_query_debug_event_args._pack_ = 1 # source:False
|
1282
|
+
struct_kfd_ioctl_dbg_trap_query_debug_event_args._fields_ = [
|
1283
|
+
('exception_mask', ctypes.c_uint64),
|
1284
|
+
('gpu_id', ctypes.c_uint32),
|
1285
|
+
('queue_id', ctypes.c_uint32),
|
1286
|
+
]
|
1287
|
+
|
1288
|
+
class struct_kfd_ioctl_dbg_trap_query_exception_info_args(Structure):
|
1289
|
+
pass
|
1290
|
+
|
1291
|
+
struct_kfd_ioctl_dbg_trap_query_exception_info_args._pack_ = 1 # source:False
|
1292
|
+
struct_kfd_ioctl_dbg_trap_query_exception_info_args._fields_ = [
|
1293
|
+
('info_ptr', ctypes.c_uint64),
|
1294
|
+
('info_size', ctypes.c_uint32),
|
1295
|
+
('source_id', ctypes.c_uint32),
|
1296
|
+
('exception_code', ctypes.c_uint32),
|
1297
|
+
('clear_exception', ctypes.c_uint32),
|
1298
|
+
]
|
1299
|
+
|
1300
|
+
class struct_kfd_ioctl_dbg_trap_queue_snapshot_args(Structure):
|
1301
|
+
pass
|
1302
|
+
|
1303
|
+
struct_kfd_ioctl_dbg_trap_queue_snapshot_args._pack_ = 1 # source:False
|
1304
|
+
struct_kfd_ioctl_dbg_trap_queue_snapshot_args._fields_ = [
|
1305
|
+
('exception_mask', ctypes.c_uint64),
|
1306
|
+
('snapshot_buf_ptr', ctypes.c_uint64),
|
1307
|
+
('num_queues', ctypes.c_uint32),
|
1308
|
+
('entry_size', ctypes.c_uint32),
|
1309
|
+
]
|
1310
|
+
|
1311
|
+
class struct_kfd_ioctl_dbg_trap_device_snapshot_args(Structure):
|
1312
|
+
pass
|
1313
|
+
|
1314
|
+
struct_kfd_ioctl_dbg_trap_device_snapshot_args._pack_ = 1 # source:False
|
1315
|
+
struct_kfd_ioctl_dbg_trap_device_snapshot_args._fields_ = [
|
1316
|
+
('exception_mask', ctypes.c_uint64),
|
1317
|
+
('snapshot_buf_ptr', ctypes.c_uint64),
|
1318
|
+
('num_devices', ctypes.c_uint32),
|
1319
|
+
('entry_size', ctypes.c_uint32),
|
1320
|
+
]
|
1321
|
+
|
1322
|
+
class struct_kfd_ioctl_dbg_trap_args(Structure):
|
1323
|
+
pass
|
1324
|
+
|
1325
|
+
class union_kfd_ioctl_dbg_trap_args_0(Union):
|
1326
|
+
_pack_ = 1 # source:False
|
1327
|
+
_fields_ = [
|
1328
|
+
('enable', struct_kfd_ioctl_dbg_trap_enable_args),
|
1329
|
+
('send_runtime_event', struct_kfd_ioctl_dbg_trap_send_runtime_event_args),
|
1330
|
+
('set_exceptions_enabled', struct_kfd_ioctl_dbg_trap_set_exceptions_enabled_args),
|
1331
|
+
('launch_override', struct_kfd_ioctl_dbg_trap_set_wave_launch_override_args),
|
1332
|
+
('launch_mode', struct_kfd_ioctl_dbg_trap_set_wave_launch_mode_args),
|
1333
|
+
('suspend_queues', struct_kfd_ioctl_dbg_trap_suspend_queues_args),
|
1334
|
+
('resume_queues', struct_kfd_ioctl_dbg_trap_resume_queues_args),
|
1335
|
+
('set_node_address_watch', struct_kfd_ioctl_dbg_trap_set_node_address_watch_args),
|
1336
|
+
('clear_node_address_watch', struct_kfd_ioctl_dbg_trap_clear_node_address_watch_args),
|
1337
|
+
('set_flags', struct_kfd_ioctl_dbg_trap_set_flags_args),
|
1338
|
+
('query_debug_event', struct_kfd_ioctl_dbg_trap_query_debug_event_args),
|
1339
|
+
('query_exception_info', struct_kfd_ioctl_dbg_trap_query_exception_info_args),
|
1340
|
+
('queue_snapshot', struct_kfd_ioctl_dbg_trap_queue_snapshot_args),
|
1341
|
+
('device_snapshot', struct_kfd_ioctl_dbg_trap_device_snapshot_args),
|
1342
|
+
]
|
1343
|
+
|
1344
|
+
struct_kfd_ioctl_dbg_trap_args._pack_ = 1 # source:False
|
1345
|
+
struct_kfd_ioctl_dbg_trap_args._anonymous_ = ('_0',)
|
1346
|
+
struct_kfd_ioctl_dbg_trap_args._fields_ = [
|
1347
|
+
('pid', ctypes.c_uint32),
|
1348
|
+
('op', ctypes.c_uint32),
|
1349
|
+
('_0', union_kfd_ioctl_dbg_trap_args_0),
|
1350
|
+
]
|
1351
|
+
|
1352
|
+
AMDKFD_IOC_DBG_TRAP = AMDKFD_IOWR ( 0x26 , struct_kfd_ioctl_dbg_trap_args ) # macro (from list)
|
741
1353
|
__all__ = \
|
742
1354
|
['AMDKFD_COMMAND_END', 'AMDKFD_COMMAND_START',
|
743
|
-
'AMDKFD_IOCTL_BASE', '
|
744
|
-
'
|
745
|
-
'
|
746
|
-
'
|
747
|
-
'
|
1355
|
+
'AMDKFD_IOCTL_BASE', 'DEBUG_RUNTIME_STATE_DISABLED',
|
1356
|
+
'DEBUG_RUNTIME_STATE_ENABLED', 'DEBUG_RUNTIME_STATE_ENABLED_BUSY',
|
1357
|
+
'DEBUG_RUNTIME_STATE_ENABLED_ERROR', 'EC_DEVICE_FATAL_HALT',
|
1358
|
+
'EC_DEVICE_MEMORY_VIOLATION', 'EC_DEVICE_NEW',
|
1359
|
+
'EC_DEVICE_QUEUE_DELETE', 'EC_DEVICE_RAS_ERROR', 'EC_MAX',
|
1360
|
+
'EC_NONE', 'EC_PROCESS_DEVICE_REMOVE', 'EC_PROCESS_RUNTIME',
|
1361
|
+
'EC_QUEUE_NEW', 'EC_QUEUE_PACKET_DISPATCH_CODE_INVALID',
|
1362
|
+
'EC_QUEUE_PACKET_DISPATCH_DIM_INVALID',
|
1363
|
+
'EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID',
|
1364
|
+
'EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID',
|
1365
|
+
'EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID',
|
1366
|
+
'EC_QUEUE_PACKET_RESERVED', 'EC_QUEUE_PACKET_UNSUPPORTED',
|
1367
|
+
'EC_QUEUE_PACKET_VENDOR_UNSUPPORTED', 'EC_QUEUE_PREEMPTION_ERROR',
|
1368
|
+
'EC_QUEUE_WAVE_ABORT', 'EC_QUEUE_WAVE_APERTURE_VIOLATION',
|
1369
|
+
'EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION', 'EC_QUEUE_WAVE_MATH_ERROR',
|
1370
|
+
'EC_QUEUE_WAVE_MEMORY_VIOLATION', 'EC_QUEUE_WAVE_TRAP',
|
1371
|
+
'KFD_CRIU_OP_CHECKPOINT', 'KFD_CRIU_OP_PROCESS_INFO',
|
1372
|
+
'KFD_CRIU_OP_RESTORE', 'KFD_CRIU_OP_RESUME',
|
1373
|
+
'KFD_CRIU_OP_UNPAUSE', 'KFD_DBG_QUEUE_ERROR_BIT',
|
1374
|
+
'KFD_DBG_QUEUE_ERROR_MASK', 'KFD_DBG_QUEUE_INVALID_BIT',
|
1375
|
+
'KFD_DBG_QUEUE_INVALID_MASK',
|
1376
|
+
'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ALL',
|
1377
|
+
'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ATOMIC',
|
1378
|
+
'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_NONREAD',
|
1379
|
+
'KFD_DBG_TRAP_ADDRESS_WATCH_MODE_READ',
|
1380
|
+
'KFD_DBG_TRAP_FLAG_SINGLE_MEM_OP',
|
1381
|
+
'KFD_DBG_TRAP_MASK_DBG_ADDRESS_WATCH',
|
1382
|
+
'KFD_DBG_TRAP_MASK_DBG_MEMORY_VIOLATION',
|
1383
|
+
'KFD_DBG_TRAP_MASK_FP_DIVIDE_BY_ZERO',
|
1384
|
+
'KFD_DBG_TRAP_MASK_FP_INEXACT',
|
1385
|
+
'KFD_DBG_TRAP_MASK_FP_INPUT_DENORMAL',
|
1386
|
+
'KFD_DBG_TRAP_MASK_FP_INVALID', 'KFD_DBG_TRAP_MASK_FP_OVERFLOW',
|
1387
|
+
'KFD_DBG_TRAP_MASK_FP_UNDERFLOW',
|
1388
|
+
'KFD_DBG_TRAP_MASK_INT_DIVIDE_BY_ZERO',
|
1389
|
+
'KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_END',
|
1390
|
+
'KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_START',
|
1391
|
+
'KFD_DBG_TRAP_OVERRIDE_OR', 'KFD_DBG_TRAP_OVERRIDE_REPLACE',
|
1392
|
+
'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_DEBUG',
|
1393
|
+
'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_HALT',
|
1394
|
+
'KFD_DBG_TRAP_WAVE_LAUNCH_MODE_NORMAL', 'KFD_EC_MASK_DEVICE',
|
1395
|
+
'KFD_EC_MASK_PACKET', 'KFD_EC_MASK_PROCESS', 'KFD_EC_MASK_QUEUE',
|
1396
|
+
'KFD_HW_EXCEPTION_ECC', 'KFD_HW_EXCEPTION_GPU_HANG',
|
1397
|
+
'KFD_HW_EXCEPTION_PER_ENGINE_RESET',
|
1398
|
+
'KFD_HW_EXCEPTION_WHOLE_GPU_RESET', 'KFD_INVALID_FD',
|
1399
|
+
'KFD_IOCTL_H_INCLUDED', 'KFD_IOCTL_MAJOR_VERSION',
|
1400
|
+
'KFD_IOCTL_MINOR_VERSION', 'KFD_IOCTL_SVM_ATTR_ACCESS',
|
1401
|
+
'KFD_IOCTL_SVM_ATTR_ACCESS_IN_PLACE',
|
748
1402
|
'KFD_IOCTL_SVM_ATTR_CLR_FLAGS', 'KFD_IOCTL_SVM_ATTR_GRANULARITY',
|
749
1403
|
'KFD_IOCTL_SVM_ATTR_NO_ACCESS',
|
750
1404
|
'KFD_IOCTL_SVM_ATTR_PREFERRED_LOC',
|
751
1405
|
'KFD_IOCTL_SVM_ATTR_PREFETCH_LOC', 'KFD_IOCTL_SVM_ATTR_SET_FLAGS',
|
752
|
-
'KFD_IOCTL_SVM_FLAG_COHERENT', '
|
1406
|
+
'KFD_IOCTL_SVM_FLAG_COHERENT', 'KFD_IOCTL_SVM_FLAG_EXT_COHERENT',
|
1407
|
+
'KFD_IOCTL_SVM_FLAG_GPU_ALWAYS_MAPPED',
|
1408
|
+
'KFD_IOCTL_SVM_FLAG_GPU_EXEC',
|
753
1409
|
'KFD_IOCTL_SVM_FLAG_GPU_READ_MOSTLY', 'KFD_IOCTL_SVM_FLAG_GPU_RO',
|
754
1410
|
'KFD_IOCTL_SVM_FLAG_HIVE_LOCAL', 'KFD_IOCTL_SVM_FLAG_HOST_ACCESS',
|
755
1411
|
'KFD_IOCTL_SVM_LOCATION_SYSMEM',
|
@@ -759,6 +1415,7 @@ __all__ = \
|
|
759
1415
|
'KFD_IOC_ALLOC_MEM_FLAGS_COHERENT',
|
760
1416
|
'KFD_IOC_ALLOC_MEM_FLAGS_DOORBELL',
|
761
1417
|
'KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE',
|
1418
|
+
'KFD_IOC_ALLOC_MEM_FLAGS_EXT_COHERENT',
|
762
1419
|
'KFD_IOC_ALLOC_MEM_FLAGS_GTT',
|
763
1420
|
'KFD_IOC_ALLOC_MEM_FLAGS_MMIO_REMAP',
|
764
1421
|
'KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE',
|
@@ -767,7 +1424,21 @@ __all__ = \
|
|
767
1424
|
'KFD_IOC_ALLOC_MEM_FLAGS_USERPTR', 'KFD_IOC_ALLOC_MEM_FLAGS_VRAM',
|
768
1425
|
'KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE',
|
769
1426
|
'KFD_IOC_CACHE_POLICY_COHERENT',
|
770
|
-
'KFD_IOC_CACHE_POLICY_NONCOHERENT',
|
1427
|
+
'KFD_IOC_CACHE_POLICY_NONCOHERENT',
|
1428
|
+
'KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH',
|
1429
|
+
'KFD_IOC_DBG_TRAP_DISABLE', 'KFD_IOC_DBG_TRAP_ENABLE',
|
1430
|
+
'KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT',
|
1431
|
+
'KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT',
|
1432
|
+
'KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT',
|
1433
|
+
'KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO',
|
1434
|
+
'KFD_IOC_DBG_TRAP_RESUME_QUEUES',
|
1435
|
+
'KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT',
|
1436
|
+
'KFD_IOC_DBG_TRAP_SET_EXCEPTIONS_ENABLED',
|
1437
|
+
'KFD_IOC_DBG_TRAP_SET_FLAGS',
|
1438
|
+
'KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH',
|
1439
|
+
'KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE',
|
1440
|
+
'KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE',
|
1441
|
+
'KFD_IOC_DBG_TRAP_SUSPEND_QUEUES', 'KFD_IOC_EVENT_DEBUG_EVENT',
|
771
1442
|
'KFD_IOC_EVENT_DEVICESTATECHANGE', 'KFD_IOC_EVENT_HW_EXCEPTION',
|
772
1443
|
'KFD_IOC_EVENT_MEMORY', 'KFD_IOC_EVENT_NODECHANGE',
|
773
1444
|
'KFD_IOC_EVENT_PROFILE_EVENT', 'KFD_IOC_EVENT_QUEUE_EVENT',
|
@@ -778,29 +1449,77 @@ __all__ = \
|
|
778
1449
|
'KFD_IOC_WAIT_RESULT_TIMEOUT', 'KFD_MAX_QUEUE_PERCENTAGE',
|
779
1450
|
'KFD_MAX_QUEUE_PRIORITY', 'KFD_MEM_ERR_GPU_HANG',
|
780
1451
|
'KFD_MEM_ERR_NO_RAS', 'KFD_MEM_ERR_POISON_CONSUMED',
|
781
|
-
'KFD_MEM_ERR_SRAM_ECC', '
|
782
|
-
'
|
1452
|
+
'KFD_MEM_ERR_SRAM_ECC', 'KFD_MIGRATE_TRIGGERS',
|
1453
|
+
'KFD_MIGRATE_TRIGGER_PAGEFAULT_CPU',
|
1454
|
+
'KFD_MIGRATE_TRIGGER_PAGEFAULT_GPU',
|
1455
|
+
'KFD_MIGRATE_TRIGGER_PREFETCH',
|
1456
|
+
'KFD_MIGRATE_TRIGGER_TTM_EVICTION',
|
1457
|
+
'KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL',
|
1458
|
+
'KFD_MMIO_REMAP_HDP_REG_FLUSH_CNTL',
|
1459
|
+
'KFD_QUEUE_EVICTION_CRIU_CHECKPOINT',
|
1460
|
+
'KFD_QUEUE_EVICTION_CRIU_RESTORE', 'KFD_QUEUE_EVICTION_TRIGGERS',
|
1461
|
+
'KFD_QUEUE_EVICTION_TRIGGER_SUSPEND',
|
1462
|
+
'KFD_QUEUE_EVICTION_TRIGGER_SVM',
|
1463
|
+
'KFD_QUEUE_EVICTION_TRIGGER_TTM',
|
1464
|
+
'KFD_QUEUE_EVICTION_TRIGGER_USERPTR',
|
1465
|
+
'KFD_RUNTIME_ENABLE_MODE_ENABLE_MASK',
|
1466
|
+
'KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK',
|
1467
|
+
'KFD_SIGNAL_EVENT_LIMIT', 'KFD_SMI_EVENT_ALL_PROCESS',
|
783
1468
|
'KFD_SMI_EVENT_GPU_POST_RESET', 'KFD_SMI_EVENT_GPU_PRE_RESET',
|
784
|
-
'
|
785
|
-
'
|
786
|
-
'
|
787
|
-
'
|
788
|
-
'
|
789
|
-
'
|
790
|
-
'
|
1469
|
+
'KFD_SMI_EVENT_MIGRATE_END', 'KFD_SMI_EVENT_MIGRATE_START',
|
1470
|
+
'KFD_SMI_EVENT_MSG_SIZE', 'KFD_SMI_EVENT_NONE',
|
1471
|
+
'KFD_SMI_EVENT_PAGE_FAULT_END', 'KFD_SMI_EVENT_PAGE_FAULT_START',
|
1472
|
+
'KFD_SMI_EVENT_QUEUE_EVICTION', 'KFD_SMI_EVENT_QUEUE_RESTORE',
|
1473
|
+
'KFD_SMI_EVENT_THERMAL_THROTTLE', 'KFD_SMI_EVENT_UNMAP_FROM_GPU',
|
1474
|
+
'KFD_SMI_EVENT_VMFAULT', 'KFD_SVM_UNMAP_TRIGGERS',
|
1475
|
+
'KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY',
|
1476
|
+
'KFD_SVM_UNMAP_TRIGGER_MMU_NOTIFY_MIGRATE',
|
1477
|
+
'KFD_SVM_UNMAP_TRIGGER_UNMAP_FROM_CPU',
|
1478
|
+
'MAX_ALLOWED_AW_BUFF_SIZE', 'MAX_ALLOWED_NUM_POINTS',
|
1479
|
+
'MAX_ALLOWED_WAC_BUFF_SIZE', 'NUM_OF_SUPPORTED_GPUS', '_IO',
|
1480
|
+
'_IOR', '_IOW', '_IOWR', 'kfd_criu_op', 'kfd_dbg_runtime_state',
|
1481
|
+
'kfd_dbg_trap_address_watch_mode', 'kfd_dbg_trap_exception_code',
|
1482
|
+
'kfd_dbg_trap_flags', 'kfd_dbg_trap_mask',
|
1483
|
+
'kfd_dbg_trap_operations', 'kfd_dbg_trap_override_mode',
|
1484
|
+
'kfd_dbg_trap_wave_launch_mode', 'kfd_ioctl_svm_attr_type',
|
1485
|
+
'kfd_ioctl_svm_location', 'kfd_ioctl_svm_op', 'kfd_mmio_remap',
|
1486
|
+
'kfd_smi_event', 'struct_kfd_context_save_area_header',
|
1487
|
+
'struct_kfd_context_save_area_header_wave_state',
|
1488
|
+
'struct_kfd_criu_bo_bucket', 'struct_kfd_criu_device_bucket',
|
1489
|
+
'struct_kfd_dbg_device_info_entry', 'struct_kfd_event_data',
|
1490
|
+
'struct_kfd_hsa_hw_exception_data',
|
791
1491
|
'struct_kfd_hsa_memory_exception_data',
|
1492
|
+
'struct_kfd_hsa_signal_event_data',
|
792
1493
|
'struct_kfd_ioctl_acquire_vm_args',
|
793
1494
|
'struct_kfd_ioctl_alloc_memory_of_gpu_args',
|
794
1495
|
'struct_kfd_ioctl_alloc_queue_gws_args',
|
795
1496
|
'struct_kfd_ioctl_create_event_args',
|
796
1497
|
'struct_kfd_ioctl_create_queue_args',
|
1498
|
+
'struct_kfd_ioctl_criu_args',
|
797
1499
|
'struct_kfd_ioctl_dbg_address_watch_args',
|
798
1500
|
'struct_kfd_ioctl_dbg_register_args',
|
1501
|
+
'struct_kfd_ioctl_dbg_trap_args',
|
1502
|
+
'struct_kfd_ioctl_dbg_trap_clear_node_address_watch_args',
|
1503
|
+
'struct_kfd_ioctl_dbg_trap_device_snapshot_args',
|
1504
|
+
'struct_kfd_ioctl_dbg_trap_enable_args',
|
1505
|
+
'struct_kfd_ioctl_dbg_trap_query_debug_event_args',
|
1506
|
+
'struct_kfd_ioctl_dbg_trap_query_exception_info_args',
|
1507
|
+
'struct_kfd_ioctl_dbg_trap_queue_snapshot_args',
|
1508
|
+
'struct_kfd_ioctl_dbg_trap_resume_queues_args',
|
1509
|
+
'struct_kfd_ioctl_dbg_trap_send_runtime_event_args',
|
1510
|
+
'struct_kfd_ioctl_dbg_trap_set_exceptions_enabled_args',
|
1511
|
+
'struct_kfd_ioctl_dbg_trap_set_flags_args',
|
1512
|
+
'struct_kfd_ioctl_dbg_trap_set_node_address_watch_args',
|
1513
|
+
'struct_kfd_ioctl_dbg_trap_set_wave_launch_mode_args',
|
1514
|
+
'struct_kfd_ioctl_dbg_trap_set_wave_launch_override_args',
|
1515
|
+
'struct_kfd_ioctl_dbg_trap_suspend_queues_args',
|
799
1516
|
'struct_kfd_ioctl_dbg_unregister_args',
|
800
1517
|
'struct_kfd_ioctl_dbg_wave_control_args',
|
801
1518
|
'struct_kfd_ioctl_destroy_event_args',
|
802
1519
|
'struct_kfd_ioctl_destroy_queue_args',
|
1520
|
+
'struct_kfd_ioctl_export_dmabuf_args',
|
803
1521
|
'struct_kfd_ioctl_free_memory_of_gpu_args',
|
1522
|
+
'struct_kfd_ioctl_get_available_memory_args',
|
804
1523
|
'struct_kfd_ioctl_get_clock_counters_args',
|
805
1524
|
'struct_kfd_ioctl_get_dmabuf_info_args',
|
806
1525
|
'struct_kfd_ioctl_get_process_apertures_args',
|
@@ -811,6 +1530,7 @@ __all__ = \
|
|
811
1530
|
'struct_kfd_ioctl_import_dmabuf_args',
|
812
1531
|
'struct_kfd_ioctl_map_memory_to_gpu_args',
|
813
1532
|
'struct_kfd_ioctl_reset_event_args',
|
1533
|
+
'struct_kfd_ioctl_runtime_enable_args',
|
814
1534
|
'struct_kfd_ioctl_set_cu_mask_args',
|
815
1535
|
'struct_kfd_ioctl_set_event_args',
|
816
1536
|
'struct_kfd_ioctl_set_memory_policy_args',
|
@@ -823,4 +1543,6 @@ __all__ = \
|
|
823
1543
|
'struct_kfd_ioctl_update_queue_args',
|
824
1544
|
'struct_kfd_ioctl_wait_events_args',
|
825
1545
|
'struct_kfd_memory_exception_failure',
|
826
|
-
'struct_kfd_process_device_apertures',
|
1546
|
+
'struct_kfd_process_device_apertures',
|
1547
|
+
'struct_kfd_queue_snapshot_entry', 'struct_kfd_runtime_info',
|
1548
|
+
'union_kfd_event_data_0', 'union_kfd_ioctl_dbg_trap_args_0']
|