tilelang-rocm 0.1.4.post4__cp310-cp310-manylinux1_x86_64.whl → 0.1.4.post9__cp310-cp310-manylinux1_x86_64.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 (1011) hide show
  1. tilelang/3rdparty/tvm/python/tvm/_ffi/runtime_ctypes.py +7 -1
  2. tilelang/3rdparty/tvm/python/tvm/contrib/tvmjs.py +7 -0
  3. tilelang/3rdparty/tvm/python/tvm/runtime/ndarray.py +8 -0
  4. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/tir/ir.py +7 -0
  5. tilelang/3rdparty/tvm/src/target/llvm/codegen_llvm.cc +2 -1
  6. tilelang/3rdparty/tvm/src/target/source/codegen_cuda.cc +4 -1
  7. tilelang/3rdparty/tvm/src/target/source/ptx.cc +3 -0
  8. tilelang/3rdparty/tvm/src/tir/ir/index_map.cc +2 -1
  9. tilelang/3rdparty/tvm/src/tir/ir/stmt.cc +0 -6
  10. tilelang/3rdparty/tvm/src/tir/op/op.cc +6 -0
  11. tilelang/3rdparty/tvm/src/tir/transforms/dtype_conversion.h +3 -0
  12. tilelang/README.md +3 -1
  13. tilelang/VERSION +1 -1
  14. tilelang/__init__.py +2 -1
  15. tilelang/autotuner/__init__.py +334 -277
  16. tilelang/autotuner/param.py +329 -0
  17. tilelang/cache/kernel_cache.py +6 -11
  18. tilelang/cache/tuner_cache.py +356 -0
  19. tilelang/carver/arch/driver/__init__.py +2 -0
  20. tilelang/carver/arch/driver/cuda_driver.py +28 -0
  21. tilelang/contrib/dlpack.py +1 -1
  22. tilelang/contrib/nvcc.py +27 -3
  23. tilelang/engine/phase.py +44 -11
  24. tilelang/intrinsics/mfma_macro_generator.py +12 -3
  25. tilelang/intrinsics/mma_layout.py +33 -51
  26. tilelang/jit/__init__.py +215 -93
  27. tilelang/jit/adapter/cython/cython_wrapper.pyx +13 -10
  28. tilelang/jit/adapter/libgen.py +3 -1
  29. tilelang/jit/adapter/wrapper.py +91 -6
  30. tilelang/jit/kernel.py +52 -1
  31. tilelang/jit/param.py +45 -0
  32. tilelang/language/__init__.py +83 -1
  33. tilelang/language/builtin.py +90 -1
  34. tilelang/language/copy.py +13 -11
  35. tilelang/language/customize.py +13 -0
  36. tilelang/language/print.py +27 -0
  37. tilelang/language/reduce.py +16 -5
  38. tilelang/language/tir/op.py +19 -0
  39. tilelang/language/warpgroup.py +7 -2
  40. tilelang/lib/libtilelang.so +0 -0
  41. tilelang/lib/libtilelang_module.so +0 -0
  42. tilelang/lib/libtvm.so +0 -0
  43. tilelang/lib/libtvm_runtime.so +0 -0
  44. tilelang/primitives/gemm/base.py +61 -24
  45. tilelang/profiler/__init__.py +41 -2
  46. tilelang/quantize/__init__.py +18 -0
  47. tilelang/quantize/lop3.py +1202 -0
  48. tilelang/quantize/quantization.py +234 -0
  49. tilelang/quantize/utils.py +126 -0
  50. tilelang/src/tl_templates/cuda/common.h +23 -0
  51. tilelang/src/tl_templates/cuda/cuda_fp8.h +42 -13
  52. tilelang/src/tl_templates/cuda/debug.h +41 -3
  53. tilelang/src/tl_templates/cuda/gemm_sm80.h +25 -13
  54. tilelang/src/tl_templates/cuda/gemm_sm89.h +25 -14
  55. tilelang/src/tl_templates/cuda/gemm_sm90.h +28 -24
  56. tilelang/src/tl_templates/hip/hip_fp8.h +18 -0
  57. tilelang/transform/__init__.py +17 -0
  58. tilelang/transform/pass_config.py +3 -0
  59. tilelang/utils/tensor.py +1 -0
  60. tilelang/version.py +21 -0
  61. {tilelang_rocm-0.1.4.post4.dist-info → tilelang_rocm-0.1.4.post9.dist-info}/METADATA +4 -2
  62. {tilelang_rocm-0.1.4.post4.dist-info → tilelang_rocm-0.1.4.post9.dist-info}/RECORD +65 -1003
  63. {tilelang_rocm-0.1.4.post4.dist-info → tilelang_rocm-0.1.4.post9.dist-info}/WHEEL +1 -1
  64. tilelang/3rdparty/tvm/python/tvm/__pycache__/__init__.cpython-310.pyc +0 -0
  65. tilelang/3rdparty/tvm/python/tvm/__pycache__/error.cpython-310.pyc +0 -0
  66. tilelang/3rdparty/tvm/python/tvm/__pycache__/parser.cpython-310.pyc +0 -0
  67. tilelang/3rdparty/tvm/python/tvm/__pycache__/support.cpython-310.pyc +0 -0
  68. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/__init__.cpython-310.pyc +0 -0
  69. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/_pyversion.cpython-310.pyc +0 -0
  70. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/base.cpython-310.pyc +0 -0
  71. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/libinfo.cpython-310.pyc +0 -0
  72. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/registry.cpython-310.pyc +0 -0
  73. tilelang/3rdparty/tvm/python/tvm/_ffi/__pycache__/runtime_ctypes.cpython-310.pyc +0 -0
  74. tilelang/3rdparty/tvm/python/tvm/_ffi/_ctypes/__pycache__/__init__.cpython-310.pyc +0 -0
  75. tilelang/3rdparty/tvm/python/tvm/_ffi/_ctypes/__pycache__/ndarray.cpython-310.pyc +0 -0
  76. tilelang/3rdparty/tvm/python/tvm/_ffi/_ctypes/__pycache__/object.cpython-310.pyc +0 -0
  77. tilelang/3rdparty/tvm/python/tvm/_ffi/_ctypes/__pycache__/packed_func.cpython-310.pyc +0 -0
  78. tilelang/3rdparty/tvm/python/tvm/_ffi/_ctypes/__pycache__/types.cpython-310.pyc +0 -0
  79. tilelang/3rdparty/tvm/python/tvm/_ffi/_cy3/__pycache__/__init__.cpython-310.pyc +0 -0
  80. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/__init__.cpython-310.pyc +0 -0
  81. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  82. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/analyzer.cpython-310.pyc +0 -0
  83. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/bound.cpython-310.pyc +0 -0
  84. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/int_set.cpython-310.pyc +0 -0
  85. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/int_solver.cpython-310.pyc +0 -0
  86. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/iter_affine_map.cpython-310.pyc +0 -0
  87. tilelang/3rdparty/tvm/python/tvm/arith/__pycache__/pattern.cpython-310.pyc +0 -0
  88. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/__init__.cpython-310.pyc +0 -0
  89. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  90. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/compute_dag.cpython-310.pyc +0 -0
  91. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/dispatcher.cpython-310.pyc +0 -0
  92. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/feature.cpython-310.pyc +0 -0
  93. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/loop_state.cpython-310.pyc +0 -0
  94. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/measure.cpython-310.pyc +0 -0
  95. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/measure_record.cpython-310.pyc +0 -0
  96. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/relay_integration.cpython-310.pyc +0 -0
  97. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/search_policy.cpython-310.pyc +0 -0
  98. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/search_task.cpython-310.pyc +0 -0
  99. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/task_scheduler.cpython-310.pyc +0 -0
  100. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/utils.cpython-310.pyc +0 -0
  101. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/__pycache__/workload_registry.cpython-310.pyc +0 -0
  102. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/cost_model/__pycache__/__init__.cpython-310.pyc +0 -0
  103. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/cost_model/__pycache__/cost_model.cpython-310.pyc +0 -0
  104. tilelang/3rdparty/tvm/python/tvm/auto_scheduler/cost_model/__pycache__/xgb_model.cpython-310.pyc +0 -0
  105. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/__init__.cpython-310.pyc +0 -0
  106. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/database.cpython-310.pyc +0 -0
  107. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/env.cpython-310.pyc +0 -0
  108. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/feature.cpython-310.pyc +0 -0
  109. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/record.cpython-310.pyc +0 -0
  110. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/tophub.cpython-310.pyc +0 -0
  111. tilelang/3rdparty/tvm/python/tvm/autotvm/__pycache__/utils.cpython-310.pyc +0 -0
  112. tilelang/3rdparty/tvm/python/tvm/autotvm/measure/__pycache__/__init__.cpython-310.pyc +0 -0
  113. tilelang/3rdparty/tvm/python/tvm/autotvm/measure/__pycache__/executor.cpython-310.pyc +0 -0
  114. tilelang/3rdparty/tvm/python/tvm/autotvm/measure/__pycache__/measure.cpython-310.pyc +0 -0
  115. tilelang/3rdparty/tvm/python/tvm/autotvm/measure/__pycache__/measure_methods.cpython-310.pyc +0 -0
  116. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/__init__.cpython-310.pyc +0 -0
  117. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/code_hash.cpython-310.pyc +0 -0
  118. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/dispatcher.cpython-310.pyc +0 -0
  119. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/relay_integration.cpython-310.pyc +0 -0
  120. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/space.cpython-310.pyc +0 -0
  121. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/task.cpython-310.pyc +0 -0
  122. tilelang/3rdparty/tvm/python/tvm/autotvm/task/__pycache__/topi_integration.cpython-310.pyc +0 -0
  123. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/__init__.cpython-310.pyc +0 -0
  124. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/callback.cpython-310.pyc +0 -0
  125. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/droplet_tuner.cpython-310.pyc +0 -0
  126. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/ga_tuner.cpython-310.pyc +0 -0
  127. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/index_based_tuner.cpython-310.pyc +0 -0
  128. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/metric.cpython-310.pyc +0 -0
  129. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/model_based_tuner.cpython-310.pyc +0 -0
  130. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/sa_model_optimizer.cpython-310.pyc +0 -0
  131. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/tuner.cpython-310.pyc +0 -0
  132. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/xgboost_cost_model.cpython-310.pyc +0 -0
  133. tilelang/3rdparty/tvm/python/tvm/autotvm/tuner/__pycache__/xgboost_tuner.cpython-310.pyc +0 -0
  134. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/__init__.cpython-310.pyc +0 -0
  135. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/cblas.cpython-310.pyc +0 -0
  136. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/cc.cpython-310.pyc +0 -0
  137. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/coreml_runtime.cpython-310.pyc +0 -0
  138. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/cublas.cpython-310.pyc +0 -0
  139. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/cudnn.cpython-310.pyc +0 -0
  140. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/dnnl.cpython-310.pyc +0 -0
  141. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/download.cpython-310.pyc +0 -0
  142. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/graph_executor.cpython-310.pyc +0 -0
  143. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/hipcc.cpython-310.pyc +0 -0
  144. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/miopen.cpython-310.pyc +0 -0
  145. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/mkl.cpython-310.pyc +0 -0
  146. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/mrvl.cpython-310.pyc +0 -0
  147. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/ndk.cpython-310.pyc +0 -0
  148. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/nnpack.cpython-310.pyc +0 -0
  149. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/nvcc.cpython-310.pyc +0 -0
  150. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/pickle_memoize.cpython-310.pyc +0 -0
  151. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/popen_pool.cpython-310.pyc +0 -0
  152. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/rocblas.cpython-310.pyc +0 -0
  153. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/rocm.cpython-310.pyc +0 -0
  154. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/sdaccel.cpython-310.pyc +0 -0
  155. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/stackvm.cpython-310.pyc +0 -0
  156. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/tar.cpython-310.pyc +0 -0
  157. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/thrust.cpython-310.pyc +0 -0
  158. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/utils.cpython-310.pyc +0 -0
  159. tilelang/3rdparty/tvm/python/tvm/contrib/__pycache__/xcode.cpython-310.pyc +0 -0
  160. tilelang/3rdparty/tvm/python/tvm/contrib/target/__pycache__/__init__.cpython-310.pyc +0 -0
  161. tilelang/3rdparty/tvm/python/tvm/contrib/target/__pycache__/coreml.cpython-310.pyc +0 -0
  162. tilelang/3rdparty/tvm/python/tvm/dlight/__pycache__/__init__.cpython-310.pyc +0 -0
  163. tilelang/3rdparty/tvm/python/tvm/dlight/base/__pycache__/__init__.cpython-310.pyc +0 -0
  164. tilelang/3rdparty/tvm/python/tvm/dlight/base/__pycache__/analysis.cpython-310.pyc +0 -0
  165. tilelang/3rdparty/tvm/python/tvm/dlight/base/__pycache__/common_schedules.cpython-310.pyc +0 -0
  166. tilelang/3rdparty/tvm/python/tvm/dlight/base/__pycache__/schedule_rule.cpython-310.pyc +0 -0
  167. tilelang/3rdparty/tvm/python/tvm/dlight/base/__pycache__/transform.cpython-310.pyc +0 -0
  168. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/__init__.cpython-310.pyc +0 -0
  169. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/base.cpython-310.pyc +0 -0
  170. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/fallback.cpython-310.pyc +0 -0
  171. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/gemv.cpython-310.pyc +0 -0
  172. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/general_reduction.cpython-310.pyc +0 -0
  173. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/low_batch_gemv.cpython-310.pyc +0 -0
  174. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/matmul.cpython-310.pyc +0 -0
  175. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/reduction.cpython-310.pyc +0 -0
  176. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/rmsnorm.cpython-310.pyc +0 -0
  177. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/transpose.cpython-310.pyc +0 -0
  178. tilelang/3rdparty/tvm/python/tvm/dlight/gpu/__pycache__/utils.cpython-310.pyc +0 -0
  179. tilelang/3rdparty/tvm/python/tvm/driver/__pycache__/__init__.cpython-310.pyc +0 -0
  180. tilelang/3rdparty/tvm/python/tvm/driver/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  181. tilelang/3rdparty/tvm/python/tvm/driver/__pycache__/build_module.cpython-310.pyc +0 -0
  182. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/__init__.cpython-310.pyc +0 -0
  183. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  184. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/_ffi_instrument_api.cpython-310.pyc +0 -0
  185. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/_ffi_transform_api.cpython-310.pyc +0 -0
  186. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/adt.cpython-310.pyc +0 -0
  187. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/affine_type.cpython-310.pyc +0 -0
  188. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/attrs.cpython-310.pyc +0 -0
  189. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/base.cpython-310.pyc +0 -0
  190. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/container.cpython-310.pyc +0 -0
  191. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/expr.cpython-310.pyc +0 -0
  192. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/function.cpython-310.pyc +0 -0
  193. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/global_info.cpython-310.pyc +0 -0
  194. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/instrument.cpython-310.pyc +0 -0
  195. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/json_compact.cpython-310.pyc +0 -0
  196. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/memory_pools.cpython-310.pyc +0 -0
  197. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/module.cpython-310.pyc +0 -0
  198. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/op.cpython-310.pyc +0 -0
  199. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/tensor_type.cpython-310.pyc +0 -0
  200. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/transform.cpython-310.pyc +0 -0
  201. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/type.cpython-310.pyc +0 -0
  202. tilelang/3rdparty/tvm/python/tvm/ir/__pycache__/type_relation.cpython-310.pyc +0 -0
  203. tilelang/3rdparty/tvm/python/tvm/ir/diagnostics/__pycache__/__init__.cpython-310.pyc +0 -0
  204. tilelang/3rdparty/tvm/python/tvm/ir/diagnostics/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  205. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/__init__.cpython-310.pyc +0 -0
  206. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  207. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/arg_info.cpython-310.pyc +0 -0
  208. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/extracted_task.cpython-310.pyc +0 -0
  209. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/logging.cpython-310.pyc +0 -0
  210. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/profiler.cpython-310.pyc +0 -0
  211. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/relax_integration.cpython-310.pyc +0 -0
  212. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/relay_integration.cpython-310.pyc +0 -0
  213. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/tir_integration.cpython-310.pyc +0 -0
  214. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/trace_apply.cpython-310.pyc +0 -0
  215. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/tune.cpython-310.pyc +0 -0
  216. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/tune_context.cpython-310.pyc +0 -0
  217. tilelang/3rdparty/tvm/python/tvm/meta_schedule/__pycache__/utils.cpython-310.pyc +0 -0
  218. tilelang/3rdparty/tvm/python/tvm/meta_schedule/builder/__pycache__/__init__.cpython-310.pyc +0 -0
  219. tilelang/3rdparty/tvm/python/tvm/meta_schedule/builder/__pycache__/builder.cpython-310.pyc +0 -0
  220. tilelang/3rdparty/tvm/python/tvm/meta_schedule/builder/__pycache__/local_builder.cpython-310.pyc +0 -0
  221. tilelang/3rdparty/tvm/python/tvm/meta_schedule/cost_model/__pycache__/__init__.cpython-310.pyc +0 -0
  222. tilelang/3rdparty/tvm/python/tvm/meta_schedule/cost_model/__pycache__/cost_model.cpython-310.pyc +0 -0
  223. tilelang/3rdparty/tvm/python/tvm/meta_schedule/cost_model/__pycache__/metric.cpython-310.pyc +0 -0
  224. tilelang/3rdparty/tvm/python/tvm/meta_schedule/cost_model/__pycache__/random_model.cpython-310.pyc +0 -0
  225. tilelang/3rdparty/tvm/python/tvm/meta_schedule/cost_model/__pycache__/xgb_model.cpython-310.pyc +0 -0
  226. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/__init__.cpython-310.pyc +0 -0
  227. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/database.cpython-310.pyc +0 -0
  228. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/json_database.cpython-310.pyc +0 -0
  229. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/memory_database.cpython-310.pyc +0 -0
  230. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/ordered_union_database.cpython-310.pyc +0 -0
  231. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/schedule_fn_database.cpython-310.pyc +0 -0
  232. tilelang/3rdparty/tvm/python/tvm/meta_schedule/database/__pycache__/union_database.cpython-310.pyc +0 -0
  233. tilelang/3rdparty/tvm/python/tvm/meta_schedule/feature_extractor/__pycache__/__init__.cpython-310.pyc +0 -0
  234. tilelang/3rdparty/tvm/python/tvm/meta_schedule/feature_extractor/__pycache__/feature_extractor.cpython-310.pyc +0 -0
  235. tilelang/3rdparty/tvm/python/tvm/meta_schedule/feature_extractor/__pycache__/per_store_feature.cpython-310.pyc +0 -0
  236. tilelang/3rdparty/tvm/python/tvm/meta_schedule/feature_extractor/__pycache__/random_feature_extractor.cpython-310.pyc +0 -0
  237. tilelang/3rdparty/tvm/python/tvm/meta_schedule/measure_callback/__pycache__/__init__.cpython-310.pyc +0 -0
  238. tilelang/3rdparty/tvm/python/tvm/meta_schedule/measure_callback/__pycache__/add_to_database.cpython-310.pyc +0 -0
  239. tilelang/3rdparty/tvm/python/tvm/meta_schedule/measure_callback/__pycache__/measure_callback.cpython-310.pyc +0 -0
  240. tilelang/3rdparty/tvm/python/tvm/meta_schedule/measure_callback/__pycache__/remove_build_artifact.cpython-310.pyc +0 -0
  241. tilelang/3rdparty/tvm/python/tvm/meta_schedule/measure_callback/__pycache__/update_cost_model.cpython-310.pyc +0 -0
  242. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/__init__.cpython-310.pyc +0 -0
  243. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutate_compute_location.cpython-310.pyc +0 -0
  244. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutate_parallel.cpython-310.pyc +0 -0
  245. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutate_thread_binding.cpython-310.pyc +0 -0
  246. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutate_tile_size.cpython-310.pyc +0 -0
  247. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutate_unroll.cpython-310.pyc +0 -0
  248. tilelang/3rdparty/tvm/python/tvm/meta_schedule/mutator/__pycache__/mutator.cpython-310.pyc +0 -0
  249. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/__init__.cpython-310.pyc +0 -0
  250. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/disallow_async_strided_mem_copy.cpython-310.pyc +0 -0
  251. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/disallow_dynamic_loop.cpython-310.pyc +0 -0
  252. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/postproc.cpython-310.pyc +0 -0
  253. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_cooperative_fetch.cpython-310.pyc +0 -0
  254. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_layout.cpython-310.pyc +0 -0
  255. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_parallel_vectorize_unroll.cpython-310.pyc +0 -0
  256. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_reduction_block.cpython-310.pyc +0 -0
  257. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_tensorize.cpython-310.pyc +0 -0
  258. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/rewrite_unbound_block.cpython-310.pyc +0 -0
  259. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/verify_gpu_code.cpython-310.pyc +0 -0
  260. tilelang/3rdparty/tvm/python/tvm/meta_schedule/postproc/__pycache__/verify_vtcm_limit.cpython-310.pyc +0 -0
  261. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/__init__.cpython-310.pyc +0 -0
  262. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/config.cpython-310.pyc +0 -0
  263. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/local_runner.cpython-310.pyc +0 -0
  264. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/rpc_runner.cpython-310.pyc +0 -0
  265. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/runner.cpython-310.pyc +0 -0
  266. tilelang/3rdparty/tvm/python/tvm/meta_schedule/runner/__pycache__/utils.cpython-310.pyc +0 -0
  267. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/__pycache__/__init__.cpython-310.pyc +0 -0
  268. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/cpu/__pycache__/__init__.cpython-310.pyc +0 -0
  269. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/cuda/__pycache__/__init__.cpython-310.pyc +0 -0
  270. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/cuda/__pycache__/layout_transform.cpython-310.pyc +0 -0
  271. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/generic/__pycache__/__init__.cpython-310.pyc +0 -0
  272. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule/x86/__pycache__/__init__.cpython-310.pyc +0 -0
  273. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/__init__.cpython-310.pyc +0 -0
  274. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/add_rfactor.cpython-310.pyc +0 -0
  275. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/apply_custom_rule.cpython-310.pyc +0 -0
  276. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/auto_bind.cpython-310.pyc +0 -0
  277. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/auto_inline.cpython-310.pyc +0 -0
  278. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/cross_thread_reduction.cpython-310.pyc +0 -0
  279. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/multi_level_tiling.cpython-310.pyc +0 -0
  280. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/parallel_vectorize_unroll.cpython-310.pyc +0 -0
  281. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/random_compute_location.cpython-310.pyc +0 -0
  282. tilelang/3rdparty/tvm/python/tvm/meta_schedule/schedule_rule/__pycache__/schedule_rule.cpython-310.pyc +0 -0
  283. tilelang/3rdparty/tvm/python/tvm/meta_schedule/search_strategy/__pycache__/__init__.cpython-310.pyc +0 -0
  284. tilelang/3rdparty/tvm/python/tvm/meta_schedule/search_strategy/__pycache__/evolutionary_search.cpython-310.pyc +0 -0
  285. tilelang/3rdparty/tvm/python/tvm/meta_schedule/search_strategy/__pycache__/replay_func.cpython-310.pyc +0 -0
  286. tilelang/3rdparty/tvm/python/tvm/meta_schedule/search_strategy/__pycache__/replay_trace.cpython-310.pyc +0 -0
  287. tilelang/3rdparty/tvm/python/tvm/meta_schedule/search_strategy/__pycache__/search_strategy.cpython-310.pyc +0 -0
  288. tilelang/3rdparty/tvm/python/tvm/meta_schedule/space_generator/__pycache__/__init__.cpython-310.pyc +0 -0
  289. tilelang/3rdparty/tvm/python/tvm/meta_schedule/space_generator/__pycache__/post_order_apply.cpython-310.pyc +0 -0
  290. tilelang/3rdparty/tvm/python/tvm/meta_schedule/space_generator/__pycache__/schedule_fn.cpython-310.pyc +0 -0
  291. tilelang/3rdparty/tvm/python/tvm/meta_schedule/space_generator/__pycache__/space_generator.cpython-310.pyc +0 -0
  292. tilelang/3rdparty/tvm/python/tvm/meta_schedule/space_generator/__pycache__/space_generator_union.cpython-310.pyc +0 -0
  293. tilelang/3rdparty/tvm/python/tvm/meta_schedule/task_scheduler/__pycache__/__init__.cpython-310.pyc +0 -0
  294. tilelang/3rdparty/tvm/python/tvm/meta_schedule/task_scheduler/__pycache__/gradient_based.cpython-310.pyc +0 -0
  295. tilelang/3rdparty/tvm/python/tvm/meta_schedule/task_scheduler/__pycache__/round_robin.cpython-310.pyc +0 -0
  296. tilelang/3rdparty/tvm/python/tvm/meta_schedule/task_scheduler/__pycache__/task_scheduler.cpython-310.pyc +0 -0
  297. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/__init__.cpython-310.pyc +0 -0
  298. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  299. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/binding_rewrite.cpython-310.pyc +0 -0
  300. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/block_builder.cpython-310.pyc +0 -0
  301. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/exec_builder.cpython-310.pyc +0 -0
  302. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/expr.cpython-310.pyc +0 -0
  303. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/expr_functor.cpython-310.pyc +0 -0
  304. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/pipeline.cpython-310.pyc +0 -0
  305. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/struct_info.cpython-310.pyc +0 -0
  306. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/ty.cpython-310.pyc +0 -0
  307. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/utils.cpython-310.pyc +0 -0
  308. tilelang/3rdparty/tvm/python/tvm/relax/__pycache__/vm_build.cpython-310.pyc +0 -0
  309. tilelang/3rdparty/tvm/python/tvm/relax/analysis/__pycache__/__init__.cpython-310.pyc +0 -0
  310. tilelang/3rdparty/tvm/python/tvm/relax/analysis/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  311. tilelang/3rdparty/tvm/python/tvm/relax/analysis/__pycache__/analysis.cpython-310.pyc +0 -0
  312. tilelang/3rdparty/tvm/python/tvm/relax/analysis/__pycache__/estimate_memory_usage.cpython-310.pyc +0 -0
  313. tilelang/3rdparty/tvm/python/tvm/relax/backend/__pycache__/__init__.cpython-310.pyc +0 -0
  314. tilelang/3rdparty/tvm/python/tvm/relax/backend/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  315. tilelang/3rdparty/tvm/python/tvm/relax/backend/__pycache__/dispatch_sort_scan.cpython-310.pyc +0 -0
  316. tilelang/3rdparty/tvm/python/tvm/relax/backend/__pycache__/pattern_registry.cpython-310.pyc +0 -0
  317. tilelang/3rdparty/tvm/python/tvm/relax/backend/contrib/__pycache__/__init__.cpython-310.pyc +0 -0
  318. tilelang/3rdparty/tvm/python/tvm/relax/distributed/__pycache__/__init__.cpython-310.pyc +0 -0
  319. tilelang/3rdparty/tvm/python/tvm/relax/distributed/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  320. tilelang/3rdparty/tvm/python/tvm/relax/distributed/__pycache__/global_info.cpython-310.pyc +0 -0
  321. tilelang/3rdparty/tvm/python/tvm/relax/distributed/__pycache__/struct_info.cpython-310.pyc +0 -0
  322. tilelang/3rdparty/tvm/python/tvm/relax/distributed/transform/__pycache__/__init__.cpython-310.pyc +0 -0
  323. tilelang/3rdparty/tvm/python/tvm/relax/distributed/transform/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  324. tilelang/3rdparty/tvm/python/tvm/relax/distributed/transform/__pycache__/transform.cpython-310.pyc +0 -0
  325. tilelang/3rdparty/tvm/python/tvm/relax/dpl/__pycache__/__init__.cpython-310.pyc +0 -0
  326. tilelang/3rdparty/tvm/python/tvm/relax/dpl/__pycache__/_ffi.cpython-310.pyc +0 -0
  327. tilelang/3rdparty/tvm/python/tvm/relax/dpl/__pycache__/context.cpython-310.pyc +0 -0
  328. tilelang/3rdparty/tvm/python/tvm/relax/dpl/__pycache__/pattern.cpython-310.pyc +0 -0
  329. tilelang/3rdparty/tvm/python/tvm/relax/dpl/__pycache__/rewrite.cpython-310.pyc +0 -0
  330. tilelang/3rdparty/tvm/python/tvm/relax/frontend/__pycache__/__init__.cpython-310.pyc +0 -0
  331. tilelang/3rdparty/tvm/python/tvm/relax/frontend/__pycache__/common.cpython-310.pyc +0 -0
  332. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/__init__.cpython-310.pyc +0 -0
  333. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/_tensor_op.cpython-310.pyc +0 -0
  334. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/core.cpython-310.pyc +0 -0
  335. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/exporter.cpython-310.pyc +0 -0
  336. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/extern.cpython-310.pyc +0 -0
  337. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/modules.cpython-310.pyc +0 -0
  338. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/op.cpython-310.pyc +0 -0
  339. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/spec.cpython-310.pyc +0 -0
  340. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/subroutine.cpython-310.pyc +0 -0
  341. tilelang/3rdparty/tvm/python/tvm/relax/frontend/nn/__pycache__/visitor.cpython-310.pyc +0 -0
  342. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/__init__.cpython-310.pyc +0 -0
  343. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  344. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/_op_gradient.cpython-310.pyc +0 -0
  345. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/base.cpython-310.pyc +0 -0
  346. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/binary.cpython-310.pyc +0 -0
  347. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/create.cpython-310.pyc +0 -0
  348. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/datatype.cpython-310.pyc +0 -0
  349. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/index.cpython-310.pyc +0 -0
  350. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/linear_algebra.cpython-310.pyc +0 -0
  351. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/manipulate.cpython-310.pyc +0 -0
  352. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/mask.cpython-310.pyc +0 -0
  353. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/op_attrs.cpython-310.pyc +0 -0
  354. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/qdq.cpython-310.pyc +0 -0
  355. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/search.cpython-310.pyc +0 -0
  356. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/set.cpython-310.pyc +0 -0
  357. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/sorting.cpython-310.pyc +0 -0
  358. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/statistical.cpython-310.pyc +0 -0
  359. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/ternary.cpython-310.pyc +0 -0
  360. tilelang/3rdparty/tvm/python/tvm/relax/op/__pycache__/unary.cpython-310.pyc +0 -0
  361. tilelang/3rdparty/tvm/python/tvm/relax/op/builtin/__pycache__/__init__.cpython-310.pyc +0 -0
  362. tilelang/3rdparty/tvm/python/tvm/relax/op/builtin/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  363. tilelang/3rdparty/tvm/python/tvm/relax/op/builtin/__pycache__/builtin.cpython-310.pyc +0 -0
  364. tilelang/3rdparty/tvm/python/tvm/relax/op/ccl/__pycache__/__init__.cpython-310.pyc +0 -0
  365. tilelang/3rdparty/tvm/python/tvm/relax/op/ccl/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  366. tilelang/3rdparty/tvm/python/tvm/relax/op/ccl/__pycache__/ccl.cpython-310.pyc +0 -0
  367. tilelang/3rdparty/tvm/python/tvm/relax/op/distributed/__pycache__/__init__.cpython-310.pyc +0 -0
  368. tilelang/3rdparty/tvm/python/tvm/relax/op/distributed/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  369. tilelang/3rdparty/tvm/python/tvm/relax/op/distributed/__pycache__/distributed.cpython-310.pyc +0 -0
  370. tilelang/3rdparty/tvm/python/tvm/relax/op/grad/__pycache__/__init__.cpython-310.pyc +0 -0
  371. tilelang/3rdparty/tvm/python/tvm/relax/op/grad/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  372. tilelang/3rdparty/tvm/python/tvm/relax/op/grad/__pycache__/grad.cpython-310.pyc +0 -0
  373. tilelang/3rdparty/tvm/python/tvm/relax/op/image/__pycache__/__init__.cpython-310.pyc +0 -0
  374. tilelang/3rdparty/tvm/python/tvm/relax/op/image/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  375. tilelang/3rdparty/tvm/python/tvm/relax/op/image/__pycache__/image.cpython-310.pyc +0 -0
  376. tilelang/3rdparty/tvm/python/tvm/relax/op/memory/__pycache__/__init__.cpython-310.pyc +0 -0
  377. tilelang/3rdparty/tvm/python/tvm/relax/op/memory/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  378. tilelang/3rdparty/tvm/python/tvm/relax/op/memory/__pycache__/memory.cpython-310.pyc +0 -0
  379. tilelang/3rdparty/tvm/python/tvm/relax/op/nn/__pycache__/__init__.cpython-310.pyc +0 -0
  380. tilelang/3rdparty/tvm/python/tvm/relax/op/nn/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  381. tilelang/3rdparty/tvm/python/tvm/relax/op/nn/__pycache__/nn.cpython-310.pyc +0 -0
  382. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/__init__.cpython-310.pyc +0 -0
  383. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  384. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/loss.cpython-310.pyc +0 -0
  385. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/optimizer.cpython-310.pyc +0 -0
  386. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/setup_trainer.cpython-310.pyc +0 -0
  387. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/trainer.cpython-310.pyc +0 -0
  388. tilelang/3rdparty/tvm/python/tvm/relax/training/__pycache__/utils.cpython-310.pyc +0 -0
  389. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/__init__.cpython-310.pyc +0 -0
  390. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  391. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/attach_external_modules.cpython-310.pyc +0 -0
  392. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/fast_math.cpython-310.pyc +0 -0
  393. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/ipc_allreduce_rewrite.cpython-310.pyc +0 -0
  394. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/lazy_transform_params.cpython-310.pyc +0 -0
  395. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/lower_gpu_ipc_alloc_storage.cpython-310.pyc +0 -0
  396. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/optimize_layout_transform.cpython-310.pyc +0 -0
  397. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/remove_redundant_reshape.cpython-310.pyc +0 -0
  398. tilelang/3rdparty/tvm/python/tvm/relax/transform/__pycache__/transform.cpython-310.pyc +0 -0
  399. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/__init__.cpython-310.pyc +0 -0
  400. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/binary.cpython-310.pyc +0 -0
  401. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/ccl.cpython-310.pyc +0 -0
  402. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/common.cpython-310.pyc +0 -0
  403. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/create.cpython-310.pyc +0 -0
  404. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/datatype.cpython-310.pyc +0 -0
  405. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/distributed.cpython-310.pyc +0 -0
  406. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/grad.cpython-310.pyc +0 -0
  407. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/image.cpython-310.pyc +0 -0
  408. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/index.cpython-310.pyc +0 -0
  409. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/inspect_op.cpython-310.pyc +0 -0
  410. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/linear_algebra.cpython-310.pyc +0 -0
  411. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/manipulate.cpython-310.pyc +0 -0
  412. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/nn.cpython-310.pyc +0 -0
  413. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/qdq.cpython-310.pyc +0 -0
  414. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/search.cpython-310.pyc +0 -0
  415. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/statistical.cpython-310.pyc +0 -0
  416. tilelang/3rdparty/tvm/python/tvm/relax/transform/legalize_ops/__pycache__/unary.cpython-310.pyc +0 -0
  417. tilelang/3rdparty/tvm/python/tvm/relax/transform/tuning_api/__pycache__/__init__.cpython-310.pyc +0 -0
  418. tilelang/3rdparty/tvm/python/tvm/relax/transform/tuning_api/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  419. tilelang/3rdparty/tvm/python/tvm/relax/transform/tuning_api/__pycache__/database.cpython-310.pyc +0 -0
  420. tilelang/3rdparty/tvm/python/tvm/relax/transform/tuning_api/__pycache__/default_functions.cpython-310.pyc +0 -0
  421. tilelang/3rdparty/tvm/python/tvm/relax/transform/tuning_api/__pycache__/primitives.cpython-310.pyc +0 -0
  422. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/__init__.cpython-310.pyc +0 -0
  423. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/_build_module.cpython-310.pyc +0 -0
  424. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  425. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/_ffi_api_parser.cpython-310.pyc +0 -0
  426. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/_make.cpython-310.pyc +0 -0
  427. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/adt.cpython-310.pyc +0 -0
  428. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/base.cpython-310.pyc +0 -0
  429. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/build_module.cpython-310.pyc +0 -0
  430. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/debug.cpython-310.pyc +0 -0
  431. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/expr.cpython-310.pyc +0 -0
  432. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/expr_functor.cpython-310.pyc +0 -0
  433. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/function.cpython-310.pyc +0 -0
  434. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/loops.cpython-310.pyc +0 -0
  435. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/param_dict.cpython-310.pyc +0 -0
  436. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/parser.cpython-310.pyc +0 -0
  437. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/prelude.cpython-310.pyc +0 -0
  438. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/scope_builder.cpython-310.pyc +0 -0
  439. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/ty.cpython-310.pyc +0 -0
  440. tilelang/3rdparty/tvm/python/tvm/relay/__pycache__/type_functor.cpython-310.pyc +0 -0
  441. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/__init__.cpython-310.pyc +0 -0
  442. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  443. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/analysis.cpython-310.pyc +0 -0
  444. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/annotated_regions.cpython-310.pyc +0 -0
  445. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/call_graph.cpython-310.pyc +0 -0
  446. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/count_layers.cpython-310.pyc +0 -0
  447. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/feature.cpython-310.pyc +0 -0
  448. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/sparse_conv2d.cpython-310.pyc +0 -0
  449. tilelang/3rdparty/tvm/python/tvm/relay/analysis/__pycache__/sparse_dense.cpython-310.pyc +0 -0
  450. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/__init__.cpython-310.pyc +0 -0
  451. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/_backend.cpython-310.pyc +0 -0
  452. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/_vm.cpython-310.pyc +0 -0
  453. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/executor.cpython-310.pyc +0 -0
  454. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/executor_factory.cpython-310.pyc +0 -0
  455. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/interpreter.cpython-310.pyc +0 -0
  456. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/runtime.cpython-310.pyc +0 -0
  457. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/te_compiler.cpython-310.pyc +0 -0
  458. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/utils.cpython-310.pyc +0 -0
  459. tilelang/3rdparty/tvm/python/tvm/relay/backend/__pycache__/vm.cpython-310.pyc +0 -0
  460. tilelang/3rdparty/tvm/python/tvm/relay/collage/__pycache__/__init__.cpython-310.pyc +0 -0
  461. tilelang/3rdparty/tvm/python/tvm/relay/collage/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  462. tilelang/3rdparty/tvm/python/tvm/relay/collage/__pycache__/collage.cpython-310.pyc +0 -0
  463. tilelang/3rdparty/tvm/python/tvm/relay/data_dep_optimization/__pycache__/__init__.cpython-310.pyc +0 -0
  464. tilelang/3rdparty/tvm/python/tvm/relay/data_dep_optimization/__pycache__/bsr_conv2d.cpython-310.pyc +0 -0
  465. tilelang/3rdparty/tvm/python/tvm/relay/data_dep_optimization/__pycache__/bsr_dense.cpython-310.pyc +0 -0
  466. tilelang/3rdparty/tvm/python/tvm/relay/data_dep_optimization/__pycache__/simplify_fc_transpose.cpython-310.pyc +0 -0
  467. tilelang/3rdparty/tvm/python/tvm/relay/data_dep_optimization/__pycache__/utils.cpython-310.pyc +0 -0
  468. tilelang/3rdparty/tvm/python/tvm/relay/dataflow_pattern/__pycache__/__init__.cpython-310.pyc +0 -0
  469. tilelang/3rdparty/tvm/python/tvm/relay/dataflow_pattern/__pycache__/_ffi.cpython-310.pyc +0 -0
  470. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/__init__.cpython-310.pyc +0 -0
  471. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/caffe.cpython-310.pyc +0 -0
  472. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/caffe2.cpython-310.pyc +0 -0
  473. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/change_datatype.cpython-310.pyc +0 -0
  474. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/common.cpython-310.pyc +0 -0
  475. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/coreml.cpython-310.pyc +0 -0
  476. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/darknet.cpython-310.pyc +0 -0
  477. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/keras.cpython-310.pyc +0 -0
  478. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/mxnet.cpython-310.pyc +0 -0
  479. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/mxnet_qnn_op_utils.cpython-310.pyc +0 -0
  480. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/nnvm_common.cpython-310.pyc +0 -0
  481. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/oneflow.cpython-310.pyc +0 -0
  482. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/onnx.cpython-310.pyc +0 -0
  483. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/paddlepaddle.cpython-310.pyc +0 -0
  484. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/pytorch.cpython-310.pyc +0 -0
  485. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/pytorch_utils.cpython-310.pyc +0 -0
  486. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/qnn_torch.cpython-310.pyc +0 -0
  487. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/tensorflow.cpython-310.pyc +0 -0
  488. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/tensorflow_ops.cpython-310.pyc +0 -0
  489. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/tflite.cpython-310.pyc +0 -0
  490. tilelang/3rdparty/tvm/python/tvm/relay/frontend/__pycache__/tflite_flexbuffer.cpython-310.pyc +0 -0
  491. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/__init__.cpython-310.pyc +0 -0
  492. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_algorithm.cpython-310.pyc +0 -0
  493. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_make.cpython-310.pyc +0 -0
  494. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_math.cpython-310.pyc +0 -0
  495. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_reduce.cpython-310.pyc +0 -0
  496. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_tensor.cpython-310.pyc +0 -0
  497. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_tensor_grad.cpython-310.pyc +0 -0
  498. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/_transform.cpython-310.pyc +0 -0
  499. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/algorithm.cpython-310.pyc +0 -0
  500. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/op.cpython-310.pyc +0 -0
  501. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/op_attrs.cpython-310.pyc +0 -0
  502. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/reduce.cpython-310.pyc +0 -0
  503. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/tensor.cpython-310.pyc +0 -0
  504. tilelang/3rdparty/tvm/python/tvm/relay/op/__pycache__/transform.cpython-310.pyc +0 -0
  505. tilelang/3rdparty/tvm/python/tvm/relay/op/annotation/__pycache__/__init__.cpython-310.pyc +0 -0
  506. tilelang/3rdparty/tvm/python/tvm/relay/op/annotation/__pycache__/_make.cpython-310.pyc +0 -0
  507. tilelang/3rdparty/tvm/python/tvm/relay/op/annotation/__pycache__/annotation.cpython-310.pyc +0 -0
  508. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/__init__.cpython-310.pyc +0 -0
  509. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/_ethosn.cpython-310.pyc +0 -0
  510. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/arm_compute_lib.cpython-310.pyc +0 -0
  511. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/bnns.cpython-310.pyc +0 -0
  512. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/clml.cpython-310.pyc +0 -0
  513. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/coreml.cpython-310.pyc +0 -0
  514. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/cutlass.cpython-310.pyc +0 -0
  515. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/dnnl.cpython-310.pyc +0 -0
  516. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/ethosn.cpython-310.pyc +0 -0
  517. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/libtorch.cpython-310.pyc +0 -0
  518. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/mrvl.cpython-310.pyc +0 -0
  519. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/register.cpython-310.pyc +0 -0
  520. tilelang/3rdparty/tvm/python/tvm/relay/op/contrib/__pycache__/tensorrt.cpython-310.pyc +0 -0
  521. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/__pycache__/__init__.cpython-310.pyc +0 -0
  522. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/__pycache__/_algorithm.cpython-310.pyc +0 -0
  523. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/__pycache__/_make.cpython-310.pyc +0 -0
  524. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/__pycache__/_tensor.cpython-310.pyc +0 -0
  525. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/__pycache__/_transform.cpython-310.pyc +0 -0
  526. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/image/__pycache__/__init__.cpython-310.pyc +0 -0
  527. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/image/__pycache__/_image.cpython-310.pyc +0 -0
  528. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/image/__pycache__/_make.cpython-310.pyc +0 -0
  529. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/nn/__pycache__/__init__.cpython-310.pyc +0 -0
  530. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/nn/__pycache__/_make.cpython-310.pyc +0 -0
  531. tilelang/3rdparty/tvm/python/tvm/relay/op/dyn/nn/__pycache__/_nn.cpython-310.pyc +0 -0
  532. tilelang/3rdparty/tvm/python/tvm/relay/op/image/__pycache__/__init__.cpython-310.pyc +0 -0
  533. tilelang/3rdparty/tvm/python/tvm/relay/op/image/__pycache__/_image.cpython-310.pyc +0 -0
  534. tilelang/3rdparty/tvm/python/tvm/relay/op/image/__pycache__/_make.cpython-310.pyc +0 -0
  535. tilelang/3rdparty/tvm/python/tvm/relay/op/image/__pycache__/image.cpython-310.pyc +0 -0
  536. tilelang/3rdparty/tvm/python/tvm/relay/op/memory/__pycache__/__init__.cpython-310.pyc +0 -0
  537. tilelang/3rdparty/tvm/python/tvm/relay/op/memory/__pycache__/_make.cpython-310.pyc +0 -0
  538. tilelang/3rdparty/tvm/python/tvm/relay/op/memory/__pycache__/memory.cpython-310.pyc +0 -0
  539. tilelang/3rdparty/tvm/python/tvm/relay/op/nn/__pycache__/__init__.cpython-310.pyc +0 -0
  540. tilelang/3rdparty/tvm/python/tvm/relay/op/nn/__pycache__/_make.cpython-310.pyc +0 -0
  541. tilelang/3rdparty/tvm/python/tvm/relay/op/nn/__pycache__/_nn.cpython-310.pyc +0 -0
  542. tilelang/3rdparty/tvm/python/tvm/relay/op/nn/__pycache__/nn.cpython-310.pyc +0 -0
  543. tilelang/3rdparty/tvm/python/tvm/relay/op/nn/__pycache__/utils.cpython-310.pyc +0 -0
  544. tilelang/3rdparty/tvm/python/tvm/relay/op/random/__pycache__/__init__.cpython-310.pyc +0 -0
  545. tilelang/3rdparty/tvm/python/tvm/relay/op/random/__pycache__/_kernel.cpython-310.pyc +0 -0
  546. tilelang/3rdparty/tvm/python/tvm/relay/op/random/__pycache__/_make.cpython-310.pyc +0 -0
  547. tilelang/3rdparty/tvm/python/tvm/relay/op/random/__pycache__/kernel.cpython-310.pyc +0 -0
  548. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/__init__.cpython-310.pyc +0 -0
  549. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/adreno.cpython-310.pyc +0 -0
  550. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/arm_cpu.cpython-310.pyc +0 -0
  551. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/bifrost.cpython-310.pyc +0 -0
  552. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/cuda.cpython-310.pyc +0 -0
  553. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/generic.cpython-310.pyc +0 -0
  554. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/hexagon.cpython-310.pyc +0 -0
  555. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/hls.cpython-310.pyc +0 -0
  556. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/intel_graphics.cpython-310.pyc +0 -0
  557. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/mali.cpython-310.pyc +0 -0
  558. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/rocm.cpython-310.pyc +0 -0
  559. tilelang/3rdparty/tvm/python/tvm/relay/op/strategy/__pycache__/x86.cpython-310.pyc +0 -0
  560. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/__init__.cpython-310.pyc +0 -0
  561. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/_make.cpython-310.pyc +0 -0
  562. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/_rcnn.cpython-310.pyc +0 -0
  563. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/_vision.cpython-310.pyc +0 -0
  564. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/_yolo.cpython-310.pyc +0 -0
  565. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/multibox.cpython-310.pyc +0 -0
  566. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/nms.cpython-310.pyc +0 -0
  567. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/rcnn.cpython-310.pyc +0 -0
  568. tilelang/3rdparty/tvm/python/tvm/relay/op/vision/__pycache__/yolo.cpython-310.pyc +0 -0
  569. tilelang/3rdparty/tvm/python/tvm/relay/op/vm/__pycache__/__init__.cpython-310.pyc +0 -0
  570. tilelang/3rdparty/tvm/python/tvm/relay/op/vm/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  571. tilelang/3rdparty/tvm/python/tvm/relay/op/vm/__pycache__/vm.cpython-310.pyc +0 -0
  572. tilelang/3rdparty/tvm/python/tvm/relay/qnn/__pycache__/__init__.cpython-310.pyc +0 -0
  573. tilelang/3rdparty/tvm/python/tvm/relay/qnn/__pycache__/transform.cpython-310.pyc +0 -0
  574. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/__init__.cpython-310.pyc +0 -0
  575. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/_make.cpython-310.pyc +0 -0
  576. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/_qnn.cpython-310.pyc +0 -0
  577. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/_requantize.cpython-310.pyc +0 -0
  578. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/canonicalizations.cpython-310.pyc +0 -0
  579. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/layout_conversions.cpython-310.pyc +0 -0
  580. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/legalizations.cpython-310.pyc +0 -0
  581. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/op.cpython-310.pyc +0 -0
  582. tilelang/3rdparty/tvm/python/tvm/relay/qnn/op/__pycache__/qnn.cpython-310.pyc +0 -0
  583. tilelang/3rdparty/tvm/python/tvm/relay/qnn/strategy/__pycache__/__init__.cpython-310.pyc +0 -0
  584. tilelang/3rdparty/tvm/python/tvm/relay/qnn/strategy/__pycache__/arm_cpu.cpython-310.pyc +0 -0
  585. tilelang/3rdparty/tvm/python/tvm/relay/qnn/strategy/__pycache__/generic.cpython-310.pyc +0 -0
  586. tilelang/3rdparty/tvm/python/tvm/relay/qnn/strategy/__pycache__/hexagon.cpython-310.pyc +0 -0
  587. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/__init__.cpython-310.pyc +0 -0
  588. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/_annotate.cpython-310.pyc +0 -0
  589. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/_calibrate.cpython-310.pyc +0 -0
  590. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/_partition.cpython-310.pyc +0 -0
  591. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/_partition_conversions.cpython-310.pyc +0 -0
  592. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/_quantize.cpython-310.pyc +0 -0
  593. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/kl_divergence.cpython-310.pyc +0 -0
  594. tilelang/3rdparty/tvm/python/tvm/relay/quantize/__pycache__/quantize.cpython-310.pyc +0 -0
  595. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/__init__.cpython-310.pyc +0 -0
  596. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  597. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/fake_quantization_to_integer.cpython-310.pyc +0 -0
  598. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/flexible_shape.cpython-310.pyc +0 -0
  599. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/memory_plan.cpython-310.pyc +0 -0
  600. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/mixed_precision.cpython-310.pyc +0 -0
  601. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/recast.cpython-310.pyc +0 -0
  602. tilelang/3rdparty/tvm/python/tvm/relay/transform/__pycache__/transform.cpython-310.pyc +0 -0
  603. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/__init__.cpython-310.pyc +0 -0
  604. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  605. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/base.cpython-310.pyc +0 -0
  606. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/client.cpython-310.pyc +0 -0
  607. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/minrpc.cpython-310.pyc +0 -0
  608. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/server.cpython-310.pyc +0 -0
  609. tilelang/3rdparty/tvm/python/tvm/rpc/__pycache__/testing.cpython-310.pyc +0 -0
  610. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/__init__.cpython-310.pyc +0 -0
  611. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  612. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/_ffi_node_api.cpython-310.pyc +0 -0
  613. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/container.cpython-310.pyc +0 -0
  614. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/module.cpython-310.pyc +0 -0
  615. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/name_transforms.cpython-310.pyc +0 -0
  616. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/ndarray.cpython-310.pyc +0 -0
  617. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/object.cpython-310.pyc +0 -0
  618. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/object_generic.cpython-310.pyc +0 -0
  619. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/object_path.cpython-310.pyc +0 -0
  620. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/packed_func.cpython-310.pyc +0 -0
  621. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/params.cpython-310.pyc +0 -0
  622. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/relax_vm.cpython-310.pyc +0 -0
  623. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/script_printer.cpython-310.pyc +0 -0
  624. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/support.cpython-310.pyc +0 -0
  625. tilelang/3rdparty/tvm/python/tvm/runtime/__pycache__/vm.cpython-310.pyc +0 -0
  626. tilelang/3rdparty/tvm/python/tvm/runtime/disco/__pycache__/__init__.cpython-310.pyc +0 -0
  627. tilelang/3rdparty/tvm/python/tvm/runtime/disco/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  628. tilelang/3rdparty/tvm/python/tvm/runtime/disco/__pycache__/process_pool.cpython-310.pyc +0 -0
  629. tilelang/3rdparty/tvm/python/tvm/runtime/disco/__pycache__/session.cpython-310.pyc +0 -0
  630. tilelang/3rdparty/tvm/python/tvm/runtime/executor/__pycache__/__init__.cpython-310.pyc +0 -0
  631. tilelang/3rdparty/tvm/python/tvm/runtime/executor/__pycache__/aot_executor.cpython-310.pyc +0 -0
  632. tilelang/3rdparty/tvm/python/tvm/runtime/profiling/__pycache__/__init__.cpython-310.pyc +0 -0
  633. tilelang/3rdparty/tvm/python/tvm/runtime/profiling/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  634. tilelang/3rdparty/tvm/python/tvm/script/__pycache__/__init__.cpython-310.pyc +0 -0
  635. tilelang/3rdparty/tvm/python/tvm/script/__pycache__/tir.cpython-310.pyc +0 -0
  636. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/__pycache__/__init__.cpython-310.pyc +0 -0
  637. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  638. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/__pycache__/base.cpython-310.pyc +0 -0
  639. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/ir/__pycache__/__init__.cpython-310.pyc +0 -0
  640. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/ir/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  641. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/ir/__pycache__/frame.cpython-310.pyc +0 -0
  642. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/ir/__pycache__/ir.cpython-310.pyc +0 -0
  643. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/tir/__pycache__/__init__.cpython-310.pyc +0 -0
  644. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/tir/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  645. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/tir/__pycache__/frame.cpython-310.pyc +0 -0
  646. tilelang/3rdparty/tvm/python/tvm/script/ir_builder/tir/__pycache__/ir.cpython-310.pyc +0 -0
  647. tilelang/3rdparty/tvm/python/tvm/script/parser/__pycache__/__init__.cpython-310.pyc +0 -0
  648. tilelang/3rdparty/tvm/python/tvm/script/parser/__pycache__/_core.cpython-310.pyc +0 -0
  649. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/__init__.cpython-310.pyc +0 -0
  650. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/diagnostics.cpython-310.pyc +0 -0
  651. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/dispatch.cpython-310.pyc +0 -0
  652. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/doc.cpython-310.pyc +0 -0
  653. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/doc_core.cpython-310.pyc +0 -0
  654. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/entry.cpython-310.pyc +0 -0
  655. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/error.cpython-310.pyc +0 -0
  656. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/evaluator.cpython-310.pyc +0 -0
  657. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/parser.cpython-310.pyc +0 -0
  658. tilelang/3rdparty/tvm/python/tvm/script/parser/core/__pycache__/utils.cpython-310.pyc +0 -0
  659. tilelang/3rdparty/tvm/python/tvm/script/parser/ir/__pycache__/__init__.cpython-310.pyc +0 -0
  660. tilelang/3rdparty/tvm/python/tvm/script/parser/ir/__pycache__/entry.cpython-310.pyc +0 -0
  661. tilelang/3rdparty/tvm/python/tvm/script/parser/ir/__pycache__/parser.cpython-310.pyc +0 -0
  662. tilelang/3rdparty/tvm/python/tvm/script/parser/tir/__pycache__/__init__.cpython-310.pyc +0 -0
  663. tilelang/3rdparty/tvm/python/tvm/script/parser/tir/__pycache__/entry.cpython-310.pyc +0 -0
  664. tilelang/3rdparty/tvm/python/tvm/script/parser/tir/__pycache__/operation.cpython-310.pyc +0 -0
  665. tilelang/3rdparty/tvm/python/tvm/script/parser/tir/__pycache__/parser.cpython-310.pyc +0 -0
  666. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/__init__.cpython-310.pyc +0 -0
  667. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  668. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/codegen.cpython-310.pyc +0 -0
  669. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/compilation_config.cpython-310.pyc +0 -0
  670. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/datatype.cpython-310.pyc +0 -0
  671. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/generic_func.cpython-310.pyc +0 -0
  672. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/tag.cpython-310.pyc +0 -0
  673. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/target.cpython-310.pyc +0 -0
  674. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/virtual_device.cpython-310.pyc +0 -0
  675. tilelang/3rdparty/tvm/python/tvm/target/__pycache__/x86.cpython-310.pyc +0 -0
  676. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/__init__.cpython-310.pyc +0 -0
  677. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  678. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/autodiff.cpython-310.pyc +0 -0
  679. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/operation.cpython-310.pyc +0 -0
  680. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/schedule.cpython-310.pyc +0 -0
  681. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/tag.cpython-310.pyc +0 -0
  682. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/tensor.cpython-310.pyc +0 -0
  683. tilelang/3rdparty/tvm/python/tvm/te/__pycache__/tensor_intrin.cpython-310.pyc +0 -0
  684. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/__init__.cpython-310.pyc +0 -0
  685. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/calls.cpython-310.pyc +0 -0
  686. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/module.cpython-310.pyc +0 -0
  687. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/parser.cpython-310.pyc +0 -0
  688. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/preprocessor.cpython-310.pyc +0 -0
  689. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/runtime.cpython-310.pyc +0 -0
  690. tilelang/3rdparty/tvm/python/tvm/te/hybrid/__pycache__/utils.cpython-310.pyc +0 -0
  691. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/__init__.cpython-310.pyc +0 -0
  692. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  693. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/block_dependence_info.cpython-310.pyc +0 -0
  694. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/block_scope.cpython-310.pyc +0 -0
  695. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/buffer.cpython-310.pyc +0 -0
  696. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/data_layout.cpython-310.pyc +0 -0
  697. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/expr.cpython-310.pyc +0 -0
  698. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/function.cpython-310.pyc +0 -0
  699. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/generic.cpython-310.pyc +0 -0
  700. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/ir_builder.cpython-310.pyc +0 -0
  701. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/op.cpython-310.pyc +0 -0
  702. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/stmt.cpython-310.pyc +0 -0
  703. tilelang/3rdparty/tvm/python/tvm/tir/__pycache__/stmt_functor.cpython-310.pyc +0 -0
  704. tilelang/3rdparty/tvm/python/tvm/tir/analysis/__pycache__/__init__.cpython-310.pyc +0 -0
  705. tilelang/3rdparty/tvm/python/tvm/tir/analysis/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  706. tilelang/3rdparty/tvm/python/tvm/tir/analysis/__pycache__/analysis.cpython-310.pyc +0 -0
  707. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/__init__.cpython-310.pyc +0 -0
  708. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  709. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/_type_checker.cpython-310.pyc +0 -0
  710. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/analysis.cpython-310.pyc +0 -0
  711. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/instruction.cpython-310.pyc +0 -0
  712. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/schedule.cpython-310.pyc +0 -0
  713. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/state.cpython-310.pyc +0 -0
  714. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/trace.cpython-310.pyc +0 -0
  715. tilelang/3rdparty/tvm/python/tvm/tir/schedule/__pycache__/transform.cpython-310.pyc +0 -0
  716. tilelang/3rdparty/tvm/python/tvm/tir/transform/__pycache__/__init__.cpython-310.pyc +0 -0
  717. tilelang/3rdparty/tvm/python/tvm/tir/transform/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  718. tilelang/3rdparty/tvm/python/tvm/tir/transform/__pycache__/function_pass.cpython-310.pyc +0 -0
  719. tilelang/3rdparty/tvm/python/tvm/tir/transform/__pycache__/transform.cpython-310.pyc +0 -0
  720. tilelang/3rdparty/tvm/python/tvm/tir/usmp/__pycache__/__init__.cpython-310.pyc +0 -0
  721. tilelang/3rdparty/tvm/python/tvm/tir/usmp/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  722. tilelang/3rdparty/tvm/python/tvm/tir/usmp/__pycache__/utils.cpython-310.pyc +0 -0
  723. tilelang/3rdparty/tvm/python/tvm/tir/usmp/analysis/__pycache__/__init__.cpython-310.pyc +0 -0
  724. tilelang/3rdparty/tvm/python/tvm/tir/usmp/analysis/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  725. tilelang/3rdparty/tvm/python/tvm/tir/usmp/analysis/__pycache__/analysis.cpython-310.pyc +0 -0
  726. tilelang/3rdparty/tvm/python/tvm/tir/usmp/transform/__pycache__/__init__.cpython-310.pyc +0 -0
  727. tilelang/3rdparty/tvm/python/tvm/tir/usmp/transform/__pycache__/_ffi_api.cpython-310.pyc +0 -0
  728. tilelang/3rdparty/tvm/python/tvm/tir/usmp/transform/__pycache__/transform.cpython-310.pyc +0 -0
  729. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/__init__.cpython-310.pyc +0 -0
  730. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/argwhere.cpython-310.pyc +0 -0
  731. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/broadcast.cpython-310.pyc +0 -0
  732. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/einsum.cpython-310.pyc +0 -0
  733. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/generic_op_impl.cpython-310.pyc +0 -0
  734. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/math.cpython-310.pyc +0 -0
  735. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/reduction.cpython-310.pyc +0 -0
  736. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/scan.cpython-310.pyc +0 -0
  737. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/scatter.cpython-310.pyc +0 -0
  738. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/scatter_elements.cpython-310.pyc +0 -0
  739. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/searchsorted.cpython-310.pyc +0 -0
  740. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/signal.cpython-310.pyc +0 -0
  741. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/sort.cpython-310.pyc +0 -0
  742. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/sparse_fill_empty_rows.cpython-310.pyc +0 -0
  743. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/sparse_reshape.cpython-310.pyc +0 -0
  744. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/tag.cpython-310.pyc +0 -0
  745. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/tensor.cpython-310.pyc +0 -0
  746. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/transform.cpython-310.pyc +0 -0
  747. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/unique.cpython-310.pyc +0 -0
  748. tilelang/3rdparty/tvm/python/tvm/topi/__pycache__/utils.cpython-310.pyc +0 -0
  749. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/__init__.cpython-310.pyc +0 -0
  750. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  751. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_nchw.cpython-310.pyc +0 -0
  752. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_nchw_winograd.cpython-310.pyc +0 -0
  753. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_nhwc.cpython-310.pyc +0 -0
  754. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_nhwc_winograd.cpython-310.pyc +0 -0
  755. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_transpose_alter_op.cpython-310.pyc +0 -0
  756. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_transpose_nchw.cpython-310.pyc +0 -0
  757. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/conv2d_winograd_common.cpython-310.pyc +0 -0
  758. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/depthwise_conv2d_nchw.cpython-310.pyc +0 -0
  759. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/depthwise_conv2d_nhwc.cpython-310.pyc +0 -0
  760. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/injective.cpython-310.pyc +0 -0
  761. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/pooling.cpython-310.pyc +0 -0
  762. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/reduction.cpython-310.pyc +0 -0
  763. tilelang/3rdparty/tvm/python/tvm/topi/adreno/__pycache__/utils.cpython-310.pyc +0 -0
  764. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/__init__.cpython-310.pyc +0 -0
  765. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/arm_utils.cpython-310.pyc +0 -0
  766. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/bitserial_conv2d.cpython-310.pyc +0 -0
  767. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/bitserial_dense.cpython-310.pyc +0 -0
  768. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv1d.cpython-310.pyc +0 -0
  769. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d.cpython-310.pyc +0 -0
  770. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  771. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d_gemm.cpython-310.pyc +0 -0
  772. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d_int8.cpython-310.pyc +0 -0
  773. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d_spatial_pack.cpython-310.pyc +0 -0
  774. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/conv2d_transpose.cpython-310.pyc +0 -0
  775. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/dense.cpython-310.pyc +0 -0
  776. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  777. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/group_conv2d.cpython-310.pyc +0 -0
  778. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/injective.cpython-310.pyc +0 -0
  779. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/pooling.cpython-310.pyc +0 -0
  780. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/qnn.cpython-310.pyc +0 -0
  781. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/qnn_alter_op.cpython-310.pyc +0 -0
  782. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/qnn_legalize.cpython-310.pyc +0 -0
  783. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/__pycache__/tensor_intrin.cpython-310.pyc +0 -0
  784. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/__pycache__/__init__.cpython-310.pyc +0 -0
  785. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/__init__.cpython-310.pyc +0 -0
  786. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/conv1d.cpython-310.pyc +0 -0
  787. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/conv2d.cpython-310.pyc +0 -0
  788. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/dense.cpython-310.pyc +0 -0
  789. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  790. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/__pycache__/pool.cpython-310.pyc +0 -0
  791. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/__init__.cpython-310.pyc +0 -0
  792. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/avg_pool.cpython-310.pyc +0 -0
  793. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/common.cpython-310.pyc +0 -0
  794. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/gemm.cpython-310.pyc +0 -0
  795. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/max_pool.cpython-310.pyc +0 -0
  796. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/multi_channel_convolve.cpython-310.pyc +0 -0
  797. tilelang/3rdparty/tvm/python/tvm/topi/arm_cpu/mprofile/dsp/micro_kernel/__pycache__/tensordot.cpython-310.pyc +0 -0
  798. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/__init__.cpython-310.pyc +0 -0
  799. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/conv2d.cpython-310.pyc +0 -0
  800. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/dense.cpython-310.pyc +0 -0
  801. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  802. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/gemm.cpython-310.pyc +0 -0
  803. tilelang/3rdparty/tvm/python/tvm/topi/bifrost/__pycache__/transforms.cpython-310.pyc +0 -0
  804. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/__init__.cpython-310.pyc +0 -0
  805. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/cuda.cpython-310.pyc +0 -0
  806. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/generic.cpython-310.pyc +0 -0
  807. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/impl.cpython-310.pyc +0 -0
  808. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/nn.cpython-310.pyc +0 -0
  809. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/rocm.cpython-310.pyc +0 -0
  810. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/utils.cpython-310.pyc +0 -0
  811. tilelang/3rdparty/tvm/python/tvm/topi/cpp/__pycache__/x86.cpython-310.pyc +0 -0
  812. tilelang/3rdparty/tvm/python/tvm/topi/cpp/vision/__pycache__/__init__.cpython-310.pyc +0 -0
  813. tilelang/3rdparty/tvm/python/tvm/topi/cpp/vision/__pycache__/yolo.cpython-310.pyc +0 -0
  814. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/__init__.cpython-310.pyc +0 -0
  815. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/argwhere.cpython-310.pyc +0 -0
  816. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/batch_matmul.cpython-310.pyc +0 -0
  817. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/batch_matmul_tensorcore.cpython-310.pyc +0 -0
  818. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv1d.cpython-310.pyc +0 -0
  819. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv1d_transpose_ncw.cpython-310.pyc +0 -0
  820. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d.cpython-310.pyc +0 -0
  821. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  822. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_direct.cpython-310.pyc +0 -0
  823. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_hwcn.cpython-310.pyc +0 -0
  824. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_hwnc_tensorcore.cpython-310.pyc +0 -0
  825. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_int8.cpython-310.pyc +0 -0
  826. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_nhwc_tensorcore.cpython-310.pyc +0 -0
  827. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_nhwc_winograd.cpython-310.pyc +0 -0
  828. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_transpose.cpython-310.pyc +0 -0
  829. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv2d_winograd.cpython-310.pyc +0 -0
  830. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d.cpython-310.pyc +0 -0
  831. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d_alter_op.cpython-310.pyc +0 -0
  832. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d_direct.cpython-310.pyc +0 -0
  833. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d_ndhwc_tensorcore.cpython-310.pyc +0 -0
  834. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d_transpose_ncdhw.cpython-310.pyc +0 -0
  835. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/conv3d_winograd.cpython-310.pyc +0 -0
  836. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/correlation.cpython-310.pyc +0 -0
  837. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/deformable_conv2d.cpython-310.pyc +0 -0
  838. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/dense.cpython-310.pyc +0 -0
  839. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/dense_tensorcore.cpython-310.pyc +0 -0
  840. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  841. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/group_conv2d_nchw.cpython-310.pyc +0 -0
  842. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/injective.cpython-310.pyc +0 -0
  843. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/nms.cpython-310.pyc +0 -0
  844. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/nn.cpython-310.pyc +0 -0
  845. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/pooling.cpython-310.pyc +0 -0
  846. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/reduction.cpython-310.pyc +0 -0
  847. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/scan.cpython-310.pyc +0 -0
  848. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/scatter.cpython-310.pyc +0 -0
  849. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/scatter_elements.cpython-310.pyc +0 -0
  850. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/searchsorted.cpython-310.pyc +0 -0
  851. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/signal.cpython-310.pyc +0 -0
  852. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/softmax.cpython-310.pyc +0 -0
  853. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/sort.cpython-310.pyc +0 -0
  854. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/sparse.cpython-310.pyc +0 -0
  855. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/sparse_reshape.cpython-310.pyc +0 -0
  856. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/tensor_intrin.cpython-310.pyc +0 -0
  857. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/tensorcore_alter_op.cpython-310.pyc +0 -0
  858. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/transform.cpython-310.pyc +0 -0
  859. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/unique.cpython-310.pyc +0 -0
  860. tilelang/3rdparty/tvm/python/tvm/topi/cuda/__pycache__/vision.cpython-310.pyc +0 -0
  861. tilelang/3rdparty/tvm/python/tvm/topi/cuda/rcnn/__pycache__/__init__.cpython-310.pyc +0 -0
  862. tilelang/3rdparty/tvm/python/tvm/topi/cuda/rcnn/__pycache__/proposal.cpython-310.pyc +0 -0
  863. tilelang/3rdparty/tvm/python/tvm/topi/cuda/ssd/__pycache__/__init__.cpython-310.pyc +0 -0
  864. tilelang/3rdparty/tvm/python/tvm/topi/cuda/ssd/__pycache__/multibox.cpython-310.pyc +0 -0
  865. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/__init__.cpython-310.pyc +0 -0
  866. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/conv2d.cpython-310.pyc +0 -0
  867. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/default.cpython-310.pyc +0 -0
  868. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/extern.cpython-310.pyc +0 -0
  869. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/image.cpython-310.pyc +0 -0
  870. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/injective.cpython-310.pyc +0 -0
  871. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/math.cpython-310.pyc +0 -0
  872. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/nn.cpython-310.pyc +0 -0
  873. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/search.cpython-310.pyc +0 -0
  874. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/sort.cpython-310.pyc +0 -0
  875. tilelang/3rdparty/tvm/python/tvm/topi/generic/__pycache__/vision.cpython-310.pyc +0 -0
  876. tilelang/3rdparty/tvm/python/tvm/topi/gpu/__pycache__/__init__.cpython-310.pyc +0 -0
  877. tilelang/3rdparty/tvm/python/tvm/topi/gpu/__pycache__/conv2d.cpython-310.pyc +0 -0
  878. tilelang/3rdparty/tvm/python/tvm/topi/gpu/__pycache__/conv2d_nhwc.cpython-310.pyc +0 -0
  879. tilelang/3rdparty/tvm/python/tvm/topi/gpu/__pycache__/dense.cpython-310.pyc +0 -0
  880. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/__init__.cpython-310.pyc +0 -0
  881. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/batch_matmul.cpython-310.pyc +0 -0
  882. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/compute_poolarea.cpython-310.pyc +0 -0
  883. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/conv2d.cpython-310.pyc +0 -0
  884. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  885. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/dense.cpython-310.pyc +0 -0
  886. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/dense_alter_op.cpython-310.pyc +0 -0
  887. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/injective.cpython-310.pyc +0 -0
  888. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/pad.cpython-310.pyc +0 -0
  889. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/pooling.cpython-310.pyc +0 -0
  890. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/reduce.cpython-310.pyc +0 -0
  891. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/resize2d.cpython-310.pyc +0 -0
  892. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/tensor_intrin.cpython-310.pyc +0 -0
  893. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/__pycache__/utils.cpython-310.pyc +0 -0
  894. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/__init__.cpython-310.pyc +0 -0
  895. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/adaptive_avg_pool1d.cpython-310.pyc +0 -0
  896. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/avg_pool2d.cpython-310.pyc +0 -0
  897. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  898. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/dense_alter_op.cpython-310.pyc +0 -0
  899. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/dequantize.cpython-310.pyc +0 -0
  900. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/global_avg_pool2d.cpython-310.pyc +0 -0
  901. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/nn.cpython-310.pyc +0 -0
  902. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/qadd_qsub_qmul.cpython-310.pyc +0 -0
  903. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/qdense.cpython-310.pyc +0 -0
  904. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/qdepthwise_conv2d_slice.cpython-310.pyc +0 -0
  905. tilelang/3rdparty/tvm/python/tvm/topi/hexagon/qnn/__pycache__/quantize.cpython-310.pyc +0 -0
  906. tilelang/3rdparty/tvm/python/tvm/topi/hls/__pycache__/__init__.cpython-310.pyc +0 -0
  907. tilelang/3rdparty/tvm/python/tvm/topi/hls/__pycache__/injective.cpython-310.pyc +0 -0
  908. tilelang/3rdparty/tvm/python/tvm/topi/hls/__pycache__/nn.cpython-310.pyc +0 -0
  909. tilelang/3rdparty/tvm/python/tvm/topi/image/__pycache__/__init__.cpython-310.pyc +0 -0
  910. tilelang/3rdparty/tvm/python/tvm/topi/image/__pycache__/dilation2d.cpython-310.pyc +0 -0
  911. tilelang/3rdparty/tvm/python/tvm/topi/image/__pycache__/grid_sample.cpython-310.pyc +0 -0
  912. tilelang/3rdparty/tvm/python/tvm/topi/image/__pycache__/resize.cpython-310.pyc +0 -0
  913. tilelang/3rdparty/tvm/python/tvm/topi/intel_graphics/__pycache__/__init__.cpython-310.pyc +0 -0
  914. tilelang/3rdparty/tvm/python/tvm/topi/intel_graphics/__pycache__/conv2d.cpython-310.pyc +0 -0
  915. tilelang/3rdparty/tvm/python/tvm/topi/intel_graphics/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  916. tilelang/3rdparty/tvm/python/tvm/topi/intel_graphics/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  917. tilelang/3rdparty/tvm/python/tvm/topi/mali/__pycache__/__init__.cpython-310.pyc +0 -0
  918. tilelang/3rdparty/tvm/python/tvm/topi/mali/__pycache__/conv2d.cpython-310.pyc +0 -0
  919. tilelang/3rdparty/tvm/python/tvm/topi/mali/__pycache__/dense.cpython-310.pyc +0 -0
  920. tilelang/3rdparty/tvm/python/tvm/topi/mali/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  921. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/__init__.cpython-310.pyc +0 -0
  922. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/batch_matmul.cpython-310.pyc +0 -0
  923. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/batch_norm.cpython-310.pyc +0 -0
  924. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/batch_to_space_nd.cpython-310.pyc +0 -0
  925. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/bitserial_conv2d.cpython-310.pyc +0 -0
  926. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/bitserial_dense.cpython-310.pyc +0 -0
  927. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/bitserial_util.cpython-310.pyc +0 -0
  928. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/bnn.cpython-310.pyc +0 -0
  929. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv1d.cpython-310.pyc +0 -0
  930. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv1d_transpose.cpython-310.pyc +0 -0
  931. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv2d.cpython-310.pyc +0 -0
  932. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv2d_transpose.cpython-310.pyc +0 -0
  933. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv3d.cpython-310.pyc +0 -0
  934. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/conv3d_transpose.cpython-310.pyc +0 -0
  935. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/correlation.cpython-310.pyc +0 -0
  936. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/deformable_conv2d.cpython-310.pyc +0 -0
  937. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/dense.cpython-310.pyc +0 -0
  938. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/depth_to_space.cpython-310.pyc +0 -0
  939. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  940. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/dilate.cpython-310.pyc +0 -0
  941. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/elemwise.cpython-310.pyc +0 -0
  942. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/fifo_buffer.cpython-310.pyc +0 -0
  943. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/flatten.cpython-310.pyc +0 -0
  944. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/group_norm.cpython-310.pyc +0 -0
  945. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/instance_norm.cpython-310.pyc +0 -0
  946. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/layer_norm.cpython-310.pyc +0 -0
  947. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/local_response_norm.cpython-310.pyc +0 -0
  948. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/loss.cpython-310.pyc +0 -0
  949. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/lstm.cpython-310.pyc +0 -0
  950. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/mapping.cpython-310.pyc +0 -0
  951. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/pad.cpython-310.pyc +0 -0
  952. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/pooling.cpython-310.pyc +0 -0
  953. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/qnn.cpython-310.pyc +0 -0
  954. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/rms_norm.cpython-310.pyc +0 -0
  955. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/softmax.cpython-310.pyc +0 -0
  956. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/space_to_batch_nd.cpython-310.pyc +0 -0
  957. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/space_to_depth.cpython-310.pyc +0 -0
  958. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/sparse.cpython-310.pyc +0 -0
  959. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/upsampling.cpython-310.pyc +0 -0
  960. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/utils.cpython-310.pyc +0 -0
  961. tilelang/3rdparty/tvm/python/tvm/topi/nn/__pycache__/winograd_util.cpython-310.pyc +0 -0
  962. tilelang/3rdparty/tvm/python/tvm/topi/random/__pycache__/__init__.cpython-310.pyc +0 -0
  963. tilelang/3rdparty/tvm/python/tvm/topi/random/__pycache__/kernel.cpython-310.pyc +0 -0
  964. tilelang/3rdparty/tvm/python/tvm/topi/rocm/__pycache__/__init__.cpython-310.pyc +0 -0
  965. tilelang/3rdparty/tvm/python/tvm/topi/rocm/__pycache__/batch_matmul.cpython-310.pyc +0 -0
  966. tilelang/3rdparty/tvm/python/tvm/topi/rocm/__pycache__/conv2d.cpython-310.pyc +0 -0
  967. tilelang/3rdparty/tvm/python/tvm/topi/rocm/__pycache__/dense.cpython-310.pyc +0 -0
  968. tilelang/3rdparty/tvm/python/tvm/topi/sparse/__pycache__/__init__.cpython-310.pyc +0 -0
  969. tilelang/3rdparty/tvm/python/tvm/topi/sparse/__pycache__/csrmm.cpython-310.pyc +0 -0
  970. tilelang/3rdparty/tvm/python/tvm/topi/sparse/__pycache__/csrmv.cpython-310.pyc +0 -0
  971. tilelang/3rdparty/tvm/python/tvm/topi/sparse/__pycache__/dense.cpython-310.pyc +0 -0
  972. tilelang/3rdparty/tvm/python/tvm/topi/vision/__pycache__/__init__.cpython-310.pyc +0 -0
  973. tilelang/3rdparty/tvm/python/tvm/topi/vision/__pycache__/nms.cpython-310.pyc +0 -0
  974. tilelang/3rdparty/tvm/python/tvm/topi/vision/__pycache__/nms_util.cpython-310.pyc +0 -0
  975. tilelang/3rdparty/tvm/python/tvm/topi/vision/__pycache__/reorg.cpython-310.pyc +0 -0
  976. tilelang/3rdparty/tvm/python/tvm/topi/vision/rcnn/__pycache__/__init__.cpython-310.pyc +0 -0
  977. tilelang/3rdparty/tvm/python/tvm/topi/vision/rcnn/__pycache__/proposal.cpython-310.pyc +0 -0
  978. tilelang/3rdparty/tvm/python/tvm/topi/vision/rcnn/__pycache__/roi_align.cpython-310.pyc +0 -0
  979. tilelang/3rdparty/tvm/python/tvm/topi/vision/rcnn/__pycache__/roi_pool.cpython-310.pyc +0 -0
  980. tilelang/3rdparty/tvm/python/tvm/topi/vision/ssd/__pycache__/__init__.cpython-310.pyc +0 -0
  981. tilelang/3rdparty/tvm/python/tvm/topi/vision/ssd/__pycache__/multibox.cpython-310.pyc +0 -0
  982. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/__init__.cpython-310.pyc +0 -0
  983. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/batch_matmul.cpython-310.pyc +0 -0
  984. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/binarize_pack.cpython-310.pyc +0 -0
  985. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/binary_dense.cpython-310.pyc +0 -0
  986. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/bitserial_conv2d.cpython-310.pyc +0 -0
  987. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/bitserial_dense.cpython-310.pyc +0 -0
  988. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/concat.cpython-310.pyc +0 -0
  989. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv1d.cpython-310.pyc +0 -0
  990. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d.cpython-310.pyc +0 -0
  991. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d_alter_op.cpython-310.pyc +0 -0
  992. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d_avx_1x1.cpython-310.pyc +0 -0
  993. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d_avx_common.cpython-310.pyc +0 -0
  994. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d_int8.cpython-310.pyc +0 -0
  995. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv2d_transpose.cpython-310.pyc +0 -0
  996. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv3d.cpython-310.pyc +0 -0
  997. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/conv3d_transpose.cpython-310.pyc +0 -0
  998. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/dense.cpython-310.pyc +0 -0
  999. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/dense_alter_op.cpython-310.pyc +0 -0
  1000. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/depthwise_conv2d.cpython-310.pyc +0 -0
  1001. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/group_conv2d.cpython-310.pyc +0 -0
  1002. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/injective.cpython-310.pyc +0 -0
  1003. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/math_alter_op.cpython-310.pyc +0 -0
  1004. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/nn.cpython-310.pyc +0 -0
  1005. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/pooling.cpython-310.pyc +0 -0
  1006. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/reduction.cpython-310.pyc +0 -0
  1007. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/roi_align.cpython-310.pyc +0 -0
  1008. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/sparse.cpython-310.pyc +0 -0
  1009. tilelang/3rdparty/tvm/python/tvm/topi/x86/__pycache__/tensor_intrin.cpython-310.pyc +0 -0
  1010. {tilelang_rocm-0.1.4.post4.dist-info → tilelang_rocm-0.1.4.post9.dist-info}/licenses/LICENSE +0 -0
  1011. {tilelang_rocm-0.1.4.post4.dist-info → tilelang_rocm-0.1.4.post9.dist-info}/top_level.txt +0 -0
@@ -8,16 +8,47 @@ and performance optimization through configuration search.
8
8
 
9
9
  import tilelang
10
10
  from tilelang import tvm as tvm
11
+ from tvm.tir import PrimFunc
12
+ from tvm.target import Target
11
13
  import inspect
12
- from functools import wraps, partial
13
- from typing import Callable, List, Literal, Any, Optional, Union
14
+ from functools import partial
15
+ from typing import (Callable, List, Literal, Any, Optional, Union, Dict, overload, Tuple)
14
16
  from tqdm import tqdm
15
17
  import logging
16
- from dataclasses import dataclass
18
+ import functools
17
19
  import concurrent.futures
18
20
  import torch
19
21
  import os
20
22
  import sys
23
+ import signal
24
+ import json
25
+ import hashlib
26
+ import threading
27
+ from pathlib import Path
28
+
29
+ from tilelang.env import TILELANG_CACHE_DIR, is_cache_enabled
30
+ from tilelang.autotuner.param import CompileArgs, ProfileArgs, AutotuneResult
31
+ from tilelang.jit.param import _P, _RProg
32
+ from tilelang.version import __version__
33
+
34
+
35
+ class TimeoutException(Exception):
36
+ pass
37
+
38
+
39
+ def timeout_handler(signum, frame):
40
+ raise TimeoutException()
41
+
42
+
43
+ def run_with_timeout(func, timeout, *args, **kwargs):
44
+ signal.signal(signal.SIGALRM, timeout_handler)
45
+ signal.alarm(timeout)
46
+ try:
47
+ result = func(*args, **kwargs)
48
+ finally:
49
+ signal.alarm(0)
50
+ return result
51
+
21
52
 
