xtc-tools 0.3.0__tar.gz

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 (524) hide show
  1. xtc_tools-0.3.0/.github/pull_request_template.md +19 -0
  2. xtc_tools-0.3.0/.github/workflows/reusable-pages.yml +63 -0
  3. xtc_tools-0.3.0/.github/workflows/xtc-tests.yml +240 -0
  4. xtc_tools-0.3.0/.gitignore +18 -0
  5. xtc_tools-0.3.0/LICENSE +28 -0
  6. xtc_tools-0.3.0/LICENSE_HEADER +2 -0
  7. xtc_tools-0.3.0/Makefile +109 -0
  8. xtc_tools-0.3.0/PKG-INFO +244 -0
  9. xtc_tools-0.3.0/README.md +170 -0
  10. xtc_tools-0.3.0/codecov.yml +15 -0
  11. xtc_tools-0.3.0/dependencies.toml +57 -0
  12. xtc_tools-0.3.0/docs/develop/optional_backends.md +89 -0
  13. xtc_tools-0.3.0/docs/develop/releasing.md +62 -0
  14. xtc_tools-0.3.0/docs/marimo/README.md +20 -0
  15. xtc_tools-0.3.0/docs/marimo/doc_utils.py +162 -0
  16. xtc_tools-0.3.0/docs/marimo/mlir/all.mlir +16 -0
  17. xtc_tools-0.3.0/docs/marimo/mlir/interchange.mlir +13 -0
  18. xtc_tools-0.3.0/docs/marimo/mlir/order.mlir +15 -0
  19. xtc_tools-0.3.0/docs/marimo/mlir/parallelize.mlir +13 -0
  20. xtc_tools-0.3.0/docs/marimo/mlir/splitting.mlir +13 -0
  21. xtc_tools-0.3.0/docs/marimo/mlir/tiling.mlir +16 -0
  22. xtc_tools-0.3.0/docs/marimo/mlir/unroll.mlir +14 -0
  23. xtc_tools-0.3.0/docs/marimo/mlir/vanilla.mlir +13 -0
  24. xtc_tools-0.3.0/docs/marimo/mlir/vectorize.mlir +13 -0
  25. xtc_tools-0.3.0/docs/marimo/mlir_example_notebook.py +161 -0
  26. xtc_tools-0.3.0/docs/marimo/mlir_loop_notebook.py +582 -0
  27. xtc_tools-0.3.0/docs/site/Makefile +12 -0
  28. xtc_tools-0.3.0/docs/site/docs/design/architecture.md +74 -0
  29. xtc_tools-0.3.0/docs/site/docs/figures/architecture.png +0 -0
  30. xtc_tools-0.3.0/docs/site/docs/index.md +47 -0
  31. xtc_tools-0.3.0/docs/site/docs/overview.md +139 -0
  32. xtc_tools-0.3.0/docs/site/docs/reference/api.md +12 -0
  33. xtc_tools-0.3.0/docs/site/hooks/version.py +15 -0
  34. xtc_tools-0.3.0/docs/site/mkdocs.yml +31 -0
  35. xtc_tools-0.3.0/docs/slides/.gitignore +1 -0
  36. xtc_tools-0.3.0/docs/slides/Makefile +17 -0
  37. xtc_tools-0.3.0/docs/slides/architecture.png +0 -0
  38. xtc_tools-0.3.0/docs/slides/cgo26_tuto_slides.md +191 -0
  39. xtc_tools-0.3.0/docs/tutorials/cli_tools.md +143 -0
  40. xtc_tools-0.3.0/docs/tutorials/exec_utils.py +34 -0
  41. xtc_tools-0.3.0/docs/tutorials/explore_optimizers.py +273 -0
  42. xtc_tools-0.3.0/docs/tutorials/starting_examples.md +147 -0
  43. xtc_tools-0.3.0/docs/tutorials/xtc_101.py +1217 -0
  44. xtc_tools-0.3.0/jir_requirements.txt +6 -0
  45. xtc_tools-0.3.0/logo.png +0 -0
  46. xtc_tools-0.3.0/pyproject.toml +114 -0
  47. xtc_tools-0.3.0/scripts/banwords/banwords.b64 +7 -0
  48. xtc_tools-0.3.0/scripts/banwords/banwords.py +218 -0
  49. xtc_tools-0.3.0/scripts/coverage/coverage_run.sh +36 -0
  50. xtc_tools-0.3.0/scripts/coverage/sitecustomize/sitecustomize.py +3 -0
  51. xtc_tools-0.3.0/scripts/explore/README.md +55 -0
  52. xtc_tools-0.3.0/scripts/explore/display-explore-one-shot.sh +24 -0
  53. xtc_tools-0.3.0/scripts/explore/display-explore-variants.sh +24 -0
  54. xtc_tools-0.3.0/scripts/explore/run-explore-one-shot.sh +35 -0
  55. xtc_tools-0.3.0/scripts/explore/run-explore-optimizers.sh +42 -0
  56. xtc_tools-0.3.0/scripts/explore/run-explore-variants.sh +35 -0
  57. xtc_tools-0.3.0/scripts/filecheck/gen_filecheck.py +101 -0
  58. xtc_tools-0.3.0/scripts/licensing/licensing.py +241 -0
  59. xtc_tools-0.3.0/scripts/llms/init_agents.py +108 -0
  60. xtc_tools-0.3.0/scripts/pyproject/check_wheel.py +103 -0
  61. xtc_tools-0.3.0/scripts/pyproject/update_dependencies.py +106 -0
  62. xtc_tools-0.3.0/scripts/pytest/run_pytest.sh +17 -0
  63. xtc_tools-0.3.0/scripts/ruff/format.sh +6 -0
  64. xtc_tools-0.3.0/scripts/tutorials/test_marimos.sh +11 -0
  65. xtc_tools-0.3.0/scripts/tutorials/test_tutorial_explore_optimizers.sh +15 -0
  66. xtc_tools-0.3.0/scripts/tutorials/test_tutorial_xtc_101.sh +11 -0
  67. xtc_tools-0.3.0/sdist_requirements.txt +4 -0
  68. xtc_tools-0.3.0/setup.cfg +4 -0
  69. xtc_tools-0.3.0/src/xtc/__init__.py +7 -0
  70. xtc_tools-0.3.0/src/xtc/artifacts/__init__.py +25 -0
  71. xtc_tools-0.3.0/src/xtc/artifacts/operations.py +71 -0
  72. xtc_tools-0.3.0/src/xtc/artifacts/register_subgraph_operations.py +34 -0
  73. xtc_tools-0.3.0/src/xtc/artifacts/register_ttile_operations.py +46 -0
  74. xtc_tools-0.3.0/src/xtc/artifacts/subgraph_sizes.py +207 -0
  75. xtc_tools-0.3.0/src/xtc/backends/jir/JIRBackend.py +105 -0
  76. xtc_tools-0.3.0/src/xtc/backends/jir/JIRCompiler.py +375 -0
  77. xtc_tools-0.3.0/src/xtc/backends/jir/JIROps.py +206 -0
  78. xtc_tools-0.3.0/src/xtc/backends/jir/JIRScheduler.py +402 -0
  79. xtc_tools-0.3.0/src/xtc/backends/jir/__init__.py +18 -0
  80. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirBackend.py +58 -0
  81. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirCompiler.py +248 -0
  82. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirCompilerPasses.py +800 -0
  83. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirConfig.py +46 -0
  84. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirGraphBackend.py +243 -0
  85. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirNodeBackend.py +75 -0
  86. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirNodeScheduler.py +118 -0
  87. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirOps.py +901 -0
  88. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirProgram.py +100 -0
  89. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirScheduler.py +253 -0
  90. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirCTarget.py +118 -0
  91. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirCpuTarget.py +214 -0
  92. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirLLVMTarget.py +145 -0
  93. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirMppaTarget.py +461 -0
  94. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirNVGPUTarget.py +470 -0
  95. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/MlirTarget.py +83 -0
  96. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/__init__.py +32 -0
  97. xtc_tools-0.3.0/src/xtc/backends/mlir/MlirTarget/cpu_lowering.py +43 -0
  98. xtc_tools-0.3.0/src/xtc/backends/mlir/__init__.py +32 -0
  99. xtc_tools-0.3.0/src/xtc/backends/tvm/TVMBackend.py +79 -0
  100. xtc_tools-0.3.0/src/xtc/backends/tvm/TVMCompiler.py +580 -0
  101. xtc_tools-0.3.0/src/xtc/backends/tvm/TVMOps.py +731 -0
  102. xtc_tools-0.3.0/src/xtc/backends/tvm/TVMOpsCompiler.py +110 -0
  103. xtc_tools-0.3.0/src/xtc/backends/tvm/TVMScheduler.py +409 -0
  104. xtc_tools-0.3.0/src/xtc/backends/tvm/__init__.py +18 -0
  105. xtc_tools-0.3.0/src/xtc/cli/display_results.py +199 -0
  106. xtc_tools-0.3.0/src/xtc/cli/explore.py +359 -0
  107. xtc_tools-0.3.0/src/xtc/cli/mlir_backend.py +98 -0
  108. xtc_tools-0.3.0/src/xtc/cli/mlir_loop.py +343 -0
  109. xtc_tools-0.3.0/src/xtc/cli/query_results.py +263 -0
  110. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/accelerator/gpu/perf_event_gpu.cpp +325 -0
  111. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/accelerator/gpu/perf_event_gpu.h +26 -0
  112. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/accelerator/mppa/host.c +130 -0
  113. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/accelerator/mppa/perf_event_mppa.h +31 -0
  114. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/accelerator/mppa/perf_events.c +112 -0
  115. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/alloc.c +38 -0
  116. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/alloc.h +13 -0
  117. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/cndarray.c +155 -0
  118. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/dlpack.h +229 -0
  119. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/evaluate_flops.c +495 -0
  120. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/evaluate_perf.c +253 -0
  121. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/fclock.c +11 -0
  122. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/kperf.h +954 -0
  123. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/perf_event.h +73 -0
  124. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/perf_event_darwin.c +170 -0
  125. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/perf_event_linux.c +258 -0
  126. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/runtime.h +20 -0
  127. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/simd.h +116 -0
  128. xtc_tools-0.3.0/src/xtc/csrcs/runtimes/host/tvm_runtime_init.c +30 -0
  129. xtc_tools-0.3.0/src/xtc/graphs/xtc/__init__.py +4 -0
  130. xtc_tools-0.3.0/src/xtc/graphs/xtc/builder.py +87 -0
  131. xtc_tools-0.3.0/src/xtc/graphs/xtc/context.py +135 -0
  132. xtc_tools-0.3.0/src/xtc/graphs/xtc/data.py +236 -0
  133. xtc_tools-0.3.0/src/xtc/graphs/xtc/expr.py +308 -0
  134. xtc_tools-0.3.0/src/xtc/graphs/xtc/graph.py +205 -0
  135. xtc_tools-0.3.0/src/xtc/graphs/xtc/node.py +167 -0
  136. xtc_tools-0.3.0/src/xtc/graphs/xtc/op.py +6 -0
  137. xtc_tools-0.3.0/src/xtc/graphs/xtc/op_factory.py +112 -0
  138. xtc_tools-0.3.0/src/xtc/graphs/xtc/operation.py +99 -0
  139. xtc_tools-0.3.0/src/xtc/graphs/xtc/operators.py +804 -0
  140. xtc_tools-0.3.0/src/xtc/graphs/xtc/ty.py +6 -0
  141. xtc_tools-0.3.0/src/xtc/graphs/xtc/utils.py +53 -0
  142. xtc_tools-0.3.0/src/xtc/itf/__init__.py +13 -0
  143. xtc_tools-0.3.0/src/xtc/itf/back/__init__.py +5 -0
  144. xtc_tools-0.3.0/src/xtc/itf/back/backend.py +99 -0
  145. xtc_tools-0.3.0/src/xtc/itf/comp/__init__.py +6 -0
  146. xtc_tools-0.3.0/src/xtc/itf/comp/compiler.py +51 -0
  147. xtc_tools-0.3.0/src/xtc/itf/comp/module.py +106 -0
  148. xtc_tools-0.3.0/src/xtc/itf/data/__init__.py +13 -0
  149. xtc_tools-0.3.0/src/xtc/itf/data/tensor.py +156 -0
  150. xtc_tools-0.3.0/src/xtc/itf/exec/__init__.py +6 -0
  151. xtc_tools-0.3.0/src/xtc/itf/exec/evaluator.py +42 -0
  152. xtc_tools-0.3.0/src/xtc/itf/exec/executor.py +38 -0
  153. xtc_tools-0.3.0/src/xtc/itf/graph/__init__.py +7 -0
  154. xtc_tools-0.3.0/src/xtc/itf/graph/graph.py +171 -0
  155. xtc_tools-0.3.0/src/xtc/itf/graph/node.py +167 -0
  156. xtc_tools-0.3.0/src/xtc/itf/graph/operation.py +157 -0
  157. xtc_tools-0.3.0/src/xtc/itf/operator/__init__.py +5 -0
  158. xtc_tools-0.3.0/src/xtc/itf/operator/operator.py +54 -0
  159. xtc_tools-0.3.0/src/xtc/itf/runtime/accelerator.py +135 -0
  160. xtc_tools-0.3.0/src/xtc/itf/runtime/common.py +206 -0
  161. xtc_tools-0.3.0/src/xtc/itf/runtime/embedded.py +25 -0
  162. xtc_tools-0.3.0/src/xtc/itf/schd/__init__.py +6 -0
  163. xtc_tools-0.3.0/src/xtc/itf/schd/schedule.py +35 -0
  164. xtc_tools-0.3.0/src/xtc/itf/schd/scheduler.py +336 -0
  165. xtc_tools-0.3.0/src/xtc/itf/search/__init__.py +8 -0
  166. xtc_tools-0.3.0/src/xtc/itf/search/optimizer.py +49 -0
  167. xtc_tools-0.3.0/src/xtc/itf/search/strategy.py +164 -0
  168. xtc_tools-0.3.0/src/xtc/py.typed +0 -0
  169. xtc_tools-0.3.0/src/xtc/runtimes/accelerator/gpu/GPUDevice.py +351 -0
  170. xtc_tools-0.3.0/src/xtc/runtimes/accelerator/gpu/__init__.py +7 -0
  171. xtc_tools-0.3.0/src/xtc/runtimes/accelerator/mppa/MppaDevice.py +773 -0
  172. xtc_tools-0.3.0/src/xtc/runtimes/accelerator/mppa/__init__.py +8 -0
  173. xtc_tools-0.3.0/src/xtc/runtimes/accelerator/mppa/config.py +161 -0
  174. xtc_tools-0.3.0/src/xtc/runtimes/host/HostRuntime.py +200 -0
  175. xtc_tools-0.3.0/src/xtc/runtimes/host/__init__.py +9 -0
  176. xtc_tools-0.3.0/src/xtc/runtimes/host/runtime.py +275 -0
  177. xtc_tools-0.3.0/src/xtc/runtimes/types/__init__.py +4 -0
  178. xtc_tools-0.3.0/src/xtc/runtimes/types/dlpack.py +65 -0
  179. xtc_tools-0.3.0/src/xtc/runtimes/types/ndarray.py +237 -0
  180. xtc_tools-0.3.0/src/xtc/schedules/descript.py +542 -0
  181. xtc_tools-0.3.0/src/xtc/schedules/exceptions.py +23 -0
  182. xtc_tools-0.3.0/src/xtc/schedules/loop_names.py +34 -0
  183. xtc_tools-0.3.0/src/xtc/schedules/loop_nest.py +468 -0
  184. xtc_tools-0.3.0/src/xtc/schedules/loop_nest_builder.py +130 -0
  185. xtc_tools-0.3.0/src/xtc/schedules/parameter_loop_nest.py +568 -0
  186. xtc_tools-0.3.0/src/xtc/schedules/parsing.py +352 -0
  187. xtc_tools-0.3.0/src/xtc/schedules/plain_schedule.py +276 -0
  188. xtc_tools-0.3.0/src/xtc/schedules/ttile/archi.py +53 -0
  189. xtc_tools-0.3.0/src/xtc/schedules/ttile/cache_model/full_assoc_model.py +828 -0
  190. xtc_tools-0.3.0/src/xtc/schedules/ttile/cache_model/sarcasm_set_assoc_model.py +1798 -0
  191. xtc_tools-0.3.0/src/xtc/schedules/ttile/computation.py +481 -0
  192. xtc_tools-0.3.0/src/xtc/schedules/ttile/microkernel.py +644 -0
  193. xtc_tools-0.3.0/src/xtc/schedules/ttile/prob_sizes.py +420 -0
  194. xtc_tools-0.3.0/src/xtc/schedules/ttile/scheme.py +754 -0
  195. xtc_tools-0.3.0/src/xtc/schedules/ttile/scheme_to_xtc.py +936 -0
  196. xtc_tools-0.3.0/src/xtc/schedules/ttile/search_strat.py +1199 -0
  197. xtc_tools-0.3.0/src/xtc/search/__init__.py +4 -0
  198. xtc_tools-0.3.0/src/xtc/search/callback.py +172 -0
  199. xtc_tools-0.3.0/src/xtc/search/explore.py +876 -0
  200. xtc_tools-0.3.0/src/xtc/search/optimizers.py +236 -0
  201. xtc_tools-0.3.0/src/xtc/search/pipeline.py +117 -0
  202. xtc_tools-0.3.0/src/xtc/search/progress.py +226 -0
  203. xtc_tools-0.3.0/src/xtc/search/strategies.py +1283 -0
  204. xtc_tools-0.3.0/src/xtc/targets/accelerator/gpu/GPUEvaluator.py +138 -0
  205. xtc_tools-0.3.0/src/xtc/targets/accelerator/gpu/GPUModule.py +92 -0
  206. xtc_tools-0.3.0/src/xtc/targets/accelerator/gpu/__init__.py +8 -0
  207. xtc_tools-0.3.0/src/xtc/targets/accelerator/mppa/MppaEvaluator.py +121 -0
  208. xtc_tools-0.3.0/src/xtc/targets/accelerator/mppa/MppaModule.py +97 -0
  209. xtc_tools-0.3.0/src/xtc/targets/accelerator/mppa/__init__.py +8 -0
  210. xtc_tools-0.3.0/src/xtc/targets/host/HostAREvaluator.py +107 -0
  211. xtc_tools-0.3.0/src/xtc/targets/host/HostCEvaluator.py +106 -0
  212. xtc_tools-0.3.0/src/xtc/targets/host/HostEvaluator.py +120 -0
  213. xtc_tools-0.3.0/src/xtc/targets/host/HostModule.py +135 -0
  214. xtc_tools-0.3.0/src/xtc/targets/host/__init__.py +18 -0
  215. xtc_tools-0.3.0/src/xtc/templates/tvm/packed_op_wrapper.c.jinja +95 -0
  216. xtc_tools-0.3.0/src/xtc/templates/tvm/tvm_ffi_op_wrapper.c.jinja +23 -0
  217. xtc_tools-0.3.0/src/xtc/templates/tvm/unpacked_op.h.jinja +11 -0
  218. xtc_tools-0.3.0/src/xtc/utils/__init__.py +4 -0
  219. xtc_tools-0.3.0/src/xtc/utils/algorithms.py +114 -0
  220. xtc_tools-0.3.0/src/xtc/utils/cfunc.py +129 -0
  221. xtc_tools-0.3.0/src/xtc/utils/cpu.py +99 -0
  222. xtc_tools-0.3.0/src/xtc/utils/evaluation.py +199 -0
  223. xtc_tools-0.3.0/src/xtc/utils/ext_tools.py +116 -0
  224. xtc_tools-0.3.0/src/xtc/utils/files.py +15 -0
  225. xtc_tools-0.3.0/src/xtc/utils/host_tools.py +156 -0
  226. xtc_tools-0.3.0/src/xtc/utils/import.py +26 -0
  227. xtc_tools-0.3.0/src/xtc/utils/loader.py +45 -0
  228. xtc_tools-0.3.0/src/xtc/utils/math.py +157 -0
  229. xtc_tools-0.3.0/src/xtc/utils/numpy.py +19 -0
  230. xtc_tools-0.3.0/src/xtc/utils/tarfile.py +44 -0
  231. xtc_tools-0.3.0/src/xtc/utils/text.py +65 -0
  232. xtc_tools-0.3.0/src/xtc/utils/tools.py +182 -0
  233. xtc_tools-0.3.0/src/xtc/utils/xdsl_aux.py +83 -0
  234. xtc_tools-0.3.0/src/xtc/utils/xdsl_implicit_builder.py +115 -0
  235. xtc_tools-0.3.0/src/xtc_tools.egg-info/PKG-INFO +244 -0
  236. xtc_tools-0.3.0/src/xtc_tools.egg-info/SOURCES.txt +522 -0
  237. xtc_tools-0.3.0/src/xtc_tools.egg-info/dependency_links.txt +1 -0
  238. xtc_tools-0.3.0/src/xtc_tools.egg-info/entry_points.txt +6 -0
  239. xtc_tools-0.3.0/src/xtc_tools.egg-info/not-zip-safe +1 -0
  240. xtc_tools-0.3.0/src/xtc_tools.egg-info/requires.txt +66 -0
  241. xtc_tools-0.3.0/src/xtc_tools.egg-info/scm_file_list.json +517 -0
  242. xtc_tools-0.3.0/src/xtc_tools.egg-info/scm_version.json +8 -0
  243. xtc_tools-0.3.0/src/xtc_tools.egg-info/top_level.txt +1 -0
  244. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_matmul_tvm_layout.py +32 -0
  245. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_mlir_distributed_invalid_1.py +46 -0
  246. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_mlir_distributed_invalid_2.py +46 -0
  247. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_mlir_distributed_invalid_3.py +46 -0
  248. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_mlir_distributed_invalid_4.py +46 -0
  249. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_mlir_distributed_invalid_5.py +46 -0
  250. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_pad2d_invalid.py +33 -0
  251. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_relu_mlir_layout.py +17 -0
  252. xtc_tools-0.3.0/tests/filecheck/backends/invalid/test_split_then_fuse_mlir_tensor.py +37 -0
  253. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_dict_conv2d_mlir.py +276 -0
  254. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_dict_conv2d_tvm.py +99 -0
  255. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_int_matmul_unpad_mlir.py +239 -0
  256. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_int_matmul_unpad_tvm.py +129 -0
  257. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_tuple_conv2d_mlir.py +275 -0
  258. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_tuple_conv2d_tvm.py +99 -0
  259. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_tuple_matmul_unpad_mlir.py +239 -0
  260. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_gen_pad_tuple_matmul_unpad_tvm.py +129 -0
  261. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad2d_dict_matmul_unpad_mlir.py +239 -0
  262. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_constant_conv2d_mlir.py +275 -0
  263. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_constant_conv2d_tvm.py +99 -0
  264. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_conv2d_frsc_tvm.py +129 -0
  265. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_conv2d_mlir.py +275 -0
  266. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_conv2d_tvm.py +99 -0
  267. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_matmul_unpad_mlir.py +239 -0
  268. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_matmul_unpad_tvm.py +129 -0
  269. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_tuple_matmul_unpad_mlir.py +239 -0
  270. xtc_tools-0.3.0/tests/filecheck/backends/padding/test_pad_tuple_matmul_unpad_tvm.py +129 -0
  271. xtc_tools-0.3.0/tests/filecheck/backends/target_gpu/test_matmul_mlir_offload_tensor.py +161 -0
  272. xtc_tools-0.3.0/tests/filecheck/backends/target_gpu/test_matmul_mlir_offload_tensor_vectorise.py +157 -0
  273. xtc_tools-0.3.0/tests/filecheck/backends/target_mppa/test_matmul_mlir_micro_kernel.py +244 -0
  274. xtc_tools-0.3.0/tests/filecheck/backends/target_mppa/test_matmul_mlir_mppa.py +149 -0
  275. xtc_tools-0.3.0/tests/filecheck/backends/target_mppa/test_matmul_mlir_offload_tensor.py +149 -0
  276. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_conv2d_mini_mlir_tensor.py +306 -0
  277. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_conv2d_r181_mlir_tensor.py +643 -0
  278. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_conv2d_relu_tensor.py +329 -0
  279. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_fuse_then_split_mlir_tensor.py +592 -0
  280. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_matmul_mlir_tensor.py +256 -0
  281. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_matmul_mlir_tensor_layout.py +83 -0
  282. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_matmul_relu_mlir_tensor.py +302 -0
  283. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_pad_conv2d_mlir_tensor.py +497 -0
  284. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_pad_conv2d_mlir_tensor_fused.py +366 -0
  285. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_pad_matmul_unpad_mlir_tensor.py +420 -0
  286. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_relu_tensor.py +149 -0
  287. xtc_tools-0.3.0/tests/filecheck/backends/tensor_dialect/test_two_matmuls_mlir_tensor.py +294 -0
  288. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_mini_mlir.py +190 -0
  289. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_mini_tvm.py +83 -0
  290. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_r181_mlir.py +279 -0
  291. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_r181_mlir_sv.py +481 -0
  292. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_r181_tvm.py +105 -0
  293. xtc_tools-0.3.0/tests/filecheck/backends/test_conv2d_relu_mlir.py +198 -0
  294. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_jir.py +111 -0
  295. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir.py +150 -0
  296. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_const.py +70 -0
  297. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_distributed.py +183 -0
  298. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_layout.py +78 -0
  299. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_parallel.py +154 -0
  300. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_source_ir.py +74 -0
  301. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_mlir_vector_sizes.py +130 -0
  302. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_ndiv_jir.py +37 -0
  303. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_ndiv_mlir.py +172 -0
  304. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_ndiv_tvm.py +96 -0
  305. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_pack_parallel_tvm.py +132 -0
  306. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_pack_tvm.py +124 -0
  307. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_relu_fused_tvm.py +137 -0
  308. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_relu_mlir.py +183 -0
  309. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_relu_subset_mlir.py +162 -0
  310. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_relu_subset_tvm.py +139 -0
  311. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_relu_tvm.py +139 -0
  312. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_scalar_mlir.py +155 -0
  313. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_split.py +73 -0
  314. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_split_nested.py +86 -0
  315. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_tvm.py +97 -0
  316. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_unroll_tvm.py +89 -0
  317. xtc_tools-0.3.0/tests/filecheck/backends/test_matmul_vectorize_tvm.py +95 -0
  318. xtc_tools-0.3.0/tests/filecheck/backends/test_mlir_pack_no_sdist.py +160 -0
  319. xtc_tools-0.3.0/tests/filecheck/backends/test_mlir_pack_sdist.py +164 -0
  320. xtc_tools-0.3.0/tests/filecheck/backends/test_pad_conv2d_fused_tvm.py +110 -0
  321. xtc_tools-0.3.0/tests/filecheck/backends/test_pad_conv2d_relu_fused_tvm.py +158 -0
  322. xtc_tools-0.3.0/tests/filecheck/backends/test_relu_matmul_fused_tvm.py +176 -0
  323. xtc_tools-0.3.0/tests/filecheck/backends/test_relu_mlir.py +100 -0
  324. xtc_tools-0.3.0/tests/filecheck/evaluation/test_matmul_pmu_counters.py +64 -0
  325. xtc_tools-0.3.0/tests/filecheck/evaluation/test_matmul_pmu_counters_gpu.py +59 -0
  326. xtc_tools-0.3.0/tests/filecheck/evaluation/test_matmul_pmu_counters_mppa.py +53 -0
  327. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/linalg_conv_1d_nwc_wcf.mlir +24 -0
  328. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/linalg_conv_2d_nhwc_hwcf_vectorization.mlir +24 -0
  329. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/linalg_generic_conv_1d_nwc_wcf.mlir +30 -0
  330. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/linalg_generic_conv_2d_nhwc_hwcf_vecto_affine.mlir +32 -0
  331. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/linalg_generic_conv_2d_nhwc_hwcf_vectorization.mlir +30 -0
  332. xtc_tools-0.3.0/tests/filecheck/experimental/conv_vectorization_issue/matmul_transform.mlir +31 -0
  333. xtc_tools-0.3.0/tests/filecheck/experimental/linalg_fused_matmul.mlir +28 -0
  334. xtc_tools-0.3.0/tests/filecheck/experimental/linalg_parametric_conditional_matmul.mlir +50 -0
  335. xtc_tools-0.3.0/tests/filecheck/experimental/linalg_split_dim_matmul.mlir +39 -0
  336. xtc_tools-0.3.0/tests/filecheck/graphs/test_conv_relu.py +60 -0
  337. xtc_tools-0.3.0/tests/filecheck/graphs/test_matmul.py +42 -0
  338. xtc_tools-0.3.0/tests/filecheck/graphs/test_matmul_relu.py +57 -0
  339. xtc_tools-0.3.0/tests/filecheck/graphs/test_mlp.py +62 -0
  340. xtc_tools-0.3.0/tests/filecheck/graphs/test_mlp_fc.py +78 -0
  341. xtc_tools-0.3.0/tests/filecheck/graphs/test_relu.py +39 -0
  342. xtc_tools-0.3.0/tests/filecheck/graphs/test_subgraphs.py +48 -0
  343. xtc_tools-0.3.0/tests/filecheck/lit.cfg +37 -0
  344. xtc_tools-0.3.0/tests/filecheck/mlir_loop/bugs/v_inner_vectorize3.mlir +28 -0
  345. xtc_tools-0.3.0/tests/filecheck/mlir_loop/bugs/v_nested.mlir +24 -0
  346. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_axis_type.mlir +17 -0
  347. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_bigger_tile_then_split.mlir +22 -0
  348. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_full_unroll_no_tile.mlir +14 -0
  349. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_parameter_type.mlir +17 -0
  350. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_random_axis_operator.mlir +21 -0
  351. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_tiling_unrolling.mlir +19 -0
  352. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_undefined_annotation.mlir +17 -0
  353. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_undefined_annotation_split.mlir +19 -0
  354. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_undefined_variable.mlir +18 -0
  355. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_undefined_variable_split.mlir +15 -0
  356. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_unused.mlir +16 -0
  357. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/i_unused_split.mlir +42 -0
  358. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/other/v_tiling_unrolling.mlir +46 -0
  359. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/parallelize/i_args.mlir +15 -0
  360. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/parallelize/v_parallelize1.mlir +37 -0
  361. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/parallelize/v_parallelize2.mlir +16 -0
  362. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/parallelize/v_parallelize3.mlir +37 -0
  363. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_duplicate_starting_point.mlir +17 -0
  364. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_equals.mlir +16 -0
  365. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_negative_x.mlir +17 -0
  366. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_negative_y.mlir +19 -0
  367. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_no_end.mlir +17 -0
  368. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_non_contigous.mlir +16 -0
  369. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_not_starting_from_zero.mlir +22 -0
  370. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_overlapping.mlir +16 -0
  371. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_regex_verif.mlir +19 -0
  372. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_regex_verif2.mlir +18 -0
  373. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_splitting.mlir +16 -0
  374. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_undefined_axis.mlir +15 -0
  375. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_undefined_inner_schedule.mlir +17 -0
  376. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/i_wrong_order.mlir +19 -0
  377. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/v_splitting.mlir +39 -0
  378. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/v_useless_splitting.mlir +36 -0
  379. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/splitting/v_useless_splitting2.mlir +16 -0
  380. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/full_tile.mlir +21 -0
  381. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_invalide_argument.mlir +18 -0
  382. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_negative_negative_tiling.mlir +16 -0
  383. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_positive_equal_tiling.mlir +16 -0
  384. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_positive_greater_tiling.mlir +17 -0
  385. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_positive_negative_tiling.mlir +17 -0
  386. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_positive_zero_tiling.mlir +17 -0
  387. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_zero_negative_tiling.mlir +17 -0
  388. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/i_one_axis_zero_zero_tiling.mlir +16 -0
  389. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/v_inner_tile.mlir +57 -0
  390. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/v_inner_tile2.mlir +23 -0
  391. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/v_one_axis_positive_lower_tiling.mlir +41 -0
  392. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/tiling/v_tiling.mlir +44 -0
  393. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_negative_negative_unroll.mlir +15 -0
  394. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_negative_positive_unroll.mlir +15 -0
  395. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_negative_unroll.mlir +15 -0
  396. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_negative_zero_unroll.mlir +15 -0
  397. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_positive_negative_unroll.mlir +15 -0
  398. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_positive_zero_unroll.mlir +15 -0
  399. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_unroll_bad_args.mlir +17 -0
  400. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_zero_negative_unroll.mlir +15 -0
  401. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_zero_positive_unroll.mlir +15 -0
  402. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_zero_unroll.mlir +15 -0
  403. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/i_zero_zero_unroll.mlir +15 -0
  404. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/v_no_param_unroll.mlir +41 -0
  405. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/v_param_unroll.mlir +38 -0
  406. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/v_positive_positive_unroll.mlir +37 -0
  407. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/v_unroll_split.mlir +43 -0
  408. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/unrolling/v_unroll_split2.mlir +44 -0
  409. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/i_inner_vectorize.mlir +18 -0
  410. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/i_inner_vectorize2.mlir +19 -0
  411. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/i_inner_vectorize_split.mlir +20 -0
  412. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/i_vectorize_args.mlir +20 -0
  413. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/i_vectorize_tiled.mlir +20 -0
  414. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_inner_vectorize.mlir +63 -0
  415. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_inner_vectorize2.mlir +25 -0
  416. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_tiled.mlir +55 -0
  417. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_vectorize1.mlir +17 -0
  418. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_vectorize2.mlir +17 -0
  419. xtc_tools-0.3.0/tests/filecheck/mlir_loop/descript_syntax/vectorize/v_vectorize3.mlir +45 -0
  420. xtc_tools-0.3.0/tests/filecheck/mlir_loop/evaluation/parallel_tiling_unroll_vecto_matmul.mlir +26 -0
  421. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/a72_small_matmul.mlir +54 -0
  422. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/m2_small_matmul.mlir +54 -0
  423. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/skylake_generic_matmul.mlir +150 -0
  424. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/skylake_matmul.mlir +137 -0
  425. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/skylake_small_matmul.mlir +58 -0
  426. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/skylake_split_matmul.mlir +170 -0
  427. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_assembly/tigerlake_matmul.mlir +97 -0
  428. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_ir/fmadd_matmul.mlir +32 -0
  429. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_ir/omp_matmul.mlir +29 -0
  430. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_ir/split_matmul.mlir +96 -0
  431. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_ir/unroll_matmul.mlir +73 -0
  432. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_ir/vecto_matmul.mlir +105 -0
  433. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/dims_matmul.mlir +36 -0
  434. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/interchange_matmul.mlir +41 -0
  435. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/just_matmul.mlir +26 -0
  436. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/parallel_matmul.mlir +41 -0
  437. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/parallel_tiling_unroll_vecto_matmul.mlir +61 -0
  438. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/split_matmul.mlir +59 -0
  439. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/split_root_matmul.mlir +54 -0
  440. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/split_tiling_matmul.mlir +63 -0
  441. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/tiling_matmul.mlir +50 -0
  442. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/tiling_unroll_matmul.mlir +52 -0
  443. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/tiling_unroll_partial_matmul.mlir +52 -0
  444. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/tiling_unroll_vecto_matmul.mlir +61 -0
  445. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/tiling_vecto_matmul.mlir +59 -0
  446. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/unroll_matmul.mlir +42 -0
  447. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/unroll_outermost_matmul.mlir +55 -0
  448. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/vecto_generic_conv2d_nhwc_hwcf.mlir +151 -0
  449. xtc_tools-0.3.0/tests/filecheck/mlir_loop/gen_transform/vecto_matmul.mlir +50 -0
  450. xtc_tools-0.3.0/tests/filecheck/mlir_loop/limitations/unroll_unknown_matmul.mlir +21 -0
  451. xtc_tools-0.3.0/tests/filecheck/schedules/test_descript_parsing_errors.py +59 -0
  452. xtc_tools-0.3.0/tests/filecheck/schedules/test_descript_pretty_print.py +125 -0
  453. xtc_tools-0.3.0/tests/filecheck/schedules/test_descript_slice_bigger.py +195 -0
  454. xtc_tools-0.3.0/tests/filecheck/schedules/test_descript_slice_smaller.py +195 -0
  455. xtc_tools-0.3.0/tests/filecheck/schedules/test_descript_tile_split.py +174 -0
  456. xtc_tools-0.3.0/tests/filecheck/schedules/test_get_descript.py +93 -0
  457. xtc_tools-0.3.0/tests/filecheck/schedules/test_low_level_validation.py +87 -0
  458. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_extend_mlir_sample.py +163 -0
  459. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_extend_mlir_split.py +240 -0
  460. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_extend_tvm_goto.py +140 -0
  461. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_extend_tvm_strategy.py +108 -0
  462. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_jir.py +121 -0
  463. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_mlir.py +159 -0
  464. xtc_tools-0.3.0/tests/filecheck/schedules/test_matmul_descript_tvm.py +105 -0
  465. xtc_tools-0.3.0/tests/filecheck/search/test_conv_oo.py +102 -0
  466. xtc_tools-0.3.0/tests/filecheck/search/test_conv_pprprp.py +124 -0
  467. xtc_tools-0.3.0/tests/filecheck/search/test_conv_pprprpv.py +124 -0
  468. xtc_tools-0.3.0/tests/filecheck/search/test_conv_pprprpvr.py +131 -0
  469. xtc_tools-0.3.0/tests/filecheck/search/test_conv_pprprpvr_rnd.py +42 -0
  470. xtc_tools-0.3.0/tests/filecheck/search/test_conv_ppwrprp.py +325 -0
  471. xtc_tools-0.3.0/tests/filecheck/search/test_conv_ppwrprpv.py +325 -0
  472. xtc_tools-0.3.0/tests/filecheck/search/test_conv_ppwrprpvr.py +332 -0
  473. xtc_tools-0.3.0/tests/filecheck/search/test_conv_prp.py +71 -0
  474. xtc_tools-0.3.0/tests/filecheck/search/test_conv_prp_rnd.py +42 -0
  475. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_3axes.py +28 -0
  476. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_goto.py +30 -0
  477. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_simple.py +29 -0
  478. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_split.py +36 -0
  479. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_split_in_split.py +39 -0
  480. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_yaml_goto.py +65 -0
  481. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_yaml_simple.py +28 -0
  482. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_descript_yaml_split.py +35 -0
  483. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_goto.py +124 -0
  484. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_goto_r.py +124 -0
  485. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_oo.py +69 -0
  486. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_p1.py +124 -0
  487. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_p1v.py +50 -0
  488. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_pprprp.py +124 -0
  489. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_pprprpv.py +124 -0
  490. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_pprprpvr.py +131 -0
  491. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_pprprpvr_rnd.py +42 -0
  492. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_ppwrprp.py +285 -0
  493. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_ppwrprpv.py +285 -0
  494. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_ppwrprpvr.py +292 -0
  495. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_prp.py +41 -0
  496. xtc_tools-0.3.0/tests/filecheck/search/test_matmul_prp_rnd.py +42 -0
  497. xtc_tools-0.3.0/tests/filecheck/search/utils.py +69 -0
  498. xtc_tools-0.3.0/tests/graphs/conv2d.graph.yaml +36 -0
  499. xtc_tools-0.3.0/tests/graphs/matmul.graph.yaml +29 -0
  500. xtc_tools-0.3.0/tests/pytest/graphs/test_graph_serialization.py +84 -0
  501. xtc_tools-0.3.0/tests/pytest/jir/jir_utils.py +23 -0
  502. xtc_tools-0.3.0/tests/pytest/jir/test_jir_impl.py +104 -0
  503. xtc_tools-0.3.0/tests/pytest/mlir/mlir_utils.py +30 -0
  504. xtc_tools-0.3.0/tests/pytest/mlir/test_mlir_impl.py +143 -0
  505. xtc_tools-0.3.0/tests/pytest/ttile/mickern_xtctvm_dummyresult_matmul_f32.csv +25 -0
  506. xtc_tools-0.3.0/tests/pytest/ttile/mickern_xtctvm_pinocchio_conv_f32.csv +4841 -0
  507. xtc_tools-0.3.0/tests/pytest/ttile/mickern_xtctvm_pinocchio_matmul_f32.csv +61 -0
  508. xtc_tools-0.3.0/tests/pytest/ttile/test_computation.py +81 -0
  509. xtc_tools-0.3.0/tests/pytest/ttile/test_full_assoc_cache_model.py +1280 -0
  510. xtc_tools-0.3.0/tests/pytest/ttile/test_microkernel.py +75 -0
  511. xtc_tools-0.3.0/tests/pytest/ttile/test_sarcasm_cache_model.py +1064 -0
  512. xtc_tools-0.3.0/tests/pytest/ttile/test_scheme.py +231 -0
  513. xtc_tools-0.3.0/tests/pytest/ttile/test_scheme_to_xtc.py +360 -0
  514. xtc_tools-0.3.0/tests/pytest/ttile/test_search_strat.py +466 -0
  515. xtc_tools-0.3.0/tests/pytest/ttile/ttile_utils.py +18 -0
  516. xtc_tools-0.3.0/tests/pytest/tvm/test_tvm_impl.py +175 -0
  517. xtc_tools-0.3.0/tests/pytest/tvm/tvm_utils.py +23 -0
  518. xtc_tools-0.3.0/tests/pytest/unit/algorithms/test_sample_uniques.py +51 -0
  519. xtc_tools-0.3.0/tests/pytest/unit/cli/test_explore_csv_callback.py +122 -0
  520. xtc_tools-0.3.0/tests/pytest/unit/ext_tools/test_ext_tools.py +89 -0
  521. xtc_tools-0.3.0/tests/pytest/unit/itf/test_abstract.py +11 -0
  522. xtc_tools-0.3.0/tests/pytest/unit/math/test_estimates.py +74 -0
  523. xtc_tools-0.3.0/tests/pytest/unit/runtimes/test_ndarray.py +17 -0
  524. xtc_tools-0.3.0/tests/pytest/unit/search/test_pipeline.py +43 -0
