tico 0.2.0.dev260701__tar.gz → 0.2.0.dev260702__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 (448) hide show
  1. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/PKG-INFO +70 -320
  2. tico-0.2.0.dev260702/README.md +131 -0
  3. tico-0.2.0.dev260702/tico/_version.py +1 -0
  4. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/gemma4_builders.py +3 -3
  5. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/cases/qwen3_vl.py +6 -1
  6. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/PKG-INFO +70 -320
  7. tico-0.2.0.dev260701/README.md +0 -381
  8. tico-0.2.0.dev260701/tico/_version.py +0 -1
  9. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/LICENSE +0 -0
  10. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/pyproject.toml +0 -0
  11. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/setup.cfg +0 -0
  12. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/__init__.py +0 -0
  13. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/config/__init__.py +0 -0
  14. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/config/base.py +0 -0
  15. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/config/factory.py +0 -0
  16. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/config/v1.py +0 -0
  17. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/experimental/__init__.py +0 -0
  18. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/interpreter/__init__.py +0 -0
  19. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/interpreter/infer.py +0 -0
  20. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/interpreter/interpreter.py +0 -0
  21. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/__init__.py +0 -0
  22. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/cast_aten_where_arg_type.py +0 -0
  23. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/cast_clamp_mixed_type_args.py +0 -0
  24. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/cast_mixed_type_args.py +0 -0
  25. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/const_prop_pass.py +0 -0
  26. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_conv1d_to_conv2d.py +0 -0
  27. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_conv3d_to_conv2d.py +0 -0
  28. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_expand_to_slice_cat.py +0 -0
  29. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_gather_to_gather_nd.py +0 -0
  30. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_layout_op_to_reshape.py +0 -0
  31. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_matmul_to_linear.py +0 -0
  32. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_repeat_to_expand_copy.py +0 -0
  33. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_sym_size_to_circle_shape.py +0 -0
  34. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/convert_to_relu6.py +0 -0
  35. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_addmm.py +0 -0
  36. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_batch_norm.py +0 -0
  37. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_fake_quantize.py +0 -0
  38. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_fake_quantize_tensor_qparams.py +0 -0
  39. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_group_norm.py +0 -0
  40. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_grouped_conv2d.py +0 -0
  41. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/decompose_slice_scatter.py +0 -0
  42. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/eliminate_rank_round_trip_region.py +0 -0
  43. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/extract_dtype_kwargs.py +0 -0
  44. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/fill_meta_val.py +0 -0
  45. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/fuse_leading_unsqueeze_reshape.py +0 -0
  46. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/fuse_redundant_reshape_to_mean.py +0 -0
  47. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/legalize_causal_mask_value.py +0 -0
  48. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/legalize_predefined_layout_operators.py +0 -0
  49. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/lower_copy.py +0 -0
  50. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/lower_pow2_to_mul.py +0 -0
  51. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/lower_to_resize_nearest_neighbor.py +0 -0
  52. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/lower_to_slice.py +0 -0
  53. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/merge_consecutive_cat.py +0 -0
  54. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/ops.py +0 -0
  55. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_nop.py +0 -0
  56. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_assert_nodes.py +0 -0
  57. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_expand.py +0 -0
  58. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_permute.py +0 -0
  59. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_reshape.py +0 -0
  60. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_slice.py +0 -0
  61. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_redundant_to_copy.py +0 -0
  62. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/remove_unused_placeholder.py +0 -0
  63. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/restore_linear.py +0 -0
  64. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/passes/segment_index_select.py +0 -0
  65. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/pt2_to_circle.py +0 -0
  66. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/__init__.py +0 -0
  67. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/__init__.py +0 -0
  68. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/cle/__init__.py +0 -0
  69. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/cle/cle.py +0 -0
  70. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/cle/quantizer.py +0 -0
  71. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/fpi_gptq/__init__.py +0 -0
  72. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/fpi_gptq/fpi_gptq.py +0 -0
  73. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/fpi_gptq/quantizer.py +0 -0
  74. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/fpi_gptq/util.py +0 -0
  75. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/gptq/__init__.py +0 -0
  76. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/gptq/gptq.py +0 -0
  77. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/gptq/quant.py +0 -0
  78. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/gptq/quantizer.py +0 -0
  79. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/gptq/utils.py +0 -0
  80. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/qwen3_vl_gptq/__init__.py +0 -0
  81. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py +0 -0
  82. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/qwen3_vl_gptq/quantizer.py +0 -0
  83. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/qwen3_vl_gptq/utils.py +0 -0
  84. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/smoothquant/__init__.py +0 -0
  85. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/smoothquant/observer.py +0 -0
  86. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/smoothquant/quantizer.py +0 -0
  87. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/smoothquant/smooth_quant.py +0 -0
  88. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/__init__.py +0 -0
  89. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/fuse_norm_utils.py +0 -0
  90. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/hadamard_utils.py +0 -0
  91. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/quantizer.py +0 -0
  92. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/qwen3_vl_model_utils.py +0 -0
  93. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/qwen3_vl_quantizer.py +0 -0
  94. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/qwen3_vl_rotation_utils.py +0 -0
  95. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/rotation_utils.py +0 -0
  96. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/spin_llama.py +0 -0
  97. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/algorithm/spinquant/spin_qwen3_vl.py +0 -0
  98. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/__init__.py +0 -0
  99. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/base.py +0 -0
  100. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/builders.py +0 -0
  101. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/cle.py +0 -0
  102. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/fpi_gptq.py +0 -0
  103. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/gptq.py +0 -0
  104. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/llama_attention.py +0 -0
  105. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/ptq.py +0 -0
  106. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/qwen3_vl_gptq.py +0 -0
  107. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/qwen3_vl_spinquant.py +0 -0
  108. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/smoothquant.py +0 -0
  109. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/specs.py +0 -0
  110. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/spinquant.py +0 -0
  111. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/config/utils.py +0 -0
  112. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/__init__.py +0 -0
  113. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/backend.py +0 -0
  114. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/evaluate.py +0 -0
  115. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/executor/__init__.py +0 -0
  116. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/executor/backend_executor.py +0 -0
  117. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/executor/circle_executor.py +0 -0
  118. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/executor/triv24_executor.py +0 -0
  119. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/hellaswag_eval_utils.py +0 -0
  120. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/llava_bench_judge_eval_utils.py +0 -0
  121. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/lmms_eval_utils.py +0 -0
  122. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/lmms_tasks/videomme_mini/utils.py +0 -0
  123. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/metric.py +0 -0
  124. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/mmlu_eval_utils.py +0 -0
  125. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/mmmu_eval_utils.py +0 -0
  126. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/optional_deps.py +0 -0
  127. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/script/llm_tasks_eval.py +0 -0
  128. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/script/mini_vqa_eval.py +0 -0
  129. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/utils.py +0 -0
  130. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/evaluation/vlm_eval_utils.py +0 -0
  131. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/examples/__init__.py +0 -0
  132. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/examples/configs/__init__.py +0 -0
  133. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/examples/evaluate.py +0 -0
  134. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/examples/inspect.py +0 -0
  135. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/examples/quantize.py +0 -0
  136. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/__init__.py +0 -0
  137. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/fold_quant_ops.py +0 -0
  138. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/insert_quantize_on_dtype_mismatch.py +0 -0
  139. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/propagate_qparam_backward.py +0 -0
  140. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/propagate_qparam_forward.py +0 -0
  141. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/qparam_safe_const_prop.py +0 -0
  142. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/quantize_bias.py +0 -0
  143. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/passes/remove_weight_dequant_op.py +0 -0
  144. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/public_interface.py +0 -0
  145. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/quantizer.py +0 -0
  146. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/quantizer_registry.py +0 -0
  147. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/__init__.py +0 -0
  148. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/adapters/__init__.py +0 -0
  149. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/adapters/base.py +0 -0
  150. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/adapters/gemma4.py +0 -0
  151. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/adapters/llama.py +0 -0
  152. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/adapters/qwen3_vl.py +0 -0
  153. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/config.py +0 -0
  154. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/context.py +0 -0
  155. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/data/__init__.py +0 -0
  156. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/data/llm.py +0 -0
  157. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/data/vlm.py +0 -0
  158. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/__init__.py +0 -0
  159. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/static_gemma4_runtime.py +0 -0
  160. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/static_llama_runtime.py +0 -0
  161. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/static_qwen3_vl_runtime.py +0 -0
  162. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/tied_embedding.py +0 -0
  163. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/trace.py +0 -0
  164. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/__init__.py +0 -0
  165. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/case.py +0 -0
  166. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/cases/__init__.py +0 -0
  167. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4.py +0 -0
  168. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/cases/llama.py +0 -0
  169. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/cases/nn.py +0 -0
  170. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/registry.py +0 -0
  171. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/result.py +0 -0
  172. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/runner.py +0 -0
  173. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/debug/wrapper_smoke/utils.py +0 -0
  174. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/__init__.py +0 -0
  175. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/hellaswag.py +0 -0
  176. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/llava_bench_judge.py +0 -0
  177. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/llm.py +0 -0
  178. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/mmlu.py +0 -0
  179. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/mmmu.py +0 -0
  180. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/video_mme.py +0 -0
  181. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/evaluation/vlm.py +0 -0
  182. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/export/__init__.py +0 -0
  183. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/export/checkpoint.py +0 -0
  184. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/export/circle.py +0 -0
  185. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/export/llama.py +0 -0
  186. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/qparams.py +0 -0
  187. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/runner.py +0 -0
  188. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/__init__.py +0 -0
  189. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/base.py +0 -0
  190. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/cle.py +0 -0
  191. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/gptq.py +0 -0
  192. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/ptq.py +0 -0
  193. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/smoothquant.py +0 -0
  194. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/stages/spinquant.py +0 -0
  195. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/recipes/utils.py +0 -0
  196. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/__init__.py +0 -0
  197. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/dtypes.py +0 -0
  198. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/__init__.py +0 -0
  199. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/compare_ppl.py +0 -0
  200. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/debug_quant_outputs.py +0 -0
  201. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/evaluate_fk_llama_model.py +0 -0
  202. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/__init__.py +0 -0
  203. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_model.py +0 -0
  204. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_multimodal_embedder.py +0 -0
  205. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_text_scaled_word_embedding.py +0 -0
  206. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_vision_model.py +0 -0
  207. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_vision_patch_embedder.py +0 -0
  208. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/gemma4/quantize_vision_pooler.py +0 -0
  209. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/__init__.py +0 -0
  210. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/quantize_attention_decode.py +0 -0
  211. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/quantize_attention_prefill.py +0 -0
  212. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_decode.py +0 -0
  213. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_prefill.py +0 -0
  214. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/llama/quantize_mlp.py +0 -0
  215. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/__init__.py +0 -0
  216. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/quantize_conv3d.py +0 -0
  217. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/quantize_conv3d_special_case.py +0 -0
  218. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/quantize_layernorm.py +0 -0
  219. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/quantize_linear.py +0 -0
  220. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/nn/quantize_tied_embedding.py +0 -0
  221. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/quantize_full_qmodel_with_gptq.py +0 -0
  222. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/quantize_qwen3_vl_with_gptq.py +0 -0
  223. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/quantize_with_gptq.py +0 -0
  224. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/__init__.py +0 -0
  225. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_for_conditional_generation.py +0 -0
  226. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_model.py +0 -0
  227. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_text_attention.py +0 -0
  228. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_text_decoder_layer.py +0 -0
  229. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_text_mlp.py +0 -0
  230. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_text_model.py +0 -0
  231. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_attention.py +0 -0
  232. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_block.py +0 -0
  233. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_mlp.py +0 -0
  234. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_model.py +0 -0
  235. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_embed.py +0 -0
  236. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_merger.py +0 -0
  237. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/qwen/trace_qwen.py +0 -0
  238. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/examples/static_llama_layer_runtime.py +0 -0
  239. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/mode.py +0 -0
  240. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/__init__.py +0 -0
  241. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/affine_base.py +0 -0
  242. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/base.py +0 -0
  243. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/ema.py +0 -0
  244. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/identity.py +0 -0
  245. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/minmax.py +0 -0
  246. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/observers/mx.py +0 -0
  247. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/qscheme.py +0 -0
  248. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/quantizer.py +0 -0
  249. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/__init__.py +0 -0
  250. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/check_missing_qparam.py +0 -0
  251. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/introspection.py +0 -0
  252. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/metrics.py +0 -0
  253. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/reduce_utils.py +0 -0
  254. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/utils.py +0 -0
  255. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/utils/version.py +0 -0
  256. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrap_helper.py +0 -0
  257. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/__init__.py +0 -0
  258. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/__init__.py +0 -0
  259. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/decoder_export_single_step.py +0 -0
  260. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder.py +0 -0
  261. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder_layer.py +0 -0
  262. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder.py +0 -0
  263. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder_layer.py +0 -0
  264. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/fairseq/quant_mha.py +0 -0
  265. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/__init__.py +0 -0
  266. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/export_adapters.py +0 -0
  267. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_clippable_linear.py +0 -0
  268. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_for_causal_lm.py +0 -0
  269. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_for_conditional_generation.py +0 -0
  270. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_model.py +0 -0
  271. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_multimodal_embedder.py +0 -0
  272. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_rmsnorm.py +0 -0
  273. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_text_attention.py +0 -0
  274. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_text_decoder_layer.py +0 -0
  275. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_text_mlp.py +0 -0
  276. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_text_model.py +0 -0
  277. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_text_scaled_word_embedding.py +0 -0
  278. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_attention.py +0 -0
  279. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder.py +0 -0
  280. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder_layer.py +0 -0
  281. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_mlp.py +0 -0
  282. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_model.py +0 -0
  283. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_patch_embedder.py +0 -0
  284. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_pooler.py +0 -0
  285. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/gemma4/utils.py +0 -0
  286. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/__init__.py +0 -0
  287. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/export_adapters.py +0 -0
  288. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/quant_attention.py +0 -0
  289. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/quant_decoder_layer.py +0 -0
  290. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/quant_mlp.py +0 -0
  291. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/quant_model.py +0 -0
  292. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/llama/quant_model_for_causal_lm.py +0 -0
  293. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/__init__.py +0 -0
  294. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_conv3d.py +0 -0
  295. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_conv3d_decomposed.py +0 -0
  296. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_embedding.py +0 -0
  297. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_layernorm.py +0 -0
  298. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_linear.py +0 -0
  299. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/nn/quant_silu.py +0 -0
  300. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/ops/__init__.py +0 -0
  301. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/ops/quant_rmsnorm.py +0 -0
  302. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/ptq_wrapper.py +0 -0
  303. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/quant_elementwise.py +0 -0
  304. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/quant_module_base.py +0 -0
  305. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/export_adapters.py +0 -0
  306. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_for_conditional_generation.py +0 -0
  307. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_model.py +0 -0
  308. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attention.py +0 -0
  309. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_decoder_layer.py +0 -0
  310. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_mlp.py +0 -0
  311. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_model.py +0 -0
  312. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_attention.py +0 -0
  313. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_block.py +0 -0
  314. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py +0 -0
  315. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_model.py +0 -0
  316. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_embed.py +0 -0
  317. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_merger.py +0 -0
  318. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/quantization/wrapq/wrappers/registry.py +0 -0
  319. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/__init__.py +0 -0
  320. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/circle_graph.py +0 -0
  321. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/circle_mapping.py +0 -0
  322. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/circle_serializer.py +0 -0
  323. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/__init__.py +0 -0
  324. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/adapters/__init__.py +0 -0
  325. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/adapters/llama_rmsnorm.py +0 -0
  326. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/adapters/onert/__init__.py +0 -0
  327. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/adapters/onert/llama_attention.py +0 -0
  328. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/hashable_opcode.py +0 -0
  329. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/node_visitor.py +0 -0
  330. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_abs.py +0 -0
  331. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_add.py +0 -0
  332. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_alias_copy.py +0 -0
  333. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_any.py +0 -0
  334. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_arange_start_step.py +0 -0
  335. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_argmax.py +0 -0
  336. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_attention.py +0 -0
  337. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_avg_pool2d.py +0 -0
  338. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_bmm.py +0 -0
  339. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_cat.py +0 -0
  340. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_circle_gather_nd.py +0 -0
  341. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_circle_shape.py +0 -0
  342. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_clamp.py +0 -0
  343. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_clone.py +0 -0
  344. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_constant_pad_nd.py +0 -0
  345. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_conv2d.py +0 -0
  346. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_cos.py +0 -0
  347. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_cumsum.py +0 -0
  348. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_depthwise_conv2d.py +0 -0
  349. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_dequantize_per_channel.py +0 -0
  350. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_dequantize_per_tensor.py +0 -0
  351. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_div.py +0 -0
  352. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_elu.py +0 -0
  353. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_embedding.py +0 -0
  354. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_eq.py +0 -0
  355. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_exp.py +0 -0
  356. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_expand.py +0 -0
  357. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_full.py +0 -0
  358. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_full_like.py +0 -0
  359. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_ge.py +0 -0
  360. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_gelu.py +0 -0
  361. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_gt.py +0 -0
  362. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_index.py +0 -0
  363. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_index_select.py +0 -0
  364. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_instance_norm.py +0 -0
  365. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_le.py +0 -0
  366. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_leaky_relu.py +0 -0
  367. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_linear.py +0 -0
  368. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_log.py +0 -0
  369. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_log1p.py +0 -0
  370. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_logical_and.py +0 -0
  371. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_logical_not.py +0 -0
  372. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_lt.py +0 -0
  373. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_max_dim.py +0 -0
  374. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_max_pool2d_with_indices.py +0 -0
  375. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_maximum.py +0 -0
  376. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_mean.py +0 -0
  377. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_minimum.py +0 -0
  378. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_mm.py +0 -0
  379. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_mul.py +0 -0
  380. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_ne.py +0 -0
  381. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_neg.py +0 -0
  382. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_permute.py +0 -0
  383. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_pow.py +0 -0
  384. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_prelu.py +0 -0
  385. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_quantize_per_tensor.py +0 -0
  386. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_reciprocal.py +0 -0
  387. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_relu.py +0 -0
  388. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_relu6.py +0 -0
  389. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_repeat.py +0 -0
  390. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_reshape.py +0 -0
  391. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_resize_nearest_neighbor.py +0 -0
  392. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_rmsnorm.py +0 -0
  393. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_round.py +0 -0
  394. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_rsqrt.py +0 -0
  395. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_scalar_tensor.py +0 -0
  396. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_select_copy.py +0 -0
  397. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_sigmoid.py +0 -0
  398. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_sin.py +0 -0
  399. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_slice.py +0 -0
  400. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_softmax.py +0 -0
  401. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_split_with_sizes.py +0 -0
  402. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_sqrt.py +0 -0
  403. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_squeeze.py +0 -0
  404. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_sub.py +0 -0
  405. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_sum.py +0 -0
  406. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_tanh.py +0 -0
  407. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_to_copy.py +0 -0
  408. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_transpose_conv.py +0 -0
  409. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_unsqueeze.py +0 -0
  410. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_view.py +0 -0
  411. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/op_where.py +0 -0
  412. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/operators/utils.py +0 -0
  413. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/pack.py +0 -0
  414. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/serialize/quant_param.py +0 -0
  415. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/__init__.py +0 -0
  416. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/compat/__init__.py +0 -0
  417. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/compat/torch.py +0 -0
  418. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/compat/transformers.py +0 -0
  419. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/convert.py +0 -0
  420. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/define.py +0 -0
  421. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/diff_graph.py +0 -0
  422. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/dtype.py +0 -0
  423. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/errors.py +0 -0
  424. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/graph.py +0 -0
  425. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/installed_packages.py +0 -0
  426. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/logging.py +0 -0
  427. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/model.py +0 -0
  428. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/mx/__init__.py +0 -0
  429. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/mx/dtypes.py +0 -0
  430. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/mx/elemwise_ops.py +0 -0
  431. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/mx/formats.py +0 -0
  432. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/mx/mx_ops.py +0 -0
  433. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/padding.py +0 -0
  434. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/passes.py +0 -0
  435. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/pytree_utils.py +0 -0
  436. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/record_input.py +0 -0
  437. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/register_custom_op.py +0 -0
  438. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/serialize.py +0 -0
  439. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/signature.py +0 -0
  440. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/trace_decorators.py +0 -0
  441. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/utils.py +0 -0
  442. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/validate_args_kwargs.py +0 -0
  443. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico/utils/version.py +0 -0
  444. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/SOURCES.txt +0 -0
  445. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/dependency_links.txt +0 -0
  446. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/entry_points.txt +0 -0
  447. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/requires.txt +0 -0
  448. {tico-0.2.0.dev260701 → tico-0.2.0.dev260702}/tico.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tico
3
- Version: 0.2.0.dev260701
3
+ Version: 0.2.0.dev260702
4
4
  Summary: Convert Exported Torch Module To Circle
5
5
  License: This file provides full text of licenses used in this project
6
6
 
@@ -257,91 +257,62 @@ Dynamic: license-file
257
257
 
258
258
  # TICO
259
259
 
260
- _TICO_ (Torch IR to Circle [ONE](https://github.com/Samsung/ONE)) is a python library for converting
261
- Pytorch modules into a circle model that is a lightweight and efficient representation in ONE
262
- designed for optimized on-device neural network inference.
260
+ _TICO_ (**T**orch **I**R to **C**ircle [ONE](https://github.com/Samsung/ONE)) is a Python
261
+ library that converts PyTorch modules into Circle models a lightweight and efficient
262
+ representation in ONE designed for optimized on-device neural network inference.
263
263
 
264
- ## Table of Contents
264
+ ## Highlights
265
265
 
266
- ### For Users
266
+ - **One-call conversion** — `tico.convert()` turns an `nn.Module` into a ready-to-deploy `.circle` binary.
267
+ - **`.pt2` support** — convert saved `torch.export` programs via the Python API or the `pt2-to-circle` command-line tool.
268
+ - **Run Circle models in Python** — execute converted models directly for quick parity checks against PyTorch.
269
+ - **Quantization toolkit** — a unified `prepare`/`convert` API with GPTQ, PTQ (WrapQ), SmoothQuant, SpinQuant, and CLE, plus config-driven CLI recipes for LLMs and VLMs.
267
270
 
268
- - [Installation](#installation)
269
- - [Getting Started](#getting-started)
270
- - [From torch module](#from-torch-module)
271
- - [From .pt2](#from-pt2)
272
- - [Running circle models directly in Python](#running-circle-models-directly-in-python)
273
- - [Quantization](#quantization)
271
+ ## Installation
274
272
 
275
- ### For Developers
273
+ ### Prerequisites
276
274
 
277
- - [Testing & Code Formatting](#testing--code-formatting)
278
- - [Testing](#testing)
279
- - [Code Formatting](#code-formatting)
275
+ - Python **3.10+**
276
+ - (Optional) [one-compiler](https://github.com/Samsung/ONE/releases) — only required to run
277
+ inference with converted Circle models. Conversion itself does not need it.
280
278
 
281
- ## For Users
279
+ We highly recommend using a virtual environment (e.g., conda, venv).
282
280
 
283
- ### Installation
284
-
285
- 0. Prerequisites
286
-
287
- - Python 3.10
288
- - (Optional) [one-compiler 1.30.0](https://github.com/Samsung/ONE/releases/tag/1.30.0)
289
- - It is only required if you intend to run inference with the converted Circle model. If you are only converting models without running them, this dependency is not needed.
290
-
291
- We highly recommend to use a virtual env, e.g., conda.
292
-
293
- 1. Clone this repo
294
-
295
- 2. Build python package
281
+ ### From PyPI
296
282
 
297
283
  ```bash
298
- ./ccex build
284
+ pip install tico
299
285
  ```
300
286
 
301
- This will generate `build` and `dist` directories in the root directory.
302
-
303
- 3. Install generated package
287
+ ### From source
304
288
 
305
289
  ```bash
306
- ./ccex install
307
- ```
308
-
309
- **Available options**
310
- - `--dist` To install the package from .whl (without this option, _TICO_ is installed in an editable mode)
311
- - `--torch_ver <torch version>` To install a specific torch version (default: 2.6).
312
- - Available <torch version>: 2.5, 2.6, 2.7, 2.8, nightly
290
+ git clone https://github.com/Samsung/TICO.git
291
+ cd TICO
313
292
 
314
- 4. Now you can convert a torch module to a `.circle`.
293
+ ./ccex build # generates build/ and dist/
294
+ ./ccex install # installs the package
295
+ ```
315
296
 
316
- ### Getting started
297
+ **`./ccex install` options**
317
298
 
318
- This tutorial explains how you can use _TICO_ to generate a circle model from a torch module.
299
+ | Option | Description |
300
+ |---|---|
301
+ | `--dist` | Install from the built wheel (default is editable mode) |
302
+ | `--torch_ver <ver>` | Torch version to install: a family (`2.5` ~ `2.10`), an exact version (e.g. `2.7.0+cu118`), or `nightly`. Default: `2.7` |
303
+ | `--cuda_ver <maj.min>` | Override the detected CUDA version (e.g. `12.1`) |
304
+ | `--cpu_only` | Force a CPU-only Torch installation |
319
305
 
320
- Let's assume we have a torch module.
306
+ ## Quick start
321
307
 
322
308
  ```python
323
309
  import tico
324
310
  import torch
325
311
 
326
312
  class AddModule(torch.nn.Module):
327
- def __init__(self):
328
- super().__init__()
329
-
330
313
  def forward(self, x, y):
331
314
  return x + y
332
- ```
333
-
334
- **NOTE**
335
- _TICO_ internally uses [torch.export](https://pytorch.org/docs/stable/export.html#torch-export).
336
- Therefore, the torch module must be 'export'able. Please see
337
- [this document](https://pytorch.org/docs/stable/export.html#limitations-of-torch-export)
338
- if you have any trouble to export.
339
315
 
340
- #### From torch module
341
-
342
- You can convert a torch module to a circle model with these steps.
343
-
344
- ```python
345
316
  torch_module = AddModule()
346
317
  example_inputs = (torch.ones(4), torch.ones(4))
347
318
 
@@ -349,290 +320,69 @@ circle_model = tico.convert(torch_module.eval(), example_inputs)
349
320
  circle_model.save('add.circle')
350
321
  ```
351
322
 
352
- **NOTE**
353
- Please make sure to call `eval()` on the PyTorch module before passing it to our API.
354
- This ensures the model runs in inference mode, disabling layers like dropout and
355
- batch normalization updates.
356
-
357
- **Compile with configuration**
358
-
359
- ```python
360
- from test.modules.op.add import AddWithCausalMaskFolded
361
-
362
- torch_module = AddWithCausalMaskFolded()
363
- example_inputs = torch_module.get_example_inputs()
364
-
365
- config = tico.CompileConfigV1()
366
- config.legalize_causal_mask_value = True
367
- circle_model = tico.convert(torch_module, example_inputs, config = config)
368
- circle_model.save('add_causal_mask_m120.circle')
369
- ```
370
-
371
- With `legalize_causal_mask_value` option on, causal mask value is converted from
372
- -inf to -120, creating a more quantization-friendly circle model with the cost of
373
- slight accuracy drop.
374
-
375
- #### From .pt2
376
-
377
- The torch module can be exported and saved as `.pt2` file (from PyTorch 2.1).
378
-
379
- ```python
380
- module = AddModule()
381
- example_inputs = (torch.ones(4), torch.ones(4))
382
-
383
- exported_program = torch.export.export(module, example_inputs)
384
- torch.export.save(exported_program, 'add.pt2')
385
- ```
386
-
387
- There are two ways to convert `.pt2` file: python api, command line tool.
388
-
389
- - Python API
390
-
391
- ```python
392
- circle_model = tico.convert_from_pt2('add.pt2')
393
- circle_model.save('add.circle')
394
- ```
323
+ > [!NOTE]
324
+ > Call `eval()` on the module before conversion. _TICO_ internally uses
325
+ > [`torch.export`](https://pytorch.org/docs/stable/export.html#torch-export), so the module
326
+ > must be export-able.
395
327
 
396
- - Command Line Tool
328
+ Converting a saved `.pt2` file from the command line:
397
329
 
398
330
  ```bash
399
331
  pt2-to-circle -i add.pt2 -o add.circle
400
332
  ```
401
333
 
402
- - Command Line Tool with configuration
403
-
404
- ```bash
405
- pt2-to-circle -i add.pt2 -o add.circle -c config.yaml
406
- ```
407
-
408
- ```yaml
409
- # config.yaml
410
-
411
- version: '1.0' # You must specify the config version.
412
- legalize_causal_mask_value: True
413
- ```
414
-
415
- #### Running circle models directly in Python
416
-
417
- After circle export, you can run the model directly in Python.
418
-
419
- Note that you should install one-compiler package first.
420
-
421
- The output types are numpy.ndarray.
422
-
423
- ```python
424
- torch_module = AddModule()
425
- example_inputs = (torch.ones(4), torch.ones(4))
426
-
427
- circle_model = tico.convert(torch_module, example_inputs)
428
- circle_model(*example_inputs)
429
- # numpy.ndarray([2., 2., 2., 2.], dtype=float32)
430
- ```
431
-
432
- ### Quantization
334
+ See the [Getting Started guide](./docs/getting_started.md) for compile configurations,
335
+ `.pt2` conversion, and running Circle models directly in Python.
433
336
 
434
- The `tico.quantization` module provides a unified and modular interface for quantizing
435
- large language models (LLMs) and other neural networks.
436
-
437
- It introduces a simple two-step workflow — **prepare** and **convert** — that
438
- abstracts the details of different quantization algorithms.
337
+ ## Quantization
439
338
 
440
- #### Basic Usage
339
+ The [`tico.quantization`](./tico/quantization/README.md) module provides a unified,
340
+ modular interface for quantizing neural networks — including large language models —
341
+ through a simple two-step **prepare** → **convert** workflow:
441
342
 
442
343
  ```python
443
344
  from tico.quantization import prepare, convert
444
345
  from tico.quantization.config.gptq import GPTQConfig
445
- import torch
446
- import torch.nn as nn
447
-
448
- class LinearModel(nn.Module):
449
- def __init__(self):
450
- super().__init__()
451
- self.linear = nn.Linear(8, 8)
452
-
453
- def forward(self, x):
454
- return self.linear(x)
455
-
456
- model = LinearModel().eval()
457
346
 
458
- # 1. Prepare for quantization
459
- quant_config = GPTQConfig()
460
- prepared_model = prepare(model, quant_config)
347
+ prepared_model = prepare(model.eval(), GPTQConfig())
461
348
 
462
- # 2. Calibration
463
- for d in dataset:
349
+ for d in dataset: # calibration
464
350
  prepared_model(d)
465
351
 
466
- # 3. Apply GPTQ
467
- quantized_model = convert(prepared_model, quant_config)
352
+ quantized_model = convert(prepared_model, GPTQConfig())
468
353
  ```
469
354
 
470
- For detailed documentation, design notes, and contributing guidelines,
471
- see [tico/quantization/README.md](./tico/quantization/README.md).
355
+ - [Quantization overview](./tico/quantization/README.md) API, architecture, and how to add a new algorithm
356
+ - [Quantization algorithms](./tico/quantization/algorithm/README.md) — GPTQ, SmoothQuant, SpinQuant, CLE, …
357
+ - [Config-driven CLI examples](./tico/quantization/examples/README.md) — quantize, evaluate, and inspect LLM/VLM recipes from the command line
472
358
 
359
+ ## Documentation
473
360
 
474
- ## For Developers
361
+ ### For users
475
362
 
476
- ### Testing & Code Formatting
363
+ | Document | Description |
364
+ |---|---|
365
+ | [Getting Started](./docs/getting_started.md) | Converting modules and `.pt2` files, compile configuration, running Circle models in Python |
366
+ | [Quantization](./tico/quantization/README.md) | The `prepare`/`convert` quantization API and toolkit |
367
+ | [Quantization examples](./tico/quantization/examples/README.md) | Command-line quantization, evaluation, and debugging workflows |
477
368
 
478
- Run below commands to configure testing or formatting environment.
479
-
480
- Refer to the dedicated section to have more fine-grained control.
481
-
482
- ```bash
483
- $ ./ccex configure # to set up testing & formatting environment
484
- $ ./ccex configure format # to set up only formatting environment
485
- $ ./ccex configure test # to set up only testing environment
486
- ```
487
-
488
- **Available options**
489
- - `--torch_ver <torch version>` To install a specific torch family package(ex. torchvision) version (default: 2.6)
490
- - Available <torch version>: '2.5', '2.6', 'nightly'
491
-
492
- ```bash
493
- $ ./ccex configure # to set up testing & formatting environment with stable2.6.x version
494
- $ ./ccex configure test # to set up only testing environment with stable 2.6.x version
495
- $ ./ccex configure test --torch_ver 2.5 # to set up only testing environment with stable 2.5.x version
496
- $ ./ccex configure test --torch_ver nightly # to set up only testing environment with nightly version
497
- ```
369
+ ### For developers
498
370
 
499
- ### Testing
371
+ | Document | Description |
372
+ |---|---|
373
+ | [Development guide](./docs/development.md) | Environment setup, testing, and code formatting with `./ccex` |
374
+ | [System design](./docs/design.md) | Architecture, pass pipeline, invariants, and behavior design |
375
+ | [Requirements](./docs/requirements.md) | Functional and non-functional requirements |
376
+ | [System tests](./docs/system_test.md) | System-level test coverage |
500
377
 
501
- #### Test congifure
378
+ ## Contributing
502
379
 
503
- Run below commands to install requirements for testing.
380
+ Contributions are welcome! For quantization algorithms, start with the
381
+ [quantization contribution guide](./tico/quantization/README.md#contributing-adding-a-new-algorithm)
382
+ and the [recipes developer guide](./tico/quantization/recipes/README.md).
383
+ Before submitting a PR, set up the development environment and run the tests and
384
+ formatter as described in the [development guide](./docs/development.md).
504
385
 
505
- **NOTE** `TICO` will be installed in an editable mode.
386
+ ## License
506
387
 
507
- ```bash
508
- ./ccex configure test
509
-
510
- # without editable install
511
- ./ccex configure test --dist
512
- ```
513
-
514
- #### Test All
515
-
516
- Run below commands to run the all unit tests.
517
-
518
- **NOTE** Unit tests don't include model test.
519
-
520
- ```bash
521
- ./ccex test
522
- # OR
523
- ./ccex test run-all-tests
524
- ```
525
-
526
- #### Test Subset
527
-
528
- To run subset of `test.modules.*`,
529
- Run `./ccex test -k <keyword>`
530
-
531
-
532
- For example, to run tests in specific sub-directory (op, net, ..)
533
- ```bash
534
- # To run tests in specific sub-directory (op/, net/ ..)
535
- ./ccex test -k op
536
- ./ccex test -k net
537
-
538
- # To run tests in one file (single/op/add, single/op/sub, ...)
539
- ./ccex test -k add
540
- ./ccex test -k sub
541
-
542
- # To run SimpleAdd test in test/modules/single/op/add.py
543
- ./ccex test -k SimpleAdd
544
- ```
545
-
546
- To see the full debug log, add `-v` or `TICO_LOG=4`.
547
-
548
- ```bash
549
- TICO_LOG=4 ./ccex test -k add
550
- # OR
551
- ./ccex test -v -k add
552
- ```
553
-
554
- To dump intermediate torch graph ir as `.png`, add `TICO_GRAPH_DUMP=1`
555
-
556
- ```bash
557
- TICO_GRAPH_DUMP=1 ./ccex test -k add
558
- # Images are dumped into `$(pwd)/.tico_temp`
559
- ```
560
-
561
- #### Test Model
562
-
563
- If you want to test them locally, you can do so by navigating to each model directory,
564
- installing the dependencies listed in its `requirements.txt`, and running the tests one by one.
565
- ```bash
566
- $ pip install -r test/modules/model/<model_name>/requirements.txt
567
- # Run test for a single model
568
- $ ./ccex test -m <model_name>
569
- # Run models whose names contain "Llama" (e.g., Llama, LlamaDecoderLayer, LlamaWithGQA, etc.)
570
- # Note that you should use quotes for the wildcard(*) pattern
571
- $ ./ccex test -m "Llama*"
572
- ```
573
-
574
- For example, to run a single model
575
- ```
576
- ./ccex test -m InceptionV3
577
- ```
578
-
579
- #### Runtime Options
580
-
581
- By default, `./ccex test` runs all modules with the `circle-interpreter` engine.
582
- You can override this and run tests using the `onert` runtime instead.
583
-
584
-
585
- ##### 0. Install ONERT
586
-
587
- ```bash
588
- pip install onert
589
- ```
590
-
591
- ##### 1. Command-Line Flag
592
-
593
- Use the `--runtime` (or `-r`) flag to select a runtime:
594
-
595
- ```bash
596
- # Run with the default circle-interpreter
597
- ./ccex test
598
-
599
- # Run all tests with onert
600
- ./ccex test --runtime onert
601
- # or
602
- ./ccex test -r onert
603
- ```
604
-
605
- ##### 2. Environment Variable
606
-
607
- You can also set the `CCEX_RUNTIME` environment variable:
608
-
609
- ```bash
610
- # Temporarily override for one command
611
- CCEX_RUNTIME=onert ./ccex test
612
-
613
- # Persist in your shell session
614
- export CCEX_RUNTIME=onert
615
- ./ccex test
616
- ```
617
-
618
- ##### Supported Runtimes
619
-
620
- - circle-interpreter (default): uses the Circle interpreter for inference.
621
- - onert: uses the ONERT package for inference, useful when the Circle interpreter
622
- cannot run a given module.
623
-
624
- ### Code Formatting
625
-
626
- #### Format configure
627
-
628
- Run below commands to install requirements for formatting.
629
-
630
- ```bash
631
- ./ccex configure format
632
- ```
633
-
634
- #### Format run
635
-
636
- ```bash
637
- ./ccex format
638
- ```
388
+ Licensed under the Apache License 2.0 — see [LICENSE](./LICENSE).
@@ -0,0 +1,131 @@
1
+ # TICO
2
+
3
+ _TICO_ (**T**orch **I**R to **C**ircle [ONE](https://github.com/Samsung/ONE)) is a Python
4
+ library that converts PyTorch modules into Circle models — a lightweight and efficient
5
+ representation in ONE designed for optimized on-device neural network inference.
6
+
7
+ ## Highlights
8
+
9
+ - **One-call conversion** — `tico.convert()` turns an `nn.Module` into a ready-to-deploy `.circle` binary.
10
+ - **`.pt2` support** — convert saved `torch.export` programs via the Python API or the `pt2-to-circle` command-line tool.
11
+ - **Run Circle models in Python** — execute converted models directly for quick parity checks against PyTorch.
12
+ - **Quantization toolkit** — a unified `prepare`/`convert` API with GPTQ, PTQ (WrapQ), SmoothQuant, SpinQuant, and CLE, plus config-driven CLI recipes for LLMs and VLMs.
13
+
14
+ ## Installation
15
+
16
+ ### Prerequisites
17
+
18
+ - Python **3.10+**
19
+ - (Optional) [one-compiler](https://github.com/Samsung/ONE/releases) — only required to run
20
+ inference with converted Circle models. Conversion itself does not need it.
21
+
22
+ We highly recommend using a virtual environment (e.g., conda, venv).
23
+
24
+ ### From PyPI
25
+
26
+ ```bash
27
+ pip install tico
28
+ ```
29
+
30
+ ### From source
31
+
32
+ ```bash
33
+ git clone https://github.com/Samsung/TICO.git
34
+ cd TICO
35
+
36
+ ./ccex build # generates build/ and dist/
37
+ ./ccex install # installs the package
38
+ ```
39
+
40
+ **`./ccex install` options**
41
+
42
+ | Option | Description |
43
+ |---|---|
44
+ | `--dist` | Install from the built wheel (default is editable mode) |
45
+ | `--torch_ver <ver>` | Torch version to install: a family (`2.5` ~ `2.10`), an exact version (e.g. `2.7.0+cu118`), or `nightly`. Default: `2.7` |
46
+ | `--cuda_ver <maj.min>` | Override the detected CUDA version (e.g. `12.1`) |
47
+ | `--cpu_only` | Force a CPU-only Torch installation |
48
+
49
+ ## Quick start
50
+
51
+ ```python
52
+ import tico
53
+ import torch
54
+
55
+ class AddModule(torch.nn.Module):
56
+ def forward(self, x, y):
57
+ return x + y
58
+
59
+ torch_module = AddModule()
60
+ example_inputs = (torch.ones(4), torch.ones(4))
61
+
62
+ circle_model = tico.convert(torch_module.eval(), example_inputs)
63
+ circle_model.save('add.circle')
64
+ ```
65
+
66
+ > [!NOTE]
67
+ > Call `eval()` on the module before conversion. _TICO_ internally uses
68
+ > [`torch.export`](https://pytorch.org/docs/stable/export.html#torch-export), so the module
69
+ > must be export-able.
70
+
71
+ Converting a saved `.pt2` file from the command line:
72
+
73
+ ```bash
74
+ pt2-to-circle -i add.pt2 -o add.circle
75
+ ```
76
+
77
+ See the [Getting Started guide](./docs/getting_started.md) for compile configurations,
78
+ `.pt2` conversion, and running Circle models directly in Python.
79
+
80
+ ## Quantization
81
+
82
+ The [`tico.quantization`](./tico/quantization/README.md) module provides a unified,
83
+ modular interface for quantizing neural networks — including large language models —
84
+ through a simple two-step **prepare** → **convert** workflow:
85
+
86
+ ```python
87
+ from tico.quantization import prepare, convert
88
+ from tico.quantization.config.gptq import GPTQConfig
89
+
90
+ prepared_model = prepare(model.eval(), GPTQConfig())
91
+
92
+ for d in dataset: # calibration
93
+ prepared_model(d)
94
+
95
+ quantized_model = convert(prepared_model, GPTQConfig())
96
+ ```
97
+
98
+ - [Quantization overview](./tico/quantization/README.md) — API, architecture, and how to add a new algorithm
99
+ - [Quantization algorithms](./tico/quantization/algorithm/README.md) — GPTQ, SmoothQuant, SpinQuant, CLE, …
100
+ - [Config-driven CLI examples](./tico/quantization/examples/README.md) — quantize, evaluate, and inspect LLM/VLM recipes from the command line
101
+
102
+ ## Documentation
103
+
104
+ ### For users
105
+
106
+ | Document | Description |
107
+ |---|---|
108
+ | [Getting Started](./docs/getting_started.md) | Converting modules and `.pt2` files, compile configuration, running Circle models in Python |
109
+ | [Quantization](./tico/quantization/README.md) | The `prepare`/`convert` quantization API and toolkit |
110
+ | [Quantization examples](./tico/quantization/examples/README.md) | Command-line quantization, evaluation, and debugging workflows |
111
+
112
+ ### For developers
113
+
114
+ | Document | Description |
115
+ |---|---|
116
+ | [Development guide](./docs/development.md) | Environment setup, testing, and code formatting with `./ccex` |
117
+ | [System design](./docs/design.md) | Architecture, pass pipeline, invariants, and behavior design |
118
+ | [Requirements](./docs/requirements.md) | Functional and non-functional requirements |
119
+ | [System tests](./docs/system_test.md) | System-level test coverage |
120
+
121
+ ## Contributing
122
+
123
+ Contributions are welcome! For quantization algorithms, start with the
124
+ [quantization contribution guide](./tico/quantization/README.md#contributing-adding-a-new-algorithm)
125
+ and the [recipes developer guide](./tico/quantization/recipes/README.md).
126
+ Before submitting a PR, set up the development environment and run the tests and
127
+ formatter as described in the [development guide](./docs/development.md).
128
+
129
+ ## License
130
+
131
+ Licensed under the Apache License 2.0 — see [LICENSE](./LICENSE).
@@ -0,0 +1 @@
1
+ __version__ = "0.2.0.dev260702"
@@ -85,9 +85,9 @@ def build_gemma4_e2b_ptq_config(
85
85
  weight = weight or _default_weight()
86
86
  linear_weight = linear_weight or weight
87
87
 
88
- overrides: Dict[str, Any] = {"model": {"model": {}}}
88
+ overrides: Dict[str, Any] = {"model": {}}
89
89
 
90
- model_overrides = overrides["model"]["model"]
90
+ model_overrides = overrides["model"]
91
91
  model_overrides["language_model"] = {
92
92
  "embed_tokens": _weight_override(embedding_weight),
93
93
  "layers": {},
@@ -126,7 +126,7 @@ def build_gemma4_e2b_ptq_config(
126
126
  model_overrides["embed_vision"] = {
127
127
  "embedding_projection": _weight_override(linear_weight),
128
128
  }
129
- overrides["model"]["lm_head"] = _weight_override(lm_head_weight or linear_weight)
129
+ overrides["lm_head"] = _weight_override(lm_head_weight or linear_weight)
130
130
 
131
131
  return PTQConfig(
132
132
  activation=activation,
@@ -292,6 +292,11 @@ def _create_image_input(
292
292
  return example
293
293
 
294
294
 
295
+ def _causal_mask(seq_len: int, fill_value: float = -120.0) -> torch.Tensor:
296
+ mask = torch.full((1, 1, seq_len, seq_len), fill_value)
297
+ return torch.triu(mask, diagonal=1)
298
+
299
+
295
300
  class QwenBaseCase(WrapperSmokeCase):
296
301
  """Base class for Qwen3-VL wrapper smoke cases."""
297
302
 
@@ -341,7 +346,7 @@ class QwenTextAttentionCase(QwenBaseCase):
341
346
  ) -> Any:
342
347
  """Run the original text attention signature with an explicit mask."""
343
348
  hidden, rope = sample.args
344
- mask = torch.zeros(1, 1, hidden.shape[1], hidden.shape[1])
349
+ mask = _causal_mask(hidden.shape[1])
345
350
  return reference(hidden, position_embeddings=rope, attention_mask=mask)[0]
346
351
 
347
352
  def export_input(