22
53
  # Configure logging for the autotuner module
23
54
  # TODO: Consider creating a common logger in utils
@@ -25,101 +56,35 @@ logger = logging.getLogger(__name__)
25
56
  logger.setLevel(logging.DEBUG)
26
57
  logger.propagate = False
27
58
 
28
- formatter = logging.Formatter('%(asctime)s %(levelname)s:%(message)s')
29
-
30
- file_handler = logging.FileHandler('autotuner.log', mode='w')
31
- file_handler.setLevel(logging.DEBUG)
32
- file_handler.setFormatter(formatter)
59
+ # Lazy handler initialization flag
60
+ _logger_handlers_initialized = False
33
61
 
34
- console_handler = logging.StreamHandler(sys.stdout)
35
- console_handler.setLevel(logging.INFO)
36
- console_handler.setFormatter(formatter)
37
62
 
38
- logger.addHandler(file_handler)
39
- logger.addHandler(console_handler)
63
+ def _init_logger_handlers():
64
+ global _logger_handlers_initialized
65
+ if _logger_handlers_initialized:
66
+ return
67
+ formatter = logging.Formatter('%(asctime)s %(levelname)s:%(message)s')
68
+ file_handler = logging.FileHandler('autotuner.log', mode='w')
69
+ file_handler.setLevel(logging.DEBUG)
70
+ file_handler.setFormatter(formatter)
71
+ console_handler = logging.StreamHandler(sys.stdout)
72
+ console_handler.setLevel(logging.INFO)
73
+ console_handler.setFormatter(formatter)
74
+ logger.addHandler(file_handler)
75
+ logger.addHandler(console_handler)
76
+ _logger_handlers_initialized = True
40
77
 