@@ -0,0 +1,19 @@
1
+ # Motivation
2
+
3
+ Explain motivation and/or use case for the pull request.
4
+
5
+ # Description
6
+
7
+ Describe functionality and overview of source changes.
8
+
9
+ # Commits
10
+
11
+ Describe commits if necessary or refer to change commits.
12
+
13
+ # Discussion
14
+
15
+ Add optional discussion and TODO below.
16
+
17
+ TODO:
18
+ - [ ] add to todo list
19
+
@@ -0,0 +1,63 @@
1
+ name: XTC Pages
2
+
3
+ on:
4
+ workflow_call:
5
+
6
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
7
+ permissions:
8
+ contents: read
9
+ pages: write
10
+ id-token: write
11
+
12
+
13
+ jobs:
14
+ build-pages:
15
+ name: Build Pages preview
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v5
20
+ with:
21
+ fetch-depth: 0
22
+ - name: Set up Python 3.12
23
+ uses: actions/setup-python@v6
24
+ with:
25
+ python-version: 3.12
26
+ cache: pip
27
+ - name: Display Python version
28
+ run: |
29
+ python -c "import sys; print(sys.version)"
30
+ pip list
31
+ - name: Install XTC Package in dev mode
32
+ run: |
33
+ pip install -e .[dev]
34
+ - name: Build Pages
35
+ run: make pages
36
+ - name: Upload Pages preview
37
+ uses: actions/upload-artifact@v5
38
+ with:
39
+ name: pages-preview
40
+ path: public/
41
+ if-no-files-found: error
42
+
43
+ deploy-pages:
44
+ name: Deploy Pages
45
+ if: startsWith(github.ref, 'refs/tags/xtc-v')
46
+ needs: build-pages
47
+ runs-on: ubuntu-latest
48
+ environment:
49
+ name: github-pages
50
+ url: ${{ steps.deployment.outputs.page_url }}
51
+ steps:
52
+ - name: Download Pages preview
53
+ uses: actions/download-artifact@v6
54
+ with:
55
+ name: pages-preview
56
+ path: public/
57
+ - name: Upload Pages artifact
58
+ uses: actions/upload-pages-artifact@v3
59
+ with:
60
+ path: public/
61
+ - name: Deploy to GitHub Pages
62
+ id: deployment
63
+ uses: actions/deploy-pages@v4
@@ -0,0 +1,240 @@
1
+ name: XTC Build and Tests
2
+
3
+ # Runs on pushes targeting the main branch, pull request and manual Actions tab
4
+ on:
5
+ push:
6
+ branches: ["main"]
7
+ tags: ["xtc-v*"]
8
+ pull_request:
9
+ workflow_dispatch:
10
+ inputs:
11
+ run-tests:
12
+ description: Run the test matrix before building the package
13
+ type: boolean
14
+ required: true
15
+ default: true
16
+ run-pages:
17
+ description: Build the Pages preview
18
+ type: boolean
19
+ required: true
20
+ default: true
21
+ publish-testpypi:
22
+ description: Publish the package to TestPyPI
23
+ type: boolean
24
+ required: true
25
+ default: false
26
+
27
+ concurrency:
28
+ group: ci-${{ github.workflow }}-${{ github.ref }}
29
+ cancel-in-progress: true
30
+
31
+ jobs:
32
+ build:
33
+ if: >
34
+ github.event_name != 'pull_request' &&
35
+ (github.event_name != 'workflow_dispatch' || inputs['run-tests'])
36
+ runs-on: ${{ matrix.os }}
37
+ strategy:
38
+ fail-fast: false
39
+ matrix:
40
+ os: [ubuntu-latest, ubuntu-24.04-arm, macos-14, macos-15]
41
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
42
+ steps: &build-steps
43
+ - name: Checkout XTC Repository
44
+ uses: actions/checkout@v5
45
+ with:
46
+ fetch-depth: 0
47
+ - name: Ensure PR has linear history
48
+ if: github.event_name == 'pull_request'
49
+ run: |
50
+ MERGE_COMMITS="$(git rev-list --merges "${GITHUB_SHA}"^1.."${GITHUB_SHA}"^2)"
51
+ if [ -n "${MERGE_COMMITS}" ]; then
52
+ echo "::error::PR contains merges, always use rebase for updating branches: Merge commits: ${MERGE_COMMITS}" >&2
53
+ exit 1
54
+ fi
55
+ - name: Install Linux Packages
56
+ if: runner.os == 'Linux'
57
+ # Note: package cache with awalsh128/cache-apt-pkgs-action does not work correctly, use standard install.
58
+ run: |
59
+ sudo apt install -y build-essential libomp5 binutils-aarch64-linux-gnu binutils-x86-64-linux-gnu libpfm4-dev
60
+ - name: Install macOS Packages
61
+ if: runner.os == 'macOs'
62
+ run: |
63
+ brew install libomp x86_64-linux-gnu-binutils aarch64-elf-binutils
64
+ export DYLD_LIBRARY_PATH="/opt/homebrew/opt/libomp/lib:${DYLD_LIBRARY_PATH}"
65
+ - name: Set up Python ${{ matrix.python-version }}
66
+ uses: actions/setup-python@v6
67
+ with:
68
+ python-version: ${{ matrix.python-version }}
69
+ cache: pip
70
+ - name: Install XTC Package in dev mode
71
+ run: |
72
+ pip install -e .[dev]
73
+ - name: Dump Environment information
74
+ run: |
75
+ python -c 'import sys; print(sys.version)'
76
+ pip list
77
+ env | sort
78
+ - name: Run Checks
79
+ run: |
80
+ COV=scripts/coverage/coverage_run.sh
81
+ $COV make check
82
+ - name: Run Explore One Shot
83
+ run: |
84
+ COV=scripts/coverage/coverage_run.sh
85
+ env STRATEGIES=tile8dvr BACKENDS="tvm mlir" $COV ./scripts/explore/run-explore-one-shot.sh artifacts/explore-one-shot
86
+ - name: Run Explore Variants
87
+ run: |
88
+ COV=scripts/coverage/coverage_run.sh
89
+ env STRATEGIES=tile8dvr BACKENDS="tvm mlir" $COV ./scripts/explore/run-explore-variants.sh artifacts/explore-variants
90
+ env NOSHOW=1 scripts/explore/display-explore-variants.sh artifacts/explore
91
+ - name: Run Explore Optimizers
92
+ run: |
93
+ COV=scripts/coverage/coverage_run.sh
94
+ env TRIALS=20 BATCH=4 SEEDS="1 2 3" scripts/explore/run-explore-optimizers.sh artifacts/explore-optimizers
95
+ - name: Generate Coverage Reports
96
+ run: |
97
+ coverage combine >/dev/null
98
+ coverage report
99
+ mkdir -p artifacts/coverage
100
+ coverage xml -o artifacts/coverage/coverage.xml
101
+ coverage report --format=markdown >artifacts/coverage/coverage.md
102
+ coverage html -d artifacts/coverage/html
103
+ - name: Publish artifacts
104
+ if: matrix.python-version == '3.12'
105
+ uses: actions/upload-artifact@v5
106
+ with:
107
+ name: artifacts-os-${{ matrix.os }}
108
+ path: artifacts/
109
+ - name: Publish Coverage
110
+ if: matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
111
+ uses: codecov/codecov-action@v5
112
+ with:
113
+ files: artifacts/coverage/coverage.xml
114
+ flags: py${{ matrix.python-version }}-${{ matrix.os }}
115
+ name: py${{ matrix.python-version }}-${{ matrix.os }}
116
+ token: ${{ secrets.CODECOV_TOKEN }}
117
+ skip_validation: true
118
+ fail_ci_if_error: true
119
+
120
+ pr-build:
121
+ if: github.event_name == 'pull_request'
122
+ runs-on: ${{ matrix.os }}
123
+ strategy:
124
+ fail-fast: false
125
+ matrix:
126
+ os: [ubuntu-latest, ubuntu-24.04-arm, macos-15]
127
+ python-version: ["3.12"]
128
+ steps: *build-steps
129
+
130
+ build-package:
131
+ name: Build Python package
132
+ if: >
133
+ always() &&
134
+ (github.event_name == 'push' || github.event_name == 'workflow_dispatch') &&
135
+ (
136
+ needs.build.result == 'success' ||
137
+ (
138
+ github.event_name == 'workflow_dispatch' &&
139
+ !inputs['run-tests'] &&
140
+ needs.build.result == 'skipped'
141
+ )
142
+ )
143
+ needs: build
144
+ runs-on: ubuntu-latest
145
+ steps:
146
+ - name: Checkout XTC Repository
147
+ uses: actions/checkout@v5
148
+ with:
149
+ fetch-depth: 0
150
+ - name: Set up Python 3.12
151
+ uses: actions/setup-python@v6
152
+ with:
153
+ python-version: "3.12"
154
+ cache: pip
155
+ - name: Check release tag
156
+ if: startsWith(github.ref, 'refs/tags/')
157
+ run: |
158
+ if [[ ! "${GITHUB_REF_NAME}" =~ ^xtc-v([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
159
+ echo "::error::Release tags must have the form xtc-vX.Y.Z"
160
+ exit 1
161
+ fi
162
+ git fetch origin main
163
+ if ! git merge-base --is-ancestor "${GITHUB_SHA}" origin/main; then
164
+ echo "::error::Release tag must point to a commit on main"
165
+ exit 1
166
+ fi
167
+ - name: Build and check package
168
+ env:
169
+ RELEASE_TAG: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || '' }}
170
+ run: make wheel
171
+ - name: Upload package distributions
172
+ uses: actions/upload-artifact@v5
173
+ with:
174
+ name: python-package-distributions
175
+ path: dist/
176
+ if-no-files-found: error
177
+
178
+ pages:
179
+ name: Build and deploy Pages
180
+ needs: [build, pr-build]
181
+ if: |
182
+ always() &&
183
+ (github.event_name != 'workflow_dispatch' || inputs['run-pages']) &&
184
+ (needs.build.result == 'success' || needs.build.result == 'skipped') &&
185
+ (needs.pr-build.result == 'success' || needs.pr-build.result == 'skipped')
186
+ permissions:
187
+ contents: read
188
+ pages: write
189
+ id-token: write
190
+ uses: ./.github/workflows/reusable-pages.yml
191
+
192
+ publish-testpypi:
193
+ name: Publish development package to TestPyPI
194
+ if: >
195
+ always() &&
196
+ needs.build-package.result == 'success' &&
197
+ github.ref == 'refs/heads/main' &&
198
+ (
199
+ github.event_name == 'push' ||
200
+ (github.event_name == 'workflow_dispatch' && inputs['publish-testpypi'])
201
+ )
202
+ needs: build-package
203
+ runs-on: ubuntu-latest
204
+ environment:
205
+ name: testpypi
206
+ url: https://test.pypi.org/p/xtc-tools
207
+ permissions:
208
+ id-token: write
209
+ steps:
210
+ - name: Download package distributions
211
+ uses: actions/download-artifact@v6
212
+ with:
213
+ name: python-package-distributions
214
+ path: dist/
215
+ - name: Publish package to TestPyPI
216
+ uses: pypa/gh-action-pypi-publish@release/v1
217
+ with:
218
+ repository-url: https://test.pypi.org/legacy/
219
+ skip-existing: true
220
+
221
+ publish-pypi:
222
+ name: Publish release package to PyPI
223
+ if: >
224
+ github.event_name == 'push' &&
225
+ startsWith(github.ref, 'refs/tags/xtc-v')
226
+ needs: build-package
227
+ runs-on: ubuntu-latest
228
+ environment:
229
+ name: pypi
230
+ url: https://pypi.org/p/xtc-tools
231
+ permissions:
232
+ id-token: write
233
+ steps:
234
+ - name: Download package distributions
235
+ uses: actions/download-artifact@v6
236
+ with:
237
+ name: python-package-distributions
238
+ path: dist/
239
+ - name: Publish package to PyPI
240
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,18 @@
1
+ __pycache__
2
+ __marimo__
3
+ *.so
4
+ *.csv
5
+ *.dylib
6
+ *.a
7
+ venv
8
+ .venv
9
+ build
10
+ dist
11
+ *egg-info*
12
+ data
13
+ .lit_test_times.txt
14
+ public
15
+ tmp.*
16
+ save_temps_dir
17
+ .vscode
18
+ CLAUDE.md
@@ -0,0 +1,28 @@
1
+ BSD-3-Clause License
2
+
3
+ Copyright (c) 2024-2026 The XTC Project Authors
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,2 @@
1
+ SPDX-License-Identifier: BSD-3-Clause
2
+ Copyright (c) 2024-2026 The XTC Project Authors
@@ -0,0 +1,109 @@
1
+ help:
2
+ @echo "Available make targets:"
3
+ @echo
4
+ @echo " make test # run minimal tests"
5
+ @echo " make check # run all acceptance tests (all targets below)"
6
+ @echo " make check-format # run all format checks tests"
7
+ @echo " make check-type # run all type checks tests"
8
+ @echo " make check-dependencies # check that pyproject.toml is up to date
9
+ @echo " make check-lit # run all lit checks for binary target"
10
+ @echo " make check-lit-c # run all lit checks for C target"
11
+ @echo " make check-lit-nvgpu # run all lit checks for NVGPU target"
12
+ @echo " make check-pytest # run all pytest tests"
13
+ @echo " make check-banwords # run banned words checks"
14
+ @echo " make check-tutorials # run tutorials checks
15
+ @echo " make format # apply formatting (warning: change files in place)"
16
+ @echo " make format-license # add licenses"
17
+ @echo " make format-ruff # format python files with ruff"
18
+ @echo " make dependencies # update pyproject.toml dependencies from dependencies.toml
19
+ @echo " make wheel # install build tools, build and check distributions"
20
+ @echo " make pages # build the documentation site"
21
+ @echo " make agents # create AGENTS.md"
22
+ @echo " make claude # create CLAUDE.md"
23
+ @echo
24
+
25
+
26
+ test:
27
+ pytest tests/pytest/unit tests/pytest/mlir tests/pytest/tvm tests/pytest/jir
28
+
29
+ check: check-format check-banwords check-type check-dependencies check-lit-all check-pytest check-tutorials
30
+
31
+ format: format-license format-ruff
32
+
33
+ check-format: check-format-ruff check-license
34
+
35
+ check-format-ruff:
36
+ scripts/ruff/format.sh --check
37
+
38
+ check-license:
39
+ scripts/licensing/licensing.py --check
40
+
41
+ check-banwords:
42
+ scripts/banwords/banwords.py --check
43
+
44
+ check-type: check-pyright check-mypy
45
+
46
+ check-pyright:
47
+ pyright
48
+
49
+ check-mypy:
50
+ mypy
51
+
52
+ check-dependencies:
53
+ scripts/pyproject/update_dependencies.py --check
54
+
55
+ check-lit-all:
56
+ $(MAKE) check-lit
57
+ $(MAKE) check-lit-c
58
+
59
+ check-lit:
60
+ lit -v tests/filecheck
61
+
62
+ check-lit-c:
63
+ env XTC_MLIR_TARGET=c lit -v tests/filecheck/backends tests/filecheck/mlir_loop
64
+
65
+ check-lit-nvgpu:
66
+ [ `uname -s` = Darwin ] || env XTC_MLIR_TARGET=nvgpu lit -v tests/filecheck/backends tests/filecheck/mlir_loop tests/filecheck/evaluation
67
+
68
+ check-lit-mppa:
69
+ [ `uname -s` = Darwin ] || env XTC_MLIR_TARGET=mppa lit -v -j 1 tests/filecheck/backends/target_mppa tests/filecheck/evaluation/test_matmul_pmu_counters_mppa.py
70
+
71
+ check-pytest:
72
+ scripts/pytest/run_pytest.sh -v
73
+
74
+ check-tutorials:
75
+ scripts/tutorials/test_marimos.sh
76
+ scripts/tutorials/test_tutorial_explore_optimizers.sh
77
+ scripts/tutorials/test_tutorial_xtc_101.sh
78
+
79
+ format-ruff:
80
+ scripts/ruff/format.sh
81
+
82
+ format-license:
83
+ scripts/licensing/licensing.py --apply
84
+
85
+ dependencies:
86
+ scripts/pyproject/update_dependencies.py
87
+
88
+ wheel:
89
+ python -m ensurepip --upgrade
90
+ python -m pip install --upgrade build twine
91
+ rm -rf build dist src/*.egg-info
92
+ python -m build
93
+ python -m twine check dist/*
94
+ python scripts/pyproject/check_wheel.py
95
+
96
+ pages:
97
+ $(MAKE) -C docs/site site
98
+
99
+ agents:
100
+ scripts/llms/init_agents.py agents README.md "Links" "AI assistants" > AGENTS.md
101
+
102
+ claude:
103
+ scripts/llms/init_agents.py claude README.md "Links" "AI assistants" > CLAUDE.md
104
+
105
+ run-tutorial:
106
+ marimo run docs/tutorials/xtc_101.py
107
+
108
+ .PHONY: help test check check-lit-all check-lit check-lit-c check-lit-nvpgu check-pytest check-type check-pyright check-mypy check-format check-format-ruff check-license check-banwords format format-ruff format-license agents claude check-tutorials run-tutorial check-dependencies dependencies wheel pages
109
+ .SUFFIXES: