tico 0.4.0.dev261024__tar.gz → 0.4.0.dev261026__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 (646) hide show
  1. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/PKG-INFO +1 -1
  2. tico-0.4.0.dev261026/tico/_version.py +1 -0
  3. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/effects.py +0 -1
  4. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/main.py +3 -2
  5. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/io.py +3 -3
  6. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/cse.py +5 -3
  7. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/heavy.py +7 -4
  8. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/transpose_region_rules.py +0 -1
  9. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/interpreter.py +2 -4
  10. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_aten_where_arg_type.py +0 -1
  11. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_mixed_type_args.py +0 -1
  12. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/const_prop_pass.py +6 -7
  13. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/ops.py +0 -1
  14. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_assert_nodes.py +0 -1
  15. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/discrete_refinement.py +0 -1
  16. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/global_refinement.py +1 -2
  17. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/joint.py +0 -1
  18. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/screened_refinement.py +0 -1
  19. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/cache.py +0 -1
  20. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/qdrop.py +0 -1
  21. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/selection.py +0 -1
  22. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/cle.py +0 -1
  23. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/quantizer.py +0 -1
  24. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/quantizer.py +1 -0
  25. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/utils.py +3 -4
  26. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py +176 -11
  27. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/quantizer.py +123 -1
  28. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/utils.py +0 -1
  29. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/hadamard_utils.py +2 -4
  30. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/spin_llama.py +0 -1
  31. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/universal_gptq/quantizer.py +9 -9
  32. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/ablation.py +0 -1
  33. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/outputs.py +0 -1
  34. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/report.py +0 -1
  35. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/sensitivity.py +19 -10
  36. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/builders.py +6 -7
  37. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_attention.py +0 -1
  38. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/llama_attention.py +0 -1
  39. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/ptq.py +0 -1
  40. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_attention.py +0 -1
  41. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_gptq.py +87 -0
  42. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/utils.py +0 -1
  43. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/hellaswag_eval_utils.py +34 -3
  44. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/llava_bench_judge_eval_utils.py +2 -7
  45. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_eval_utils.py +33 -63
  46. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/mmmu_eval_utils.py +0 -1
  47. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/evaluate.py +6 -0
  48. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/concat_qparam.py +0 -1
  49. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/fold_quant_ops.py +5 -4
  50. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/legalize_quantized_clamp.py +0 -1
  51. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/mx_qparam.py +0 -1
  52. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/propagate_qparam_forward.py +0 -1
  53. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/public_interface.py +0 -1
  54. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/base.py +3 -0
  55. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/gemma4.py +45 -49
  56. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/gemma4_assistant.py +1 -3
  57. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/llama.py +38 -46
  58. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/qwen3_vl.py +136 -28
  59. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/dataset_config.py +0 -1
  60. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/dataset_usage.py +0 -1
  61. tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_fixtures.py +233 -0
  62. tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_static_cache.py +275 -0
  63. tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_validation.py +815 -0
  64. tico-0.4.0.dev261026/tico/quantization/recipes/debug/export_regression.py +1424 -0
  65. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_gemma4_assistant_runtime.py +0 -1
  66. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_gemma4_runtime.py +5 -3
  67. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_qwen3_vl_runtime.py +5 -2
  68. tico-0.4.0.dev261026/tico/quantization/recipes/debug/verify_llama_rope.py +101 -0
  69. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/__init__.py +2 -1
  70. tico-0.4.0.dev261026/tico/quantization/recipes/debug/wrapper_smoke/case.py +269 -0
  71. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4.py +88 -12
  72. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/llama.py +200 -155
  73. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/qwen3_vl.py +133 -151
  74. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/runner.py +4 -2
  75. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/utils.py +0 -1
  76. tico-0.4.0.dev261026/tico/quantization/recipes/evaluation/eager.py +172 -0
  77. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llm.py +8 -1
  78. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/selection.py +0 -1
  79. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/video_mme.py +6 -0
  80. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/circle.py +15 -1
  81. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/gemma4.py +0 -1
  82. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/gemma4_assistant.py +0 -1
  83. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/llama.py +8 -10
  84. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/llama_bundle.py +9 -4
  85. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runner.py +10 -16
  86. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runtime/llama.py +0 -1
  87. tico-0.4.0.dev261026/tico/quantization/recipes/sequence_length.py +94 -0
  88. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/gptq.py +39 -0
  89. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/ptq.py +0 -1
  90. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/evaluate_fk_llama_model.py +6 -6
  91. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_attention_decode.py +1 -0
  92. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_attention_prefill.py +4 -1
  93. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_prefill.py +14 -9
  94. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_conv3d.py +0 -1
  95. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_conv3d_special_case.py +0 -1
  96. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_layernorm.py +0 -1
  97. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_full_qmodel_with_gptq.py +13 -14
  98. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_qwen3_vl_with_gptq.py +3 -3
  99. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_model.py +3 -3
  100. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_attention.py +1 -0
  101. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/static_llama_layer_runtime.py +6 -7
  102. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/identity.py +1 -0
  103. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/introspection.py +16 -13
  104. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/linear_folding.py +0 -1
  105. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/metrics.py +49 -15
  106. tico-0.4.0.dev261026/tico/quantization/wrapq/utils/static_export.py +99 -0
  107. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/decoder_export_single_step.py +1 -0
  108. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/embedding_scale_fusion.py +0 -1
  109. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/export_adapters.py +9 -1
  110. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_clippable_linear.py +0 -1
  111. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_for_causal_lm.py +0 -1
  112. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_for_conditional_generation.py +0 -1
  113. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_model.py +0 -1
  114. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_multimodal_embedder.py +0 -1
  115. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_rmsnorm.py +0 -1
  116. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_attention.py +222 -146
  117. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_decoder_layer.py +0 -1
  118. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_mlp.py +0 -1
  119. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_model.py +127 -26
  120. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_scaled_word_embedding.py +0 -1
  121. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_attention.py +0 -1
  122. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder.py +0 -1
  123. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder_layer.py +0 -1
  124. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_mlp.py +0 -1
  125. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_model.py +10 -7
  126. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_patch_embedder.py +0 -1
  127. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_pooler.py +0 -1
  128. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/static_vision_profile.py +0 -1
  129. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/vision_split_export.py +0 -1
  130. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_backbone.py +0 -1
  131. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_for_causal_lm.py +0 -1
  132. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/sparse_head.py +0 -1
  133. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/static_inputs.py +0 -1
  134. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/utils.py +0 -1
  135. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/export_adapters.py +31 -7
  136. tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/llama/position.py +91 -0
  137. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_attention.py +194 -176
  138. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_decoder_layer.py +109 -88
  139. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_model.py +76 -85
  140. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_model_for_causal_lm.py +67 -13
  141. tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/llama/static_inputs.py +250 -0
  142. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv3d.py +1 -1
  143. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv3d_decomposed.py +0 -1
  144. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_embedding.py +1 -1
  145. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_layernorm.py +1 -1
  146. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_linear.py +1 -1
  147. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_silu.py +1 -1
  148. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_module_base.py +1 -3
  149. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/export_adapters.py +10 -5
  150. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_for_conditional_generation.py +8 -0
  151. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_model.py +3 -3
  152. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attention.py +370 -159
  153. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_decoder_layer.py +10 -3
  154. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_model.py +68 -65
  155. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_attention.py +1 -3
  156. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_model.py +6 -4
  157. tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/qwen_vl/static_inputs.py +98 -0
  158. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/vision_profile.py +0 -1
  159. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/registry.py +0 -1
  160. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_serializer.py +0 -1
  161. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/__init__.py +0 -1
  162. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/convert.py +6 -4
  163. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/padding.py +0 -1
  164. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/PKG-INFO +1 -1
  165. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/SOURCES.txt +11 -0
  166. tico-0.4.0.dev261024/tico/_version.py +0 -1
  167. tico-0.4.0.dev261024/tico/quantization/recipes/debug/wrapper_smoke/case.py +0 -140
  168. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/LICENSE +0 -0
  169. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/README.md +0 -0
  170. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/pyproject.toml +0 -0
  171. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/setup.cfg +0 -0
  172. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/__init__.py +0 -0
  173. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/__init__.py +0 -0
  174. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_buffer.py +0 -0
  175. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_object.py +0 -0
  176. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_schema.py +0 -0
  177. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/__init__.py +0 -0
  178. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/purity.py +0 -0
  179. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/structural_hash.py +0 -0
  180. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/tensor_contract.py +0 -0
  181. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/builder.py +0 -0
  182. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/__init__.py +0 -0
  183. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/__main__.py +0 -0
  184. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/document.py +0 -0
  185. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/errors.py +0 -0
  186. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/export.py +0 -0
  187. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/graph.py +0 -0
  188. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/__init__.py +0 -0
  189. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/printer.py +0 -0
  190. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/summary.py +0 -0
  191. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/mutation.py +0 -0
  192. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/operations/__init__.py +0 -0
  193. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/operations/extract.py +0 -0
  194. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/__init__.py +0 -0
  195. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/base.py +0 -0
  196. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/__init__.py +0 -0
  197. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/compact_indices.py +0 -0
  198. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/dead_code_elimination.py +0 -0
  199. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/graph_inputs.py +0 -0
  200. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/manager.py +0 -0
  201. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/__init__.py +0 -0
  202. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/_pattern_utils.py +0 -0
  203. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/_utils.py +0 -0
  204. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/canonicalize/__init__.py +0 -0
  205. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/canonicalize/equivalent_ops.py +0 -0
  206. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/__init__.py +0 -0
  207. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/custom_ops.py +0 -0
  208. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/fc_gelu_fc.py +0 -0
  209. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/__init__.py +0 -0
  210. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/constant_subgraph.py +0 -0
  211. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/__init__.py +0 -0
  212. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/base.py +0 -0
  213. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/elementwise.py +0 -0
  214. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/indexing.py +0 -0
  215. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/shape.py +0 -0
  216. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/profiles.py +0 -0
  217. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/__init__.py +0 -0
  218. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/activation.py +0 -0
  219. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/composite.py +0 -0
  220. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/linear.py +0 -0
  221. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/requantize.py +0 -0
  222. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/spatial.py +0 -0
  223. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/legalize/__init__.py +0 -0
  224. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/legalize/dynamic_fully_connected.py +0 -0
  225. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/policy.py +0 -0
  226. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/__init__.py +0 -0
  227. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/_layout_utils.py +0 -0
  228. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/arithmetic.py +0 -0
  229. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/identity_ops.py +0 -0
  230. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/reductions.py +0 -0
  231. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/transpose_region.py +0 -0
  232. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/views.py +0 -0
  233. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/presets.py +0 -0
  234. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/rules.py +0 -0
  235. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/worklist.py +0 -0
  236. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/rewrite.py +0 -0
  237. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/__init__.py +0 -0
  238. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/errors.py +0 -0
  239. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/executor.py +0 -0
  240. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/__init__.py +0 -0
  241. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/base.py +0 -0
  242. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/elementwise.py +0 -0
  243. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/nn.py +0 -0
  244. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/quantize.py +0 -0
  245. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/reduction.py +0 -0
  246. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/shape_ops.py +0 -0
  247. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/program.py +0 -0
  248. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/quantization.py +0 -0
  249. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/selector.py +0 -0
  250. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/session.py +0 -0
  251. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/__init__.py +0 -0
  252. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/codec.py +0 -0
  253. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/dtype.py +0 -0
  254. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/tensor.py +0 -0
  255. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/verify.py +0 -0
  256. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/__init__.py +0 -0
  257. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/base.py +0 -0
  258. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/factory.py +0 -0
  259. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/v1.py +0 -0
  260. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/experimental/__init__.py +0 -0
  261. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/__init__.py +0 -0
  262. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/backends.py +0 -0
  263. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/infer.py +0 -0
  264. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/__init__.py +0 -0
  265. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/concat.py +0 -0
  266. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/resize_bilinear.py +0 -0
  267. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/same_padding_conv2d.py +0 -0
  268. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/__init__.py +0 -0
  269. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_clamp_mixed_type_args.py +0 -0
  270. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_conv1d_to_conv2d.py +0 -0
  271. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_conv3d_to_conv2d.py +0 -0
  272. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_expand_to_slice_cat.py +0 -0
  273. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_gather_to_gather_nd.py +0 -0
  274. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_layout_op_to_reshape.py +0 -0
  275. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_matmul_to_linear.py +0 -0
  276. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_repeat_to_expand_copy.py +0 -0
  277. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_sym_size_to_circle_shape.py +0 -0
  278. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_to_relu6.py +0 -0
  279. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_addmm.py +0 -0
  280. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_batch_norm.py +0 -0
  281. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_fake_quantize.py +0 -0
  282. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_fake_quantize_tensor_qparams.py +0 -0
  283. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_group_norm.py +0 -0
  284. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_grouped_conv2d.py +0 -0
  285. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_slice_scatter.py +0 -0
  286. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/eliminate_rank_round_trip_region.py +0 -0
  287. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/extract_dtype_kwargs.py +0 -0
  288. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fill_meta_val.py +0 -0
  289. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fuse_leading_unsqueeze_reshape.py +0 -0
  290. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fuse_redundant_reshape_to_mean.py +0 -0
  291. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/legalize_causal_mask_value.py +0 -0
  292. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/legalize_predefined_layout_operators.py +0 -0
  293. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_copy.py +0 -0
  294. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_multi_index_to_gather_nd.py +0 -0
  295. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_pow2_to_mul.py +0 -0
  296. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_to_resize_nearest_neighbor.py +0 -0
  297. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_to_slice.py +0 -0
  298. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/merge_consecutive_cat.py +0 -0
  299. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_empty_cat_inputs.py +0 -0
  300. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_nop.py +0 -0
  301. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_expand.py +0 -0
  302. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_permute.py +0 -0
  303. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_reshape.py +0 -0
  304. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_slice.py +0 -0
  305. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_to_copy.py +0 -0
  306. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_unused_placeholder.py +0 -0
  307. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/restore_linear.py +0 -0
  308. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/segment_index_select.py +0 -0
  309. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/pt2_to_circle.py +0 -0
  310. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/__init__.py +0 -0
  311. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/__init__.py +0 -0
  312. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/__init__.py +0 -0
  313. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/joint_runner.py +0 -0
  314. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/rounding.py +0 -0
  315. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/runner.py +0 -0
  316. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/__init__.py +0 -0
  317. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/multistart.py +0 -0
  318. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/observer.py +0 -0
  319. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/runner.py +0 -0
  320. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/__init__.py +0 -0
  321. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/quantizer.py +0 -0
  322. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/__init__.py +0 -0
  323. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/fpi_gptq.py +0 -0
  324. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/quantizer.py +0 -0
  325. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/util.py +0 -0
  326. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/__init__.py +0 -0
  327. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/gptq.py +0 -0
  328. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/utils.py +0 -0
  329. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/__init__.py +0 -0
  330. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/gptq.py +0 -0
  331. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/quant.py +0 -0
  332. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/__init__.py +0 -0
  333. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/__init__.py +0 -0
  334. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/observer.py +0 -0
  335. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/quantizer.py +0 -0
  336. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/smooth_quant.py +0 -0
  337. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/__init__.py +0 -0
  338. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/fuse_norm_utils.py +0 -0
  339. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/quantizer.py +0 -0
  340. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_model_utils.py +0 -0
  341. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_quantizer.py +0 -0
  342. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_rotation_utils.py +0 -0
  343. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/rotation_utils.py +0 -0
  344. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/spin_qwen3_vl.py +0 -0
  345. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/__init__.py +0 -0
  346. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/clipping.py +0 -0
  347. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/inputs.py +0 -0
  348. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/metrics.py +0 -0
  349. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/output_quantization.py +0 -0
  350. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/profile.py +0 -0
  351. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/selector.py +0 -0
  352. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/__init__.py +0 -0
  353. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/base.py +0 -0
  354. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/cle.py +0 -0
  355. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/fpi_gptq.py +0 -0
  356. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_assistant_builders.py +0 -0
  357. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_builders.py +0 -0
  358. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_gptq.py +0 -0
  359. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gptq.py +0 -0
  360. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_spinquant.py +0 -0
  361. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/smoothquant.py +0 -0
  362. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/specs.py +0 -0
  363. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/spinquant.py +0 -0
  364. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/__init__.py +0 -0
  365. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/backend.py +0 -0
  366. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/evaluate.py +0 -0
  367. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/__init__.py +0 -0
  368. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/backend_executor.py +0 -0
  369. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/circle_executor.py +0 -0
  370. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/triv24_executor.py +0 -0
  371. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_gemma4.py +0 -0
  372. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_tasks/videomme_mini/utils.py +0 -0
  373. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/metric.py +0 -0
  374. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/mmlu_eval_utils.py +0 -0
  375. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/optional_deps.py +0 -0
  376. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/script/llm_tasks_eval.py +0 -0
  377. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/script/mini_vqa_eval.py +0 -0
  378. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/utils.py +0 -0
  379. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/vlm_eval_utils.py +0 -0
  380. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/vlm_generation_utils.py +0 -0
  381. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/__init__.py +0 -0
  382. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/compare_side_by_side.py +0 -0
  383. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/configs/__init__.py +0 -0
  384. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/export.py +0 -0
  385. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/generate.py +0 -0
  386. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/inspector.py +0 -0
  387. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/quantize.py +0 -0
  388. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/__init__.py +0 -0
  389. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/insert_quantize_on_dtype_mismatch.py +0 -0
  390. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/propagate_qparam_backward.py +0 -0
  391. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/qparam_safe_const_prop.py +0 -0
  392. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/quantize_bias.py +0 -0
  393. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/remove_weight_dequant_op.py +0 -0
  394. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quant_stub.py +0 -0
  395. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quantizer.py +0 -0
  396. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quantizer_registry.py +0 -0
  397. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/__init__.py +0 -0
  398. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/__init__.py +0 -0
  399. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/config.py +0 -0
  400. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/context.py +0 -0
  401. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/__init__.py +0 -0
  402. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/llm.py +0 -0
  403. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/vlm.py +0 -0
  404. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/__init__.py +0 -0
  405. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_llama_runtime.py +0 -0
  406. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/tied_embedding.py +0 -0
  407. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/token_mask.py +0 -0
  408. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/trace.py +0 -0
  409. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/__init__.py +0 -0
  410. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4_assistant.py +0 -0
  411. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/nn.py +0 -0
  412. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/registry.py +0 -0
  413. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/result.py +0 -0
  414. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/__init__.py +0 -0
  415. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/hellaswag.py +0 -0
  416. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llava_bench.py +0 -0
  417. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llava_bench_judge.py +0 -0
  418. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/mmlu.py +0 -0
  419. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/mmmu.py +0 -0
  420. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/vlm.py +0 -0
  421. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/__init__.py +0 -0
  422. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/checkpoint.py +0 -0
  423. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/qwen3_vl.py +0 -0
  424. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/extensions.py +0 -0
  425. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/override_policies.py +0 -0
  426. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/qparams.py +0 -0
  427. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runtime/__init__.py +0 -0
  428. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/__init__.py +0 -0
  429. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/base.py +0 -0
  430. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/cle.py +0 -0
  431. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/smoothquant.py +0 -0
  432. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/spinquant.py +0 -0
  433. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/utils.py +0 -0
  434. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/__init__.py +0 -0
  435. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/control.py +0 -0
  436. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/dtypes.py +0 -0
  437. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/__init__.py +0 -0
  438. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/compare_ppl.py +0 -0
  439. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/debug_quant_outputs.py +0 -0
  440. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/__init__.py +0 -0
  441. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_for_causal_lm.py +0 -0
  442. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_for_conditional_generation.py +0 -0
  443. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_model.py +0 -0
  444. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_multimodal_embedder.py +0 -0
  445. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_text_scaled_word_embedding.py +0 -0
  446. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_model.py +0 -0
  447. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_patch_embedder.py +0 -0
  448. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_pooler.py +0 -0
  449. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/__init__.py +0 -0
  450. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_decode.py +0 -0
  451. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_mlp.py +0 -0
  452. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/__init__.py +0 -0
  453. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_linear.py +1 -1
  454. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_tied_embedding.py +0 -0
  455. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_with_gptq.py +0 -0
  456. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/__init__.py +0 -0
  457. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_for_conditional_generation.py +0 -0
  458. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_decoder_layer.py +0 -0
  459. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_mlp.py +0 -0
  460. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_model.py +0 -0
  461. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_attention.py +0 -0
  462. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_block.py +0 -0
  463. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_mlp.py +0 -0
  464. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_model.py +0 -0
  465. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_embed.py +0 -0
  466. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_merger.py +0 -0
  467. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/trace_qwen.py +0 -0
  468. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/mode.py +0 -0
  469. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/__init__.py +0 -0
  470. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/affine_base.py +0 -0
  471. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/base.py +0 -0
  472. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/ema.py +0 -0
  473. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/minmax.py +0 -0
  474. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/mx.py +0 -0
  475. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/percentile.py +0 -0
  476. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/qscheme.py +0 -0
  477. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/quantizer.py +0 -0
  478. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/__init__.py +0 -0
  479. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/check_missing_qparam.py +0 -0
  480. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/reduce_utils.py +0 -0
  481. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/utils.py +0 -0
  482. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/version.py +0 -0
  483. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrap_helper.py +0 -0
  484. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/__init__.py +0 -0
  485. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/__init__.py +0 -0
  486. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder.py +0 -0
  487. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder_layer.py +0 -0
  488. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder.py +0 -0
  489. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder_layer.py +0 -0
  490. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_mha.py +0 -0
  491. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/__init__.py +0 -0
  492. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/ple_embedding_host.py +0 -0
  493. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/rope.py +0 -0
  494. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/utils.py +0 -0
  495. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/__init__.py +0 -0
  496. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/export_adapters.py +0 -0
  497. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_masked_embedder.py +0 -0
  498. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/__init__.py +0 -0
  499. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_mlp.py +0 -0
  500. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/__init__.py +0 -0
  501. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv2d.py +0 -0
  502. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv_transpose2d.py +0 -0
  503. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_maxpool2d.py +0 -0
  504. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_prelu.py +0 -0
  505. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/__init__.py +0 -0
  506. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_concat.py +0 -0
  507. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_resize_bilinear.py +0 -0
  508. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_rmsnorm.py +0 -0
  509. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_same_padding_conv2d.py +0 -0
  510. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ptq_wrapper.py +0 -0
  511. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_elementwise.py +0 -0
  512. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_stub.py +0 -0
  513. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_mlp.py +0 -0
  514. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_block.py +0 -0
  515. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py +0 -0
  516. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_embed.py +0 -0
  517. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_merger.py +0 -0
  518. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/__init__.py +0 -0
  519. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_binary.py +0 -0
  520. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_graph.py +0 -0
  521. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_mapping.py +0 -0
  522. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/__init__.py +0 -0
  523. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/llama_rmsnorm.py +0 -0
  524. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/onert/__init__.py +0 -0
  525. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/onert/llama_attention.py +0 -0
  526. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/hashable_opcode.py +0 -0
  527. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/node_visitor.py +0 -0
  528. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_abs.py +0 -0
  529. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_add.py +0 -0
  530. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_alias_copy.py +0 -0
  531. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_any.py +0 -0
  532. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_arange_start_step.py +0 -0
  533. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_argmax.py +0 -0
  534. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_attention.py +0 -0
  535. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_avg_pool2d.py +0 -0
  536. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_bitwise_and.py +0 -0
  537. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_bmm.py +0 -0
  538. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cat.py +0 -0
  539. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_circle_gather_nd.py +0 -0
  540. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_circle_shape.py +0 -0
  541. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_clamp.py +0 -0
  542. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_clone.py +0 -0
  543. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_constant_pad_nd.py +0 -0
  544. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_conv2d.py +0 -0
  545. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cos.py +0 -0
  546. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cumsum.py +0 -0
  547. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_depthwise_conv2d.py +0 -0
  548. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_dequantize_per_channel.py +0 -0
  549. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_dequantize_per_tensor.py +0 -0
  550. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_div.py +0 -0
  551. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_elu.py +0 -0
  552. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_embedding.py +0 -0
  553. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_eq.py +0 -0
  554. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_exp.py +0 -0
  555. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_expand.py +0 -0
  556. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_full.py +0 -0
  557. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_full_like.py +0 -0
  558. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_ge.py +0 -0
  559. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_gelu.py +0 -0
  560. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_gt.py +0 -0
  561. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_index.py +0 -0
  562. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_index_select.py +0 -0
  563. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_instance_norm.py +0 -0
  564. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_le.py +0 -0
  565. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_leaky_relu.py +0 -0
  566. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_linear.py +0 -0
  567. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_log.py +0 -0
  568. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_log1p.py +0 -0
  569. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_logical_and.py +0 -0
  570. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_logical_not.py +0 -0
  571. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_lt.py +0 -0
  572. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_max_dim.py +0 -0
  573. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_max_pool2d_with_indices.py +0 -0
  574. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_maximum.py +0 -0
  575. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mean.py +0 -0
  576. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_minimum.py +0 -0
  577. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mm.py +0 -0
  578. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mul.py +0 -0
  579. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_ne.py +0 -0
  580. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_neg.py +0 -0
  581. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_permute.py +0 -0
  582. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_pow.py +0 -0
  583. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_prelu.py +0 -0
  584. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_quantize_per_tensor.py +0 -0
  585. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_reciprocal.py +0 -0
  586. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_relu.py +0 -0
  587. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_relu6.py +0 -0
  588. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_repeat.py +0 -0
  589. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_reshape.py +0 -0
  590. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_resize_bilinear.py +0 -0
  591. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_resize_nearest_neighbor.py +0 -0
  592. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_rmsnorm.py +0 -0
  593. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_round.py +0 -0
  594. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_rsqrt.py +0 -0
  595. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_scalar_tensor.py +0 -0
  596. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_select_copy.py +0 -0
  597. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sigmoid.py +0 -0
  598. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sin.py +0 -0
  599. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_slice.py +0 -0
  600. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_softmax.py +0 -0
  601. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_split_with_sizes.py +0 -0
  602. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sqrt.py +0 -0
  603. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_squeeze.py +0 -0
  604. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sub.py +0 -0
  605. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sum.py +0 -0
  606. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_tanh.py +0 -0
  607. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_to_copy.py +0 -0
  608. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_transpose_conv.py +0 -0
  609. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_unsqueeze.py +0 -0
  610. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_view.py +0 -0
  611. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_where.py +0 -0
  612. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/utils.py +0 -0
  613. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/pack.py +0 -0
  614. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/quant_param.py +0 -0
  615. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/__init__.py +0 -0
  616. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/__init__.py +0 -0
  617. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/torch.py +0 -0
  618. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/torch_version_policy.py +0 -0
  619. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/transformers.py +0 -0
  620. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/define.py +0 -0
  621. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/diff_graph.py +0 -0
  622. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/dtype.py +0 -0
  623. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/errors.py +0 -0
  624. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/graph.py +0 -0
  625. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/installed_packages.py +0 -0
  626. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/logging.py +0 -0
  627. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/model.py +0 -0
  628. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/__init__.py +0 -0
  629. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/dtypes.py +0 -0
  630. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/elemwise_ops.py +0 -0
  631. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/formats.py +0 -0
  632. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/mx_ops.py +0 -0
  633. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/passes.py +0 -0
  634. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/pytree_utils.py +0 -0
  635. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/record_input.py +0 -0
  636. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/register_custom_op.py +0 -0
  637. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/serialize.py +0 -0
  638. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/signature.py +0 -0
  639. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/trace_decorators.py +0 -0
  640. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/utils.py +0 -0
  641. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/validate_args_kwargs.py +0 -0
  642. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/version.py +0 -0
  643. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/dependency_links.txt +0 -0
  644. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/entry_points.txt +0 -0
  645. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/requires.txt +0 -0
  646. {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/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.4.0.dev261024
3
+ Version: 0.4.0.dev261026
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
 
@@ -0,0 +1 @@
1
+ __version__ = "0.4.0.dev261026"
@@ -23,7 +23,6 @@ from tico.circle._schema import circle_schema, object_api_type
23
23
  from tico.circle.errors import CircleRewriteError
24
24
  from tico.circle.graph import as_indices, as_list, CircleGraph, OPTIONAL_TENSOR_INDEX
25
25
 
26
-
27
26
  DEFAULT_EFFECTFUL_BUILTIN_NAMES = (
28
27
  "ASSIGN_VARIABLE",
29
28
  "BIDIRECTIONAL_SEQUENCE_LSTM",
@@ -413,8 +413,9 @@ def _extract_command(args: argparse.Namespace) -> int:
413
413
  def _parse_passes(
414
414
  value: str,
415
415
  *,
416
- constant_folding_profile: ConstantFoldingProfile
417
- | str = (ConstantFoldingProfile.BASIC),
416
+ constant_folding_profile: ConstantFoldingProfile | str = (
417
+ ConstantFoldingProfile.BASIC
418
+ ),
418
419
  ) -> list[CirclePass]:
419
420
  """Create Circle pass instances from canonical comma-separated names."""
420
421
 
@@ -204,9 +204,9 @@ def write_circle_bytes(
204
204
  raise TypeError(f"Expected bytes, received {type(data).__name__}.")
205
205
  _write_destination(
206
206
  destination,
207
- lambda stream: _write_all(stream, memoryview(data))
208
- if data
209
- else stream.write(data),
207
+ lambda stream: (
208
+ _write_all(stream, memoryview(data)) if data else stream.write(data)
209
+ ),
210
210
  atomic=atomic,
211
211
  )
212
212
 
@@ -152,9 +152,11 @@ class CommonSubexpressionEliminationPass(CirclePass):
152
152
  continue
153
153
  outputs = tuple(as_indices(getattr(operator, "outputs", None)))
154
154
  canonical_inputs = tuple(
155
- _representative(representatives, tensor_index)
156
- if tensor_index != OPTIONAL_TENSOR_INDEX
157
- else tensor_index
155
+ (
156
+ _representative(representatives, tensor_index)
157
+ if tensor_index != OPTIONAL_TENSOR_INDEX
158
+ else tensor_index
159
+ )
158
160
  for tensor_index in as_indices(
159
161
  getattr(operator, "inputs", None)
160
162
  )
@@ -755,10 +755,13 @@ def _input_buffer_payload(
755
755
  def _parse_sparsity(
756
756
  sparsity: Any,
757
757
  dense_shape: Sequence[int],
758
- ) -> tuple[
759
- tuple[int, ...],
760
- tuple[tuple[str, int, tuple[int, ...], tuple[int, ...]], ...],
761
- ] | None:
758
+ ) -> (
759
+ tuple[
760
+ tuple[int, ...],
761
+ tuple[tuple[str, int, tuple[int, ...], tuple[int, ...]], ...],
762
+ ]
763
+ | None
764
+ ):
762
765
  """Parse an unblocked Circle sparsity record into traversal-level metadata."""
763
766
 
764
767
  rank = len(dense_shape)
@@ -25,7 +25,6 @@ from tico.circle.passes.optimization.simplify._layout_utils import (
25
25
  _get_const_data,
26
26
  )
27
27
 
28
-
29
28
  _ADD_BUILTIN_CODE = _builtin_operator_value("ADD")
30
29
  _ADD_N_BUILTIN_CODE = _builtin_operator_value("ADD_N")
31
30
  _CONCATENATION_BUILTIN_CODE = _builtin_operator_value("CONCATENATION")
@@ -56,8 +56,7 @@ class Interpreter:
56
56
  ) from error
57
57
 
58
58
  self.ffi = FFI()
59
- self.ffi.cdef(
60
- """
59
+ self.ffi.cdef("""
61
60
  typedef struct InterpreterWrapper InterpreterWrapper;
62
61
 
63
62
  const char *get_last_error(void);
@@ -67,8 +66,7 @@ class Interpreter:
67
66
  void Interpreter_interpret(InterpreterWrapper *intp);
68
67
  void Interpreter_writeInputTensor(InterpreterWrapper *intp, const int input_idx, const void *data, size_t input_size);
69
68
  void Interpreter_readOutputTensor(InterpreterWrapper *intp, const int output_idx, void *output, size_t output_size);
70
- """
71
- )
69
+ """)
72
70
  self.C = self.ffi.dlopen(str(self.LIB_PATH))
73
71
 
74
72
  # Initialize interpreter
@@ -30,7 +30,6 @@ from tico.utils.trace_decorators import (
30
30
  from tico.utils.utils import is_target_node, set_new_meta_val
31
31
  from tico.utils.validate_args_kwargs import WhereSelfArgs
32
32
 
33
-
34
33
  dtype_ranking = {
35
34
  torch.int32: 0,
36
35
  torch.int64: 1,
@@ -31,7 +31,6 @@ from tico.utils.passes import PassBase, PassResult
31
31
  from tico.utils.trace_decorators import trace_graph_diff_on_pass
32
32
  from tico.utils.utils import is_target_node, set_new_meta_val
33
33
 
34
-
35
34
  ops_to_promote = {
36
35
  torch.ops.aten.add.Tensor: ELEMENTWISE_TYPE_PROMOTION_KIND.DEFAULT,
37
36
  torch.ops.aten.div.Tensor: ELEMENTWISE_TYPE_PROMOTION_KIND.DEFAULT,
@@ -48,7 +48,6 @@ from tico.utils.trace_decorators import (
48
48
  )
49
49
  from tico.utils.utils import get_fake_mode
50
50
 
51
-
52
51
  _MISSING = object()
53
52
 
54
53
  TensorStorageIdentityKey = tuple[
@@ -590,12 +589,12 @@ class ConstPropPass(PassBase):
590
589
  graph: torch.fx.Graph = graph_module.graph
591
590
 
592
591
  # [1], [2]
593
- const_node_to_tensor: OrderedDict[
594
- torch.fx.Node, torch.Tensor
595
- ] = propagate_constants(
596
- exported_program,
597
- fold_filter=self._fold_filter,
598
- folded_node_callback=self._folded_node_callback,
592
+ const_node_to_tensor: OrderedDict[torch.fx.Node, torch.Tensor] = (
593
+ propagate_constants(
594
+ exported_program,
595
+ fold_filter=self._fold_filter,
596
+ folded_node_callback=self._folded_node_callback,
597
+ )
599
598
  )
600
599
  # [3]
601
600
  placeholders = create_constant_placeholder(
@@ -14,7 +14,6 @@
14
14
 
15
15
  import torch
16
16
 
17
-
18
17
  """
19
18
  This module contains Op lists used for finding the target Ops in passes.
20
19
  The module is introduced to reduce duplicate codes.
@@ -19,7 +19,6 @@ from tico.utils.passes import PassBase, PassResult
19
19
  from tico.utils.trace_decorators import trace_graph_diff_on_pass
20
20
  from tico.utils.utils import is_target_node
21
21
 
22
-
23
22
  assert_node_targets = [
24
23
  torch.ops.aten._assert_scalar.default,
25
24
  torch.ops.aten._assert_tensor_metadata.default,
@@ -56,7 +56,6 @@ from tico.quantization.wrapq.control import (
56
56
  from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
57
57
  from tico.quantization.wrapq.observers.base import ObserverBase
58
58
 
59
-
60
59
  MetricsEvaluator = Callable[[], OutputMetrics]
61
60
  ProgressCallback = Callable[["DiscreteCodeRoundResult"], None]
62
61
 
@@ -47,7 +47,6 @@ from tico.quantization.wrapq.control import (
47
47
  from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
48
48
  from tico.quantization.wrapq.observers.base import ObserverBase
49
49
 
50
-
51
50
  MetricsEvaluator = Callable[[], OutputMetrics]
52
51
  ProgressCallback = Callable[["GlobalWeightRefinementCheckpoint"], None]
53
52
 
@@ -1086,7 +1085,7 @@ class GlobalWeightRefinementCheckpoint:
1086
1085
  train_checkpoint_anchor_loss: float | None = None
1087
1086
  checkpoint_anchor_weight: float | None = None
1088
1087
  alpha_absolute_histogram: GlobalRefinementTensorHistogram | None = None
1089
- alpha_gradient_absolute_histogram: (GlobalRefinementTensorHistogram | None) = None
1088
+ alpha_gradient_absolute_histogram: GlobalRefinementTensorHistogram | None = None
1090
1089
  flip_budget_statistics: GlobalRefinementFlipBudgetStatistics | None = None
1091
1090
 
1092
1091
  def to_dict(self) -> dict[str, object]:
@@ -32,7 +32,6 @@ from tico.quantization.wrapq.control import (
32
32
  from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
33
33
  from tico.quantization.wrapq.observers.base import ObserverBase
34
34
 
35
-
36
35
  _SUPPORTED_FAMILIES = frozenset({"regular_conv", "depthwise_conv"})
37
36
 
38
37
 
@@ -51,7 +51,6 @@ from tico.quantization.algorithm.block_reconstruction.selection import (
51
51
  from tico.quantization.analysis import OutputAdapter
52
52
  from tico.quantization.wrapq.control import FakeQuantState
53
53
 
54
-
55
54
  MetricsEvaluator = Callable[[], OutputMetrics]
56
55
  ProgressCallback = Callable[["ScreenedCodeRoundResult"], None]
57
56
 
@@ -22,7 +22,6 @@ from typing import Any, TypeAlias
22
22
 
23
23
  import torch
24
24
 
25
-
26
25
  TensorTree: TypeAlias = (
27
26
  torch.Tensor
28
27
  | tuple["TensorTree", ...]
@@ -31,7 +31,6 @@ from tico.quantization.algorithm.block_reconstruction.cache import (
31
31
  TensorTree,
32
32
  )
33
33
 
34
-
35
34
  _ACTIVE_QDROP: ContextVar[QDropController | None] = ContextVar(
36
35
  "block_reconstruction_qdrop",
37
36
  default=None,
@@ -21,7 +21,6 @@ import math
21
21
  from collections.abc import Mapping
22
22
  from dataclasses import dataclass, field
23
23
 
24
-
25
24
  OutputMetrics = Mapping[str, Mapping[str, float | int | None]]
26
25
 
27
26
 
@@ -21,7 +21,6 @@ from tqdm import tqdm
21
21
 
22
22
  from tico.quantization.config.cle import CLEConfig
23
23
 
24
-
25
24
  SupportedLayer: TypeAlias = nn.Conv2d | nn.Linear
26
25
 
27
26
 
@@ -40,7 +40,6 @@ from tico.quantization.config.gemma4_gptq import Gemma4GPTQConfig
40
40
  from tico.quantization.quantizer import BaseQuantizer
41
41
  from tico.quantization.quantizer_registry import register_quantizer
42
42
 
43
-
44
43
  ModelT = TypeVar("ModelT", bound=nn.Module)
45
44
 
46
45
 
@@ -112,6 +112,7 @@ class GPTQQuantizer(BaseQuantizer):
112
112
  Returns:
113
113
  torch.nn.Module: The model with the catcher attached
114
114
  """
115
+
115
116
  # Define the catcher to store inputs/kwargs and stop the execution
116
117
  def forward(layer, *args, **kwargs):
117
118
  """
@@ -119,10 +119,9 @@ def gather_single_batch_from_list(data_list, idx):
119
119
 
120
120
 
121
121
  def get_numerical_padding(
122
- layer: torch.nn.Conv1d
123
- | torch.nn.Conv2d
124
- | torch.nn.Conv3d
125
- | torch.nn.ConvTranspose2d,
122
+ layer: (
123
+ torch.nn.Conv1d | torch.nn.Conv2d | torch.nn.Conv3d | torch.nn.ConvTranspose2d
124
+ ),
126
125
  ) -> int | tuple[int, ...]:
127
126
  padding: str | int | tuple[int, ...] = layer.padding
128
127
  if isinstance(padding, str):
@@ -320,6 +320,8 @@ class GPTQ:
320
320
  dtype=self.hessian_dtype,
321
321
  )
322
322
  self.nsamples = 0
323
+ self.effective_observation_count = 0.0
324
+ self.percdamp_used: Optional[float] = None
323
325
  self.quantizer: Quantizer = Quantizer()
324
326
 
325
327
  # GPTQv2: for tracking FP vs quantized input difference
@@ -407,6 +409,9 @@ class GPTQ:
407
409
  elif isinstance(self.layer, nn.Conv3d):
408
410
  inp = _conv3d_input_to_unfolded(self.layer, inp)
409
411
 
412
+ observations = int(inp.shape[1])
413
+ self.effective_observation_count += float(observations)
414
+
410
415
  # GPTQv2: Apply the same reshaping to native_inp
411
416
  native_inp = None
412
417
  if native_inp_raw is not None:
@@ -444,9 +449,11 @@ class GPTQ:
444
449
  dilation=(1, self.layer.dilation[0]),
445
450
  padding=(
446
451
  0,
447
- 0
448
- if self.layer.padding == "valid"
449
- else int(self.layer.padding[0]),
452
+ (
453
+ 0
454
+ if self.layer.padding == "valid"
455
+ else int(self.layer.padding[0])
456
+ ),
450
457
  ),
451
458
  stride=(1, self.layer.stride[0]),
452
459
  )
@@ -502,11 +509,141 @@ class GPTQ:
502
509
  del native_inp_raw, native_inp
503
510
  native_inp_raw = native_inp = None
504
511
 
512
+ def _validate_hinv(
513
+ self,
514
+ hinv: torch.Tensor,
515
+ percdamp: float,
516
+ instability_ratio: float = 1e8,
517
+ ) -> None:
518
+ """
519
+ Validate the inverse-Hessian Cholesky factor used by GPTQ updates.
520
+ """
521
+ if not torch.isfinite(hinv).all():
522
+ raise RuntimeError(
523
+ "GPTQ Hessian inverse Cholesky produced non-finite values "
524
+ f"with percdamp={percdamp}."
525
+ )
526
+
527
+ diag = torch.diag(hinv)
528
+ if not torch.isfinite(diag).all() or torch.any(diag <= 0):
529
+ raise RuntimeError(
530
+ "GPTQ Hessian inverse Cholesky has an invalid diagonal "
531
+ f"with percdamp={percdamp}."
532
+ )
533
+
534
+ median_diag = diag.abs().median().clamp_min(torch.finfo(hinv.dtype).tiny)
535
+ max_abs = hinv.abs().max()
536
+ if max_abs / median_diag > instability_ratio:
537
+ raise RuntimeError(
538
+ "GPTQ Hessian inverse Cholesky appears numerically unstable: "
539
+ f"max_abs={max_abs.item():.4e}, "
540
+ f"median_diag={median_diag.item():.4e}, "
541
+ f"percdamp={percdamp}."
542
+ )
543
+
544
+ def _damping_precheck(
545
+ self, h: torch.Tensor, percdamp: float
546
+ ) -> tuple[torch.Tensor, torch.Tensor]:
547
+ """Validate damping inputs; return the diagonal index and its mean."""
548
+ if percdamp <= 0:
549
+ raise ValueError(f"percdamp must be positive. got {percdamp}")
550
+ diag = torch.arange(self.columns, device=self.dev)
551
+ diag_mean = torch.mean(torch.diag(h))
552
+ if not torch.isfinite(diag_mean) or diag_mean <= 0:
553
+ raise RuntimeError(
554
+ "GPTQ Hessian has a non-positive or non-finite diagonal mean "
555
+ f"before damping: {diag_mean.item()}."
556
+ )
557
+ return diag, diag_mean
558
+
559
+ def _factorize_hessian_inverse_once(
560
+ self,
561
+ h: torch.Tensor,
562
+ diag: torch.Tensor,
563
+ diag_mean: torch.Tensor,
564
+ percdamp: float,
565
+ ) -> torch.Tensor:
566
+ """Run one attempt; keep its temporary tensors in this frame only."""
567
+ h_try = h.clone()
568
+ h_try[diag, diag] += percdamp * diag_mean
569
+ chol = torch.linalg.cholesky(h_try)
570
+ del h_try
571
+ hinv = torch.cholesky_inverse(chol)
572
+ del chol
573
+ hinv = torch.linalg.cholesky(hinv, upper=True)
574
+ self._validate_hinv(hinv, percdamp)
575
+ return hinv
576
+
577
+ def _factorize_hessian_inverse(
578
+ self,
579
+ h: torch.Tensor,
580
+ percdamp: float,
581
+ percdamp_max: Optional[float] = None,
582
+ retry_factor: float = 2.5,
583
+ max_retries: int = 5,
584
+ ) -> torch.Tensor:
585
+ """Retry auto-mode factorization without retaining failed attempts."""
586
+ if percdamp_max is None:
587
+ raise ValueError(
588
+ "percdamp_max is required for the retry path; the static "
589
+ "single-attempt path is inlined in fasterquant."
590
+ )
591
+ if percdamp_max < percdamp:
592
+ raise ValueError(
593
+ "percdamp_max must be >= percdamp. " f"got {percdamp_max} < {percdamp}"
594
+ )
595
+
596
+ diag, diag_mean = self._damping_precheck(h, percdamp)
597
+
598
+ cur_percdamp = float(percdamp)
599
+ ceiling = float(percdamp_max)
600
+ attempts = 0
601
+ last_error_text = ""
602
+
603
+ while True:
604
+ attempts += 1
605
+ try:
606
+ hinv = self._factorize_hessian_inverse_once(
607
+ h, diag, diag_mean, cur_percdamp
608
+ )
609
+ except torch.OutOfMemoryError:
610
+ # Damping cannot fix an OOM. Preserve the original exception.
611
+ raise
612
+ except RuntimeError as exc:
613
+ # Keep diagnostic text only, not the exception or traceback.
614
+ # Python clears `exc` when this handler exits, allowing the
615
+ # failed helper frame and its temporaries to be released
616
+ # before the next attempt allocates anything.
617
+ last_error_text = f"{type(exc).__name__}: {exc}"
618
+ else:
619
+ self.percdamp_used = cur_percdamp
620
+ return hinv
621
+
622
+ # Keep the existing escalation policy and final ceiling attempt.
623
+ if cur_percdamp >= ceiling:
624
+ break
625
+ if attempts >= max_retries:
626
+ cur_percdamp = ceiling
627
+ else:
628
+ cur_percdamp = min(ceiling, cur_percdamp * retry_factor)
629
+
630
+ raise RuntimeError(
631
+ "GPTQ Hessian factorization failed or became numerically unstable "
632
+ f"after {attempts} attempt(s). "
633
+ f"start_percdamp={percdamp}, last_percdamp={cur_percdamp}, "
634
+ f"retry_ceiling={percdamp_max}. "
635
+ "The final attempt used the configured retry ceiling. "
636
+ "Increase percdamp or raise the retry ceiling "
637
+ "(auto_percdamp_retry_max). "
638
+ f"Last error: {last_error_text}"
639
+ ) from None
640
+
505
641
  @torch.no_grad()
506
642
  def fasterquant(
507
643
  self,
508
644
  blocksize: int = 128,
509
645
  percdamp: float = 0.01,
646
+ percdamp_max: Optional[float] = None,
510
647
  groupsize: int = -1,
511
648
  actorder: bool = False,
512
649
  static_groups: bool = False,
@@ -517,7 +654,12 @@ class GPTQ:
517
654
 
518
655
  Args:
519
656
  blocksize: Number of columns processed at a time.
520
- percdamp: Damping factor relative to the average Hessian diagonal.
657
+ percdamp: Starting damping factor relative to the average Hessian
658
+ diagonal.
659
+ percdamp_max: Optional retry ceiling. If factorization fails or
660
+ the inverse looks unstable, damping is increased geometrically
661
+ up to this value. This is a retry ceiling, independent of any
662
+ clamp the caller applied to ``percdamp``.
521
663
  groupsize: Group size for grouped quantization. -1 disables grouping.
522
664
  actorder: Whether to reorder columns by Hessian diagonal magnitude.
523
665
  static_groups: Whether to precompute group quantizers.
@@ -587,13 +729,36 @@ class GPTQ:
587
729
  losses = torch.zeros_like(w)
588
730
  q_all = torch.zeros_like(w)
589
731
 
590
- damp = percdamp * torch.mean(torch.diag(h))
591
- diag = torch.arange(self.columns, device=self.dev)
592
- h[diag, diag] += damp
593
- h = torch.linalg.cholesky(h)
594
- h = torch.cholesky_inverse(h)
595
- h = torch.linalg.cholesky(h, upper=True)
596
- hinv = h
732
+ if percdamp_max is None:
733
+ # Static single attempt: in-place factorization.
734
+ diag, diag_mean = self._damping_precheck(h, percdamp)
735
+ try:
736
+ h[diag, diag] += percdamp * diag_mean
737
+ chol = torch.linalg.cholesky(h)
738
+ del h # release the damped Hessian before building the inverse
739
+ hinv = torch.cholesky_inverse(chol)
740
+ del chol # release the lower factor before the final Cholesky
741
+ hinv = torch.linalg.cholesky(hinv, upper=True)
742
+ self._validate_hinv(hinv, percdamp)
743
+ self.percdamp_used = float(percdamp)
744
+ except torch.OutOfMemoryError:
745
+ raise
746
+ except RuntimeError as exc:
747
+ raise RuntimeError(
748
+ "GPTQ Hessian factorization failed or became numerically "
749
+ f"unstable after 1 attempt(s). start_percdamp={percdamp}, "
750
+ f"last_percdamp={percdamp}, retry_ceiling=None. "
751
+ "No retry ceiling was provided (static percdamp_mode). "
752
+ "Increase percdamp or enable percdamp_mode='auto' with "
753
+ "auto_percdamp_retry_max."
754
+ ) from exc
755
+ else:
756
+ hinv = self._factorize_hessian_inverse(
757
+ h,
758
+ percdamp=percdamp,
759
+ percdamp_max=percdamp_max,
760
+ )
761
+ del h # the undamped original is no longer needed after retries
597
762
 
598
763
  # GPTQv2: Compute P correction matrix from dXXT
599
764
  P = None