41
78
 
42
- @dataclass(frozen=True)
43
- class JITContext:
44
- """Context object for Just-In-Time compilation settings.
45
-
46
- Attributes:
47
- out_idx: List of output tensor indices.
48
- ref_prog: Reference program for correctness validation.
49
- supply_prog: Supply program for input tensors.
50
- rtol: Relative tolerance for output validation.
51
- atol: Absolute tolerance for output validation.
52
- max_mismatched_ratio: Maximum allowed ratio of mismatched elements.
53
- skip_check: Whether to skip validation checks.
54
- cache_input_tensors: Whether to cache input tensors for each compilation.
55
- kernel: JITKernel instance for performance measurement.
56
- supply_type: Type of tensor supply mechanism.
57
- target: Target platform ('cuda' or 'hip').
58
- """
59
- out_idx: List[int]
60
- ref_prog: Callable
61
- supply_prog: Callable
62
- rtol: float
63
- atol: float
64
- max_mismatched_ratio: float
65
- skip_check: bool
66
- cache_input_tensors: bool
67
- kernel: tilelang.JITKernel
68
- supply_type: tilelang.TensorSupplyType
69
- target: Literal['cuda', 'hip']
70
-
71
-
72
- @dataclass(frozen=True)
73
- class AutotuneResult:
74
- """Results from auto-tuning process.
75
-
76
- Attributes:
77
- latency: Best achieved execution latency.
78
- config: Configuration that produced the best result.
79
- ref_latency: Reference implementation latency.
80
- libcode: Generated library code.
81
- func: Optimized function.
82
- kernel: Compiled kernel function.
83
- """
84
- latency: float
85
- config: dict
86
- ref_latency: float
87
- libcode: str
88
- func: Callable
89
- kernel: Callable
90
-
91
-
92
- @dataclass(frozen=True)
93
- class CompileArgs:
94
- """Compile arguments for the auto-tuner.
95
-
96
- Attributes:
97
- out_idx: List of output tensor indices.
98
- supply_type: Type of tensor supply mechanism.
99
- ref_prog: Reference program for correctness validation.
100
- supply_prog: Supply program for input tensors.
101
- out_idx: Union[List[int], int] = -1
102
- supply_type: tilelang.TensorSupplyType = tilelang.TensorSupplyType.Auto
103
- ref_prog: Callable = None
104
- supply_prog: Callable = None
105
- rtol: float = 1e-2
106
- atol: float = 1e-2
107
- max_mismatched_ratio: float = 0.01
108
- skip_check: bool = False
109
- cache_input_tensors: bool = True
110
- target: Literal['auto', 'cuda', 'hip'] = 'auto'
79
+ def get_available_cpu_count() -> int:
80
+ """Gets the number of CPU cores available to the current process.
111
81
  """
82
+ try:
83
+ cpu_count = len(os.sched_getaffinity(0))
84
+ except AttributeError:
85
+ cpu_count = os.cpu_count()
112
86
 
113
- out_idx: Union[List[int], int] = -1
114
- supply_type: tilelang.TensorSupplyType = tilelang.TensorSupplyType.Auto
115
- ref_prog: Callable = None
116
- supply_prog: Callable = None
117
- rtol: float = 1e-2
118
- atol: float = 1e-2
119
- max_mismatched_ratio: float = 0.01
120
- skip_check: bool = False
121
- cache_input_tensors: bool = True
122
- target: Literal['auto', 'cuda', 'hip'] = 'auto'
87
+ return cpu_count
123
88
 
124
89
 
125
90
  class AutoTuner:
@@ -132,6 +97,12 @@ class AutoTuner:
132
97
  fn: The function to be auto-tuned.
133
98
  configs: List of configurations to try during auto-tuning.
134
99
  """
100
+ compile_args = CompileArgs()
101
+ profile_args = ProfileArgs()
102
+
103
+ _lock = threading.Lock() # For thread safety
104
+ _memory_cache = {} # In-memory cache dictionary
105
+ cache_dir: Path = Path(TILELANG_CACHE_DIR)
135
106
 
136
107
  def __init__(self, fn: Callable, configs):
137
108
  self.fn = fn
@@ -140,7 +111,6 @@ class AutoTuner:
140
111
  self.jit_input_tensors = None
141
112
  self.ref_input_tensors = None
142
113
  self.jit_compile = None
143
- self.compile_args = CompileArgs()
144
114
 
145
115
  @classmethod
146
116
  def from_kernel(cls, kernel: Callable, configs):
@@ -156,7 +126,39 @@ class AutoTuner:
156
126
  return cls(kernel, configs)
157
127
 
158
128
  def set_compile_args(self,
159
- out_idx: Union[List[int], int] = -1,
129
+ out_idx: Union[List[int], int, None] = None,
130
+ target: Literal['auto', 'cuda', 'hip'] = 'auto',
131
+ execution_backend: Literal["dlpack", "ctypes", "cython"] = "cython",
132
+ target_host: Union[str, Target] = None,
133
+ verbose: bool = False,
134
+ pass_configs: Optional[Dict[str, Any]] = None):
135
+ """Set compilation arguments for the auto-tuner.
136
+
137
+ Args:
138
+ out_idx: List of output tensor indices.
139
+ target: Target platform.
140
+ execution_backend: Execution backend to use for kernel execution.
141
+ target_host: Target host for cross-compilation.
142
+ verbose: Whether to enable verbose output.
143
+ pass_configs: Additional keyword arguments to pass to the Compiler PassContext.
144
+
145
+ Returns:
146
+ AutoTuner: Self for method chaining.
147
+ """
148
+ self.compile_args = CompileArgs(
149
+ out_idx=out_idx,
150
+ target=target,
151
+ execution_backend=execution_backend,
152
+ target_host=target_host,
153
+ verbose=verbose,
154
+ pass_configs=pass_configs)
155
+
156
+ return self
157
+
158
+ def set_profile_args(self,
159
+ warmup: int = 25,
160
+ rep: int = 100,
161
+ timeout: int = 30,
160
162
  supply_type: tilelang.TensorSupplyType = tilelang.TensorSupplyType.Auto,
161
163
  ref_prog: Callable = None,
162
164
  supply_prog: Callable = None,
@@ -164,12 +166,11 @@ class AutoTuner:
164
166
  atol: float = 1e-2,
165
167
  max_mismatched_ratio: float = 0.01,
166
168
  skip_check: bool = False,
167
- cache_input_tensors: bool = True,
168
- target: Literal['auto', 'cuda', 'hip'] = 'auto'):
169
- """Set compilation arguments for the auto-tuner.
169
+ manual_check_prog: Callable = None,
170
+ cache_input_tensors: bool = True):
171
+ """Set profiling arguments for the auto-tuner.
170
172
 
171
173
  Args:
172
- out_idx: List of output tensor indices.
173
174
  supply_type: Type of tensor supply mechanism. Ignored if `supply_prog` is provided.
174
175
  ref_prog: Reference program for validation.
175
176
  supply_prog: Supply program for input tensors.
@@ -177,14 +178,16 @@ class AutoTuner:
177
178
  atol: Absolute tolerance for validation.
178
179
  max_mismatched_ratio: Maximum allowed mismatch ratio.
179
180
  skip_check: Whether to skip validation.
181
+ manual_check_prog: Manual check program for validation.
180
182
  cache_input_tensors: Whether to cache input tensors.
181
- target: Target platform.
183
+ warmup: Number of warmup iterations.
184
+ rep: Number of repetitions for timing.
185
+ timeout: Maximum time per configuration.
182
186
 
183
187
  Returns:
184
188
  AutoTuner: Self for method chaining.
185
189
  """
186
- self.compile_args = CompileArgs(
187
- out_idx=out_idx,
190
+ self.profile_args = ProfileArgs(
188
191
  supply_type=supply_type,
189
192
  ref_prog=ref_prog,
190
193
  supply_prog=supply_prog,
@@ -192,17 +195,42 @@ class AutoTuner:
192
195
  atol=atol,
193
196
  max_mismatched_ratio=max_mismatched_ratio,
194
197
  skip_check=skip_check,
198
+ manual_check_prog=manual_check_prog,
195
199
  cache_input_tensors=cache_input_tensors,
196
- target=target)
200
+ warmup=warmup,
201
+ rep=rep,
202
+ timeout=timeout)
197
203
 
198
- # If a custom `supply_prog`` is provided, the profiler's `supply_type` setting
204
+ # If a custom `supply_prog` is provided, the profiler's `supply_type` setting
199
205
  # becomes ineffective. The custom supply program will be used instead.
200
- if ref_prog is not None and supply_type != tilelang.TensorSupplyType.Auto:
201
- logger.warning("Ignoring `supply_type` passed to `set_compile_args` because "
202
- "`ref_prog` is not None.")
206
+ if supply_prog is not None and supply_type != tilelang.TensorSupplyType.Auto:
207
+ logger.warning("Ignoring `supply_type` passed to `set_profile_args` because "
208
+ "`supply_prog` is not None.")
203
209
 
204
210
  return self
205
211
 
212
+ def generate_cache_key(self) -> Optional[AutotuneResult]:
213
+ """Generate a cache key for the auto-tuning process.
214
+ """
215
+ func_source = inspect.getsource(self.fn)
216
+ key_data = {
217
+ "version": __version__,
218
+ "func_source": func_source,
219
+ "configs": self.configs,
220
+ "compile_args": hash(self.compile_args),
221
+ "profile_args": hash(self.profile_args),
222
+ }
223
+ # Sort keys to ensure consistency
224
+ key_string = json.dumps(key_data, sort_keys=True)
225
+ return hashlib.sha256(key_string.encode()).hexdigest()
226
+
227
+ def _save_result_to_disk(self, key, result: AutotuneResult):
228
+ result.save_to_disk(self.cache_dir / key)
229
+
230
+ def _load_result_from_disk(self, key) -> AutotuneResult:
231
+ result = AutotuneResult.load_from_disk(self.cache_dir / key, self.compile_args)
232
+ return result
233
+
206
234
  def run(self, warmup: int = 25, rep: int = 100, timeout: int = 30):
207
235
  """Run the auto-tuning process.
208
236
 
@@ -214,48 +242,51 @@ class AutoTuner:
214
242
  Returns:
215
243
  AutotuneResult: Results of the auto-tuning process.
216
244
  """
245
+ _init_logger_handlers()
246
+
247
+ key = self.generate_cache_key()
248
+ with self._lock:
249
+ if is_cache_enabled():
250
+ # First check in-memory cache
251
+ if key in self._memory_cache:
252
+ self.logger.warning("Found kernel in memory cache. For better performance," \
253
+ " consider using `@tilelang.autotune` instead of direct AutoTuner.from_kernel.")
254
+ return self._memory_cache[key]
255
+
256
+ # Then check disk cache
257
+ result = self._load_result_from_disk(key)
258
+ if result is not None:
259
+ # Populate memory cache with disk result
260
+ self._memory_cache[key] = result
261
+ return result
262
+
217
263
  sig = inspect.signature(self.fn)
218
- keys = list(sig.parameters.keys())
219
- bound_args = sig.bind()
220
- bound_args.apply_defaults()
221
- best_latency = 1e8
222
- best_config = None
223
- best_jit_context = None
224
-
225
- def _compile(*config_arg):
264
+ parameters = sig.parameters
265
+ best_latency: float = 1e8
266
+ best_config: Optional[Dict[str, Any]] = None
267
+ best_kernel: Optional[tilelang.JITKernel] = None
268
+
269
+ def _compile(**config_arg) -> tilelang.JITKernel:
226
270
  compile_args = self.compile_args
227
- kernel = tilelang.compile(
228
- self.fn(*config_arg), out_idx=compile_args.out_idx, target=compile_args.target)
229
- jit_context = JITContext(
230
- out_idx=compile_args.out_idx,
231
- ref_prog=compile_args.ref_prog,
232
- supply_prog=compile_args.supply_prog,
233
- rtol=compile_args.rtol,
234
- atol=compile_args.atol,
235
- max_mismatched_ratio=compile_args.max_mismatched_ratio,
236
- skip_check=compile_args.skip_check,
237
- cache_input_tensors=compile_args.cache_input_tensors,
238
- kernel=kernel,
239
- supply_type=compile_args.supply_type,
240
- target=compile_args.target)
241
- return jit_context
271
+ return compile_args.compile_program(self.fn(**config_arg))
242
272
 
243
273
  if self.jit_compile is None:
244
274
  self.jit_compile = _compile
245
275
 
246
- def target_fn(jit_context: JITContext):
276
+ def target_fn(jit_kernel: tilelang.JITKernel):
247
277
  # Unpack the context
248
- kernel = jit_context.kernel
249
- supply_type = jit_context.supply_type
250
- skip_check = jit_context.skip_check
251
- cache_input_tensors = jit_context.cache_input_tensors
252
- ref_prog = jit_context.ref_prog
253
- supply_prog = jit_context.supply_prog
254
- rtol = jit_context.rtol
255
- atol = jit_context.atol
256
- max_mismatched_ratio = jit_context.max_mismatched_ratio
257
-
258
- profiler = kernel.get_profiler(tensor_supply_type=supply_type)
278
+ profile_args = self.profile_args
279
+ supply_type = profile_args.supply_type
280
+ skip_check = profile_args.skip_check
281
+ manual_check_prog = profile_args.manual_check_prog
282
+ cache_input_tensors = profile_args.cache_input_tensors
283
+ ref_prog = profile_args.ref_prog
284
+ supply_prog = profile_args.supply_prog
285
+ rtol = profile_args.rtol
286
+ atol = profile_args.atol
287
+ max_mismatched_ratio = profile_args.max_mismatched_ratio
288
+
289
+ profiler = jit_kernel.get_profiler(tensor_supply_type=supply_type)
259
290
 
260
291
  # Factory functions for generating input tensors.
261
292
  # This encapsulates the logic of using either a custom supply program (`supply_prog`)
@@ -274,31 +305,34 @@ class AutoTuner:
274
305
  ref_input_tensors_supply = get_input_tensors_supply(with_output=False)
275
306
 
276
307
  if cache_input_tensors:
277
- jit_input_tensors = jit_input_tensors_supply()
278
- if self.jit_input_tensors is not None:
279
- if not check_tensor_list_compatibility(self.jit_input_tensors,
280
- jit_input_tensors):
281
- logger.warning(
282
- "Incompatible input tensor properties detected between cached tensors and "
283
- "tensors regenerated for the current configuration trial. "
284
- "This can happen if different tuning configurations require different input shapes/dtypes "
285
- "and input tensor caching is enabled.\n"
286
- "To ensure fresh, compatible inputs are generated for every trial "
287
- "you can disable caching by setting:\n"
288
- " `cache_input_tensors=False`\n"
289
- "within your `.set_compile_args(...)` call.\n")
290
- self.jit_input_tensors = jit_input_tensors
291
- self.jit_input_tensors = jit_input_tensors
308
+ if supply_prog is not None:
309
+ logger.warning(
310
+ "Incompatible input tensor properties detected between cached tensors and "
311
+ "tensors regenerated for the current configuration trial. "
312
+ "This can happen if different tuning configurations require different input shapes/dtypes "
313
+ "and input tensor caching is enabled.\n"
314
+ "To ensure fresh, compatible inputs are generated for every trial "
315
+ "you can disable caching by setting:\n"
316
+ " `cache_input_tensors=False`\n"
317
+ "within your `.set_compile_args(...)` call.\n")
318
+ self.jit_input_tensors = jit_input_tensors_supply(
319
+ ) if self.jit_input_tensors is None else self.jit_input_tensors
292
320
  else:
293
321
  self.jit_input_tensors = jit_input_tensors_supply()
294
322
 
295
323
  if (not skip_check) and (ref_prog is not None):
296
- profiler.assert_allclose(
297
- ref_prog,
298
- input_tensors=self.jit_input_tensors,
299
- rtol=rtol,
300
- atol=atol,
301
- max_mismatched_ratio=max_mismatched_ratio)
324
+ if manual_check_prog is not None:
325
+ profiler.manual_assert_close(
326
+ ref_prog,
327
+ input_tensors=self.jit_input_tensors,
328
+ manual_check_prog=manual_check_prog)
329
+ else:
330
+ profiler.assert_allclose(
331
+ ref_prog,
332
+ input_tensors=self.jit_input_tensors,
333
+ rtol=rtol,
334
+ atol=atol,
335
+ max_mismatched_ratio=max_mismatched_ratio)
302
336
  latency = profiler.do_bench(
303
337
  warmup=warmup, rep=rep, input_tensors=self.jit_input_tensors)
304
338
  if self.ref_latency_cache is None and ref_prog is not None:
@@ -310,25 +344,25 @@ class AutoTuner:
310
344
 
311
345
  config_args = []
312
346
  for config in self.configs:
313
- new_args = []
314
- for name, value in bound_args.arguments.items():
315
- if name not in keys:
316
- new_args.append(value)
317
- else:
318
- if name not in config:
319
- raise ValueError(f"Configuration {config} does not contain key {name}")
320
- new_args.append(config[name])
321
- new_args = tuple(new_args)
322
- config_args.append(new_args)
347
+ new_kwargs = {}
348
+ for name, _ in parameters.items():
349
+ if name in config:
350
+ new_kwargs[name] = config[name]
351
+ config_args.append(new_kwargs)
323
352
 
324
353
  num_workers = max(1, int(get_available_cpu_count() * 0.9))
325
354
  pool = concurrent.futures.ThreadPoolExecutor(max_workers=num_workers)
326
355
  futures = []
327
356
  future_to_index = {}
357
+
358
+ def device_wrapper(func, device, **config_arg):
359
+ torch.cuda.set_device(device)
360
+ return func(**config_arg)
361
+
328
362
  for i, config_arg in enumerate(config_args):
329
363
  future = pool.submit(
330
- self.jit_compile,
331
- *config_arg,
364
+ functools.partial(device_wrapper, self.jit_compile, torch.cuda.current_device()),
365
+ **config_arg,
332
366
  )
333
367
  futures.append(future)
334
368
  future_to_index[future] = i
@@ -351,15 +385,13 @@ class AutoTuner:
351
385
  ref_latency = None
352
386
  progress_bar = tqdm(range(len(results_with_configs)), desc="Bench configurations")
353
387
  for i in progress_bar:
354
- jit_context, config = results_with_configs[i]
388
+ jit_kernel, config = results_with_configs[i]
355
389
  try:
356
390
  # Cannot ThreadPoolExecutor to enforce timeout on target_fn execution
357
391
  # Because tma init may behave strangely with one thread
358
- # latency, ref_latency = target_fn(jit_context)
359
- benchmark_executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
360
- future = benchmark_executor.submit(target_fn, jit_context)
361
- latency, ref_latency = future.result(timeout=timeout)
362
- except concurrent.futures.TimeoutError:
392
+ # latency, ref_latency = target_fn(jit_kernel)
393
+ latency, ref_latency = run_with_timeout(target_fn, timeout, jit_kernel)
394
+ except TimeoutException:
363
395
  logger.info(
364
396
  f"A timeout occurred while testing config {config}, checkout autotuner.log for more details"
365
397
  )
@@ -376,26 +408,43 @@ class AutoTuner:
376
408
  if latency < best_latency:
377
409
  best_latency = latency
378
410
  best_config = config
379
- best_jit_context = jit_context
411
+ best_kernel = jit_kernel
380
412
 
381
413
  progress_bar.set_postfix({"best_latency": best_latency})
382
414
  tqdm.write(f"Tuned Latency {latency} with config {config} at index {i}")
383
415
 
384
416
  pool.shutdown()
385
417
 
386
- if best_jit_context is None:
418
+ if best_kernel is None:
387
419
  error_msg = ("Auto-tuning failed: No configuration successfully "
388
420
  "compiled and passed benchmarking/validation.")
389
421
  logger.error(error_msg)
390
422
  raise RuntimeError(error_msg)
391
423
 
392
- return AutotuneResult(
424
+ best_kernel: tilelang.JITKernel = best_kernel.update_tuner_result(
393
425
  latency=best_latency,
394
426
  config=best_config,
395
427
  ref_latency=ref_latency,
396
- libcode=best_jit_context.kernel.get_kernel_source(),
397
- func=self.fn(*best_config),
398
- kernel=best_jit_context.kernel)
428
+ )
429
+
430
+ autotuner_result = AutotuneResult(
431
+ latency=best_latency,
432
+ config=best_config,
433
+ ref_latency=ref_latency,
434
+ libcode=best_kernel.get_kernel_source(),
435
+ func=best_kernel.prim_func,
436
+ kernel=best_kernel)
437
+
438
+ if self.compile_args.execution_backend == "dlpack":
439
+ logger.warning("DLPack backend does not support cache saving to disk.")
440
+ else:
441
+ with self._lock:
442
+ if is_cache_enabled():
443
+ self._save_result_to_disk(key, autotuner_result)
444
+
445
+ self._memory_cache[key] = autotuner_result
446
+
447
+ return autotuner_result
399
448
 
400
449
  def __call__(self) -> Any:
401
450
  """Make the AutoTuner callable, running the auto-tuning process.
@@ -406,113 +455,121 @@ class AutoTuner:
406
455
  return self.run()
407
456
 
408
457
 
409
- def autotune(configs: Any, warmup: int = 25, rep: int = 100, timeout: int = 100) -> AutotuneResult:
410
- """Decorator for auto-tuning tilelang programs.
458
+ class _AutoTunerImplementation:
459
+ # Overload __init__ to help type checkers understand the effect of return_program
460
+ # The '-> None' is for __init__ itself. The crucial part is Literal for return_program.
411
461
 
412
- Args:
413
- configs: Configuration space to explore during auto-tuning.
414
- warmup: Number of warmup iterations before timing.
415
- rep: Number of repetitions for timing measurements.
416
- timeout: Maximum time (in seconds) allowed for each configuration.
462
+ warmup: int = 25
463
+ rep: int = 100
464
+ timeout: int = 100
465
+ configs: Any = None
417
466
 
418
- Returns:
419
- Callable: Decorated function that performs auto-tuning.
420
- """
467
+ def __init__(self, configs: Any, warmup: int = 25, rep: int = 100, timeout: int = 100) -> None:
468
+ """Initialize the AutoTunerImplementation.
421
469
 
422
- def decorator(fn: Callable) -> AutoTuner:
423
- autotuner = AutoTuner(fn, configs=configs)
424
- autotuner.jit_compile = fn
425
- autotuner.run = partial(autotuner.run, warmup, rep, timeout)
426
- return autotuner
470
+ Args:
471
+ configs: Configuration space to explore during auto-tuning.
472
+ warmup: Number of warmup iterations before timing.
473
+ rep: Number of repetitions for timing measurements.
474
+ timeout: Maximum time (in seconds) allowed for each configuration.
475
+ """
476
+ self.configs = configs
477
+ self.warmup = warmup
478
+ self.rep = rep
479
+ self.timeout = timeout
427
480
 
428
- return decorator
481
+ self._tuner_cache: Dict[tuple, tilelang.JITKernel] = {}
429
482
 
483
+ # This tells the type checker what the *wrapper* function will return.
484
+ # this is for linting, please do not remove it.
485
+ @overload
486
+ def __call__(self, fn: Callable[_P, _RProg]) -> Callable[_P, Tuple[_RProg, AutotuneResult]]:
487
+ ...
430
488
 
431
- def jit(out_idx: Optional[List[int]] = None,
432
- supply_type: tilelang.TensorSupplyType = tilelang.TensorSupplyType.Auto,
433
- ref_prog: Callable = None,
434
- supply_prog: Callable = None,
435
- rtol: float = 1e-2,
436
- atol: float = 1e-2,
437
- max_mismatched_ratio: float = 0.01,
438
- skip_check: bool = False,
439
- cache_input_tensors: bool = True,
440
- target: Literal['auto', 'cuda', 'hip'] = 'auto') -> Callable:
441
- """Just-In-Time compilation decorator for tilelang programs.
489
+ @overload
490
+ def __call__(self, fn: Callable[_P, _RProg]) -> Callable[_P, AutotuneResult]:
491
+ ...
442
492
 
443
- Args:
444
- out_idx: List of output tensor indices.
445
- supply_type: Type of tensor supply mechanism. Ignored if `supply_prog` is provided.
446
- ref_prog: Reference program for correctness validation.
447
- supply_prog: Supply program for input tensors.
448
- rtol: Relative tolerance for output validation.
449
- atol: Absolute tolerance for output validation.
450
- max_mismatched_ratio: Maximum allowed ratio of mismatched elements.
451
- skip_check: Whether to skip validation checks.
452
- cache_input_tensors: Whether to cache input tensors for each compilation.
453
- target: Target platform ('auto', 'cuda', or 'hip').
454
-
455
- Returns:
456
- Callable: Decorated function that performs JIT compilation.
457
- """
493
+ # Actual implementation of __call__
494
+ def __call__(self, fn: Callable[_P, _RProg]) -> Callable[_P, Any]:
495
+ warmup = self.warmup
496
+ rep = self.rep
497
+ timeout = self.timeout
498
+ configs = self.configs
458
499
 
459
- # If a custom `supply_prog`` is provided, the profiler's `supply_type` setting
460
- # becomes ineffective. The custom supply program will be used instead.
461
- if supply_prog is not None and supply_type != tilelang.TensorSupplyType.Auto:
462
- logger.warning("Ignoring `supply_type` passed to `autotune.jit` because "
463
- "`supply_prog` is not None.")
500
+ @functools.wraps(fn)
501
+ def wrapper(*args, **kwargs):
464
502
 
465
- def wrapper(fn: Callable):
503
+ key_args_tuple = args
504
+ key_kwargs_tuple = tuple(sorted(kwargs.items()))
505
+ key = (key_args_tuple, key_kwargs_tuple)
466
506
 
467
- @wraps(fn)
468
- def decorator(*args, **kwargs) -> float:
507
+ if key not in self._tuner_cache:
469
508
 
470
- kernel = tilelang.compile(fn(*args, **kwargs), out_idx=out_idx, target=target)
509
+ def jit_compile(**config_arg):
510
+ return fn(*args, **kwargs, __tune_params=config_arg)
471
511
 
472
- return JITContext(
473
- out_idx=out_idx,
474
- ref_prog=ref_prog,
475
- supply_prog=supply_prog,
476
- rtol=rtol,
477
- atol=atol,
478
- max_mismatched_ratio=max_mismatched_ratio,
479
- skip_check=skip_check,
480
- cache_input_tensors=cache_input_tensors,
481
- kernel=kernel,
482
- supply_type=supply_type,
483
- target=target)
512
+ autotuner = AutoTuner(fn, configs=configs)
513
+ autotuner.jit_compile = jit_compile
514
+ autotuner.run = partial(autotuner.run, warmup, rep, timeout)
484
515
 
485
- return decorator
516
+ artifact = autotuner.run()
517
+ self._tuner_cache[key] = artifact.kernel
486
518
 
487
- return wrapper
519
+ return self._tuner_cache[key]
488
520
 
521
+ return wrapper
489
522
 
490
- def check_tensor_list_compatibility(
491
- list1: List[torch.Tensor],
492
- list2: List[torch.Tensor],
493
- ) -> bool:
494
- """Checks if two lists of tensors are compatible.
495
-
496
- Compatibility checks performed include:
497
- 1. Lists have the same length.
498
- 2. Corresponding tensors have the same shape.
499
523
 
500
- Args:
501
- list1: First list of tensors.
502
- list2: Second list of tensors.
524
+ def autotune( # This is the new public interface
525
+ func: Union[Callable[_P, _RProg], PrimFunc, None] = None,
526
+ *, # Indicates subsequent arguments are keyword-only
527
+ configs: Any,
528
+ warmup: int = 25,
529
+ rep: int = 100,
530
+ timeout: int = 100):
503
531
  """
504
- if len(list1) != len(list2):
505
- return False
506
-
507
- return all(tensor1.shape == tensor2.shape for tensor1, tensor2 in zip(list1, list2))
508
-
509
-
510
- def get_available_cpu_count():
511
- """Gets the number of CPU cores available to the current process.
532
+ Just-In-Time (JIT) compiler decorator for TileLang functions.
533
+
534
+ This decorator can be used without arguments (e.g., `@tilelang.jit`):
535
+ Applies JIT compilation with default settings.
536
+
537
+ Parameters
538
+ ----------
539
+ func_or_out_idx : Any, optional
540
+ If using `@tilelang.jit(...)` to configure, this is the `out_idx` parameter.
541
+ If using `@tilelang.jit` directly on a function, this argument is implicitly
542
+ the function to be decorated (and `out_idx` will be `None`).
543
+ target : Union[str, Target], optional
544
+ Compilation target for TVM (e.g., "cuda", "llvm"). Defaults to "auto".
545
+ target_host : Union[str, Target], optional
546
+ Target host for cross-compilation. Defaults to None.
547
+ execution_backend : Literal["dlpack", "ctypes", "cython"], optional
548
+ Backend for kernel execution and argument passing. Defaults to "cython".
549
+ verbose : bool, optional
550
+ Enables verbose logging during compilation. Defaults to False.
551
+ pass_configs : Optional[Dict[str, Any]], optional
552
+ Configurations for TVM's pass context. Defaults to None.
553
+ debug_root_path : Optional[str], optional
554
+ Directory to save compiled kernel source for debugging. Defaults to None.
555
+
556
+ Returns
557
+ -------
558
+ Callable
559
+ Either a JIT-compiled wrapper around the input function, or a configured decorator
560
+ instance that can then be applied to a function.
512
561
  """
513
- try:
514
- cpu_count = len(os.sched_getaffinity(0))
515
- except AttributeError:
516
- cpu_count = os.cpu_count()
517
-
518
- return cpu_count
562
+ if callable(func):
563
+ # Case 1: Used as @autotune (func_or_out_idx is the function, others are defaults)
564
+ # This is a placeholder for a real auto tuner implementation
565
+ raise ValueError(
566
+ "Use tilelang.autotune to decorate func without arguments is not supported yet.")
567
+ elif isinstance(func, PrimFunc):
568
+ raise ValueError("Use tilelang.jit to decorate prim_func is not supported yet.")
569
+ else:
570
+ # Case 2: Used as @autotune(...) to configure, or func_or_out_idx is meant as out_idx.
571
+ # Create a _AutoTunerImplementation instance with the provided/defaulted arguments.
572
+ # This instance is a decorator that will be applied to the function later.
573
+ configured_decorator = _AutoTunerImplementation(
574
+ configs=configs, warmup=warmup, rep=rep, timeout=timeout)
575
+ return configured_decorator