executorch 1.1.0__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2784) hide show
  1. executorch/backends/__init__.py +0 -0
  2. executorch/backends/aoti/aoti_backend.py +271 -0
  3. executorch/backends/aoti/aoti_partitioner.py +109 -0
  4. executorch/backends/aoti/passes/replace_view_copy_with_view.py +118 -0
  5. executorch/backends/apple/coreml/compiler/__init__.py +9 -0
  6. executorch/backends/apple/coreml/compiler/coreml_preprocess.py +588 -0
  7. executorch/backends/apple/coreml/compiler/enumerated_shape_utils.py +244 -0
  8. executorch/backends/apple/coreml/compiler/torch_ops.py +219 -0
  9. executorch/backends/apple/coreml/executorchcoreml.pyi +10 -0
  10. executorch/backends/apple/coreml/logging.py +24 -0
  11. executorch/backends/apple/coreml/partition/__init__.py +9 -0
  12. executorch/backends/apple/coreml/partition/coreml_partitioner.py +307 -0
  13. executorch/backends/apple/coreml/quantizer/__init__.py +9 -0
  14. executorch/backends/apple/coreml/quantizer/_annotation_config.py +130 -0
  15. executorch/backends/apple/coreml/quantizer/_coreml_quantizer.py +628 -0
  16. executorch/backends/apple/coreml/quantizer/_coreml_quantizer_utils.py +800 -0
  17. executorch/backends/apple/coreml/quantizer/coreml_quantizer.py +7 -0
  18. executorch/backends/apple/coreml/recipes/__init__.py +17 -0
  19. executorch/backends/apple/coreml/recipes/coreml_recipe_provider.py +413 -0
  20. executorch/backends/apple/coreml/recipes/coreml_recipe_types.py +53 -0
  21. executorch/backends/apple/coreml/runtime/test/export_stateful_model.py +77 -0
  22. executorch/backends/apple/coreml/test/test_coreml_partitioner.py +348 -0
  23. executorch/backends/apple/coreml/test/test_coreml_quantizer.py +172 -0
  24. executorch/backends/apple/coreml/test/test_coreml_recipes.py +552 -0
  25. executorch/backends/apple/coreml/test/test_coreml_utils.py +19 -0
  26. executorch/backends/apple/coreml/test/test_enumerated_shapes.py +112 -0
  27. executorch/backends/apple/coreml/test/test_torch_ops.py +333 -0
  28. executorch/backends/apple/coreml/test/tester.py +121 -0
  29. executorch/backends/apple/metal/metal_backend.py +67 -0
  30. executorch/backends/apple/metal/metal_partitioner.py +25 -0
  31. executorch/backends/apple/metal/tests/__init__.py +5 -0
  32. executorch/backends/apple/metal/tests/test_metal_backend.py +79 -0
  33. executorch/backends/apple/metal/tests/test_metal_partitioner.py +172 -0
  34. executorch/backends/apple/mps/__init__.py +10 -0
  35. executorch/backends/apple/mps/mps_preprocess.py +301 -0
  36. executorch/backends/apple/mps/operators/__init__.py +77 -0
  37. executorch/backends/apple/mps/operators/activation_ops.py +99 -0
  38. executorch/backends/apple/mps/operators/binary_ops.py +156 -0
  39. executorch/backends/apple/mps/operators/clamp_ops.py +60 -0
  40. executorch/backends/apple/mps/operators/constant_ops.py +128 -0
  41. executorch/backends/apple/mps/operators/convolution_ops.py +70 -0
  42. executorch/backends/apple/mps/operators/indexing_ops.py +225 -0
  43. executorch/backends/apple/mps/operators/linear_algebra_ops.py +52 -0
  44. executorch/backends/apple/mps/operators/node_visitor.py +473 -0
  45. executorch/backends/apple/mps/operators/normalization_ops.py +97 -0
  46. executorch/backends/apple/mps/operators/op_clone.py +54 -0
  47. executorch/backends/apple/mps/operators/op_getitem.py +29 -0
  48. executorch/backends/apple/mps/operators/op_quant_dequant.py +142 -0
  49. executorch/backends/apple/mps/operators/op_skip_ops.py +24 -0
  50. executorch/backends/apple/mps/operators/pad_ops.py +37 -0
  51. executorch/backends/apple/mps/operators/pooling_ops.py +142 -0
  52. executorch/backends/apple/mps/operators/range_ops.py +53 -0
  53. executorch/backends/apple/mps/operators/reduce_ops.py +39 -0
  54. executorch/backends/apple/mps/operators/shape_ops.py +263 -0
  55. executorch/backends/apple/mps/operators/unary_ops.py +130 -0
  56. executorch/backends/apple/mps/partition/__init__.py +10 -0
  57. executorch/backends/apple/mps/partition/mps_partitioner.py +133 -0
  58. executorch/backends/apple/mps/serialization/mps_graph_schema.py +817 -0
  59. executorch/backends/apple/mps/serialization/mps_graph_serialize.py +34 -0
  60. executorch/backends/apple/mps/serialization/schema.fbs +523 -0
  61. executorch/backends/apple/mps/test/test_mps.py +2507 -0
  62. executorch/backends/apple/mps/test/test_mps_binary_ops.py +296 -0
  63. executorch/backends/apple/mps/test/test_mps_indexing_ops.py +264 -0
  64. executorch/backends/apple/mps/test/test_mps_linear.py +523 -0
  65. executorch/backends/apple/mps/test/test_mps_models.py +416 -0
  66. executorch/backends/apple/mps/test/test_mps_unary_ops.py +26 -0
  67. executorch/backends/apple/mps/test/test_mps_utils.py +326 -0
  68. executorch/backends/apple/mps/utils/mps_utils.py +82 -0
  69. executorch/backends/apple/mps/utils/quant_utils.py +41 -0
  70. executorch/backends/arm/_passes/__init__.py +134 -0
  71. executorch/backends/arm/_passes/_debug_passes.py +58 -0
  72. executorch/backends/arm/_passes/annotate_decomposed_matmul.py +127 -0
  73. executorch/backends/arm/_passes/annotate_output_dim_order_pass.py +26 -0
  74. executorch/backends/arm/_passes/arm_pass.py +95 -0
  75. executorch/backends/arm/_passes/arm_pass_manager.py +462 -0
  76. executorch/backends/arm/_passes/arm_pass_utils.py +281 -0
  77. executorch/backends/arm/_passes/broadcast_args_pass.py +72 -0
  78. executorch/backends/arm/_passes/cast_int64_pass.py +70 -0
  79. executorch/backends/arm/_passes/cast_to_int32_pass.py +67 -0
  80. executorch/backends/arm/_passes/conv1d_unsqueeze_pass.py +98 -0
  81. executorch/backends/arm/_passes/convert_elu_params.py +67 -0
  82. executorch/backends/arm/_passes/convert_expand_copy_to_repeat.py +77 -0
  83. executorch/backends/arm/_passes/convert_full_like_to_full_pass.py +42 -0
  84. executorch/backends/arm/_passes/convert_int64_const_ops_to_int32.py +81 -0
  85. executorch/backends/arm/_passes/convert_int64_output_ops_to_int32.py +155 -0
  86. executorch/backends/arm/_passes/convert_minmax_pass.py +166 -0
  87. executorch/backends/arm/_passes/convert_permute_singleton_to_view_pass.py +64 -0
  88. executorch/backends/arm/_passes/convert_split_to_slice.py +132 -0
  89. executorch/backends/arm/_passes/convert_squeezes_to_view.py +36 -0
  90. executorch/backends/arm/_passes/convert_to_clamp_pass.py +45 -0
  91. executorch/backends/arm/_passes/decompose_acosh_pass.py +77 -0
  92. executorch/backends/arm/_passes/decompose_adaptive_avg_pool2d_pass.py +112 -0
  93. executorch/backends/arm/_passes/decompose_add_sub_alpha_pass.py +98 -0
  94. executorch/backends/arm/_passes/decompose_addmm_pass.py +72 -0
  95. executorch/backends/arm/_passes/decompose_any_pass.py +114 -0
  96. executorch/backends/arm/_passes/decompose_asin_and_acos_pass.py +236 -0
  97. executorch/backends/arm/_passes/decompose_asinh_pass.py +74 -0
  98. executorch/backends/arm/_passes/decompose_atan_pass.py +142 -0
  99. executorch/backends/arm/_passes/decompose_atanh_pass.py +86 -0
  100. executorch/backends/arm/_passes/decompose_avg_pool2d_pass.py +154 -0
  101. executorch/backends/arm/_passes/decompose_batch_norm_no_stats.py +233 -0
  102. executorch/backends/arm/_passes/decompose_cosh_pass.py +72 -0
  103. executorch/backends/arm/_passes/decompose_cosine_similarity_pass.py +92 -0
  104. executorch/backends/arm/_passes/decompose_cumsum_pass.py +167 -0
  105. executorch/backends/arm/_passes/decompose_div_pass.py +61 -0
  106. executorch/backends/arm/_passes/decompose_div_tensor_mode.py +94 -0
  107. executorch/backends/arm/_passes/decompose_elu_pass.py +107 -0
  108. executorch/backends/arm/_passes/decompose_embedding_pass.py +126 -0
  109. executorch/backends/arm/_passes/decompose_expm1_pass.py +163 -0
  110. executorch/backends/arm/_passes/decompose_floor_divide_pass.py +75 -0
  111. executorch/backends/arm/_passes/decompose_gelu_pass.py +172 -0
  112. executorch/backends/arm/_passes/decompose_glu_pass.py +81 -0
  113. executorch/backends/arm/_passes/decompose_grouped_conv_pass.py +185 -0
  114. executorch/backends/arm/_passes/decompose_groupnorm_pass.py +227 -0
  115. executorch/backends/arm/_passes/decompose_int16_activation_conv_pass.py +137 -0
  116. executorch/backends/arm/_passes/decompose_int_pow_pass.py +64 -0
  117. executorch/backends/arm/_passes/decompose_layernorm_pass.py +203 -0
  118. executorch/backends/arm/_passes/decompose_leaky_relu_pass.py +76 -0
  119. executorch/backends/arm/_passes/decompose_linalg_vector_norm_pass.py +92 -0
  120. executorch/backends/arm/_passes/decompose_linear_pass.py +109 -0
  121. executorch/backends/arm/_passes/decompose_log1p_pass.py +97 -0
  122. executorch/backends/arm/_passes/decompose_logit_pass.py +119 -0
  123. executorch/backends/arm/_passes/decompose_masked_fill_pass.py +58 -0
  124. executorch/backends/arm/_passes/decompose_maxpool2d_with_dilation_pass.py +218 -0
  125. executorch/backends/arm/_passes/decompose_meandim_pass.py +283 -0
  126. executorch/backends/arm/_passes/decompose_ne_pass.py +74 -0
  127. executorch/backends/arm/_passes/decompose_quant_nodes.py +156 -0
  128. executorch/backends/arm/_passes/decompose_remainder_pass.py +70 -0
  129. executorch/backends/arm/_passes/decompose_round_pass.py +96 -0
  130. executorch/backends/arm/_passes/decompose_sdpa_pass.py +36 -0
  131. executorch/backends/arm/_passes/decompose_select.py +75 -0
  132. executorch/backends/arm/_passes/decompose_select_scatter_pass.py +143 -0
  133. executorch/backends/arm/_passes/decompose_sign_pass.py +78 -0
  134. executorch/backends/arm/_passes/decompose_silu_pass.py +41 -0
  135. executorch/backends/arm/_passes/decompose_sinh_pass.py +77 -0
  136. executorch/backends/arm/_passes/decompose_softmax_pass.py +93 -0
  137. executorch/backends/arm/_passes/decompose_softmax_unstable_pass.py +86 -0
  138. executorch/backends/arm/_passes/decompose_sqrt_pass.py +53 -0
  139. executorch/backends/arm/_passes/decompose_sum_pass.py +93 -0
  140. executorch/backends/arm/_passes/decompose_tan_pass.py +51 -0
  141. executorch/backends/arm/_passes/decompose_tosa_unsupported_clamp_pass.py +97 -0
  142. executorch/backends/arm/_passes/decompose_var_pass.py +109 -0
  143. executorch/backends/arm/_passes/decorate_fp32_to_int32_casting_pass.py +88 -0
  144. executorch/backends/arm/_passes/fold_qdq_with_annotated_qparams_pass.py +394 -0
  145. executorch/backends/arm/_passes/fuse_batch_norm2d_pass.py +241 -0
  146. executorch/backends/arm/_passes/fuse_constant_ops_pass.py +272 -0
  147. executorch/backends/arm/_passes/fuse_duplicate_users_pass.py +165 -0
  148. executorch/backends/arm/_passes/fuse_equal_placeholders_pass.py +104 -0
  149. executorch/backends/arm/_passes/fuse_quantized_activation_pass.py +80 -0
  150. executorch/backends/arm/_passes/fuse_view_copy_transform_pass.py +14 -0
  151. executorch/backends/arm/_passes/insert_int32_casts_after_int64_placeholders.py +130 -0
  152. executorch/backends/arm/_passes/insert_rescales_pass.py +584 -0
  153. executorch/backends/arm/_passes/insert_table_ops.py +305 -0
  154. executorch/backends/arm/_passes/match_arg_dtype_pass.py +104 -0
  155. executorch/backends/arm/_passes/match_arg_ranks_pass.py +114 -0
  156. executorch/backends/arm/_passes/mm_to_bmm_pass.py +104 -0
  157. executorch/backends/arm/_passes/normalize_while_initial_args_pass.py +113 -0
  158. executorch/backends/arm/_passes/promote_bool_operands_pass.py +88 -0
  159. executorch/backends/arm/_passes/quant_args.py +125 -0
  160. executorch/backends/arm/_passes/remove_getitem_pass.py +14 -0
  161. executorch/backends/arm/_passes/remove_graph_asserts_pass.py +18 -0
  162. executorch/backends/arm/_passes/remove_noop_pass.py +40 -0
  163. executorch/backends/arm/_passes/replace_inf_and_limit_values_pass.py +73 -0
  164. executorch/backends/arm/_passes/replace_scalar_with_tensor_pass.py +121 -0
  165. executorch/backends/arm/_passes/rewrite_bool_bitwise_not_to_logical_not_pass.py +43 -0
  166. executorch/backends/arm/_passes/rewrite_bool_to_fp32_cast_via_int8_pass.py +77 -0
  167. executorch/backends/arm/_passes/rewrite_conv_pass.py +336 -0
  168. executorch/backends/arm/_passes/rewrite_matmul.py +98 -0
  169. executorch/backends/arm/_passes/rewrite_upsample.py +93 -0
  170. executorch/backends/arm/_passes/scalars_to_attribute_pass.py +97 -0
  171. executorch/backends/arm/_passes/size_adjust_input_pass.py +227 -0
  172. executorch/backends/arm/_passes/to_tosa_memory_format_pass.py +454 -0
  173. executorch/backends/arm/_passes/unsqueeze_before_repeat_pass.py +66 -0
  174. executorch/backends/arm/_passes/unsqueeze_scalar_placeholders_pass.py +85 -0
  175. executorch/backends/arm/arm_vela.py +137 -0
  176. executorch/backends/arm/common/__init__.py +4 -0
  177. executorch/backends/arm/common/annotation_meta.py +39 -0
  178. executorch/backends/arm/common/arm_compile_spec.py +271 -0
  179. executorch/backends/arm/common/debug.py +79 -0
  180. executorch/backends/arm/common/pipeline_config.py +59 -0
  181. executorch/backends/arm/common/type.py +28 -0
  182. executorch/backends/arm/constants.py +48 -0
  183. executorch/backends/arm/debug/__init__.py +4 -0
  184. executorch/backends/arm/debug/schema.py +145 -0
  185. executorch/backends/arm/ethosu/__init__.py +11 -0
  186. executorch/backends/arm/ethosu/backend.py +115 -0
  187. executorch/backends/arm/ethosu/compile_spec.py +117 -0
  188. executorch/backends/arm/ethosu/partitioner.py +35 -0
  189. executorch/backends/arm/operator_support/__init__.py +23 -0
  190. executorch/backends/arm/operator_support/clone_dim_order_support.py +82 -0
  191. executorch/backends/arm/operator_support/control_flow_support.py +162 -0
  192. executorch/backends/arm/operator_support/convolution_support.py +160 -0
  193. executorch/backends/arm/operator_support/embedding_support.py +61 -0
  194. executorch/backends/arm/operator_support/ethos_u55_support.py +598 -0
  195. executorch/backends/arm/operator_support/index_select_support.py +60 -0
  196. executorch/backends/arm/operator_support/index_tensor_support.py +160 -0
  197. executorch/backends/arm/operator_support/minmax_support.py +61 -0
  198. executorch/backends/arm/operator_support/pool_2d_support.py +214 -0
  199. executorch/backends/arm/operator_support/reduce_sum_support.py +76 -0
  200. executorch/backends/arm/operator_support/right_shift_support.py +52 -0
  201. executorch/backends/arm/operator_support/slice_copy_support.py +48 -0
  202. executorch/backends/arm/operator_support/to_dim_order_copy_support.py +200 -0
  203. executorch/backends/arm/operator_support/tosa_profile_supported_op_lists.py +251 -0
  204. executorch/backends/arm/operator_support/tosa_supported_operators.py +748 -0
  205. executorch/backends/arm/operator_support/where_support.py +77 -0
  206. executorch/backends/arm/operators/__init__.py +71 -0
  207. executorch/backends/arm/operators/node_visitor.py +177 -0
  208. executorch/backends/arm/operators/op_abs.py +59 -0
  209. executorch/backends/arm/operators/op_add.py +60 -0
  210. executorch/backends/arm/operators/op_amax.py +72 -0
  211. executorch/backends/arm/operators/op_amin.py +73 -0
  212. executorch/backends/arm/operators/op_any.py +61 -0
  213. executorch/backends/arm/operators/op_avg_pool2d.py +142 -0
  214. executorch/backends/arm/operators/op_bitwise_not.py +62 -0
  215. executorch/backends/arm/operators/op_cat.py +68 -0
  216. executorch/backends/arm/operators/op_ceil.py +56 -0
  217. executorch/backends/arm/operators/op_clamp.py +118 -0
  218. executorch/backends/arm/operators/op_cond_if.py +56 -0
  219. executorch/backends/arm/operators/op_constant_pad_nd.py +117 -0
  220. executorch/backends/arm/operators/op_cos.py +49 -0
  221. executorch/backends/arm/operators/op_eq.py +64 -0
  222. executorch/backends/arm/operators/op_erf.py +54 -0
  223. executorch/backends/arm/operators/op_exp.py +54 -0
  224. executorch/backends/arm/operators/op_floor.py +56 -0
  225. executorch/backends/arm/operators/op_ge.py +64 -0
  226. executorch/backends/arm/operators/op_gt.py +64 -0
  227. executorch/backends/arm/operators/op_index_select.py +109 -0
  228. executorch/backends/arm/operators/op_index_tensor.py +247 -0
  229. executorch/backends/arm/operators/op_le.py +64 -0
  230. executorch/backends/arm/operators/op_log.py +50 -0
  231. executorch/backends/arm/operators/op_logical_not.py +62 -0
  232. executorch/backends/arm/operators/op_lt.py +64 -0
  233. executorch/backends/arm/operators/op_max_pool2d.py +108 -0
  234. executorch/backends/arm/operators/op_maximum.py +66 -0
  235. executorch/backends/arm/operators/op_minimum.py +67 -0
  236. executorch/backends/arm/operators/op_mul.py +61 -0
  237. executorch/backends/arm/operators/op_neg.py +92 -0
  238. executorch/backends/arm/operators/op_permute.py +150 -0
  239. executorch/backends/arm/operators/op_pow.py +63 -0
  240. executorch/backends/arm/operators/op_reciprocal.py +51 -0
  241. executorch/backends/arm/operators/op_repeat.py +77 -0
  242. executorch/backends/arm/operators/op_rshift_tensor.py +62 -0
  243. executorch/backends/arm/operators/op_rsqrt.py +51 -0
  244. executorch/backends/arm/operators/op_sigmoid.py +50 -0
  245. executorch/backends/arm/operators/op_sin.py +49 -0
  246. executorch/backends/arm/operators/op_slice.py +151 -0
  247. executorch/backends/arm/operators/op_sub.py +63 -0
  248. executorch/backends/arm/operators/op_sum.py +64 -0
  249. executorch/backends/arm/operators/op_tanh.py +51 -0
  250. executorch/backends/arm/operators/op_to_dim_order_copy.py +49 -0
  251. executorch/backends/arm/operators/op_tosa_conv2d.py +139 -0
  252. executorch/backends/arm/operators/op_tosa_conv3d.py +24 -0
  253. executorch/backends/arm/operators/op_tosa_depthwise_conv2d.py +32 -0
  254. executorch/backends/arm/operators/op_tosa_matmul.py +102 -0
  255. executorch/backends/arm/operators/op_tosa_rescale.py +261 -0
  256. executorch/backends/arm/operators/op_tosa_resize.py +124 -0
  257. executorch/backends/arm/operators/op_tosa_table.py +72 -0
  258. executorch/backends/arm/operators/op_tosa_transpose.py +71 -0
  259. executorch/backends/arm/operators/op_view.py +81 -0
  260. executorch/backends/arm/operators/op_where.py +75 -0
  261. executorch/backends/arm/operators/op_while.py +103 -0
  262. executorch/backends/arm/operators/operator_validation_utils.py +201 -0
  263. executorch/backends/arm/operators/ops_binary.py +112 -0
  264. executorch/backends/arm/operators/ops_identity.py +80 -0
  265. executorch/backends/arm/process_node.py +230 -0
  266. executorch/backends/arm/quantizer/__init__.py +35 -0
  267. executorch/backends/arm/quantizer/arm_quantizer.py +710 -0
  268. executorch/backends/arm/quantizer/arm_quantizer_utils.py +76 -0
  269. executorch/backends/arm/quantizer/quantization_annotator.py +815 -0
  270. executorch/backends/arm/quantizer/quantization_config.py +228 -0
  271. executorch/backends/arm/scripts/collect_testname_resources.py +194 -0
  272. executorch/backends/arm/scripts/parse_test_names.py +271 -0
  273. executorch/backends/arm/test/common.py +302 -0
  274. executorch/backends/arm/test/conftest.py +134 -0
  275. executorch/backends/arm/test/misc/test_bn_relu_folding_qat.py +124 -0
  276. executorch/backends/arm/test/misc/test_call_operator_submodule.py +72 -0
  277. executorch/backends/arm/test/misc/test_compile_spec.py +55 -0
  278. executorch/backends/arm/test/misc/test_conv_relu_residual_add.py +108 -0
  279. executorch/backends/arm/test/misc/test_custom_partition.py +183 -0
  280. executorch/backends/arm/test/misc/test_debug_feats.py +316 -0
  281. executorch/backends/arm/test/misc/test_debug_hook.py +186 -0
  282. executorch/backends/arm/test/misc/test_dim_order.py +127 -0
  283. executorch/backends/arm/test/misc/test_dw_convs_with_shared_weights.py +46 -0
  284. executorch/backends/arm/test/misc/test_extract_io_params_tosa.py +92 -0
  285. executorch/backends/arm/test/misc/test_int64.py +112 -0
  286. executorch/backends/arm/test/misc/test_lifted_tensor.py +146 -0
  287. executorch/backends/arm/test/misc/test_mixed_type_lowering.py +83 -0
  288. executorch/backends/arm/test/misc/test_model_evaluator.py +58 -0
  289. executorch/backends/arm/test/misc/test_multiple_delegates.py +53 -0
  290. executorch/backends/arm/test/misc/test_multiple_outputs.py +70 -0
  291. executorch/backends/arm/test/misc/test_non_persistent_buffers.py +49 -0
  292. executorch/backends/arm/test/misc/test_outputs_order.py +122 -0
  293. executorch/backends/arm/test/misc/test_partition_decomposed_quantized_ops.py +181 -0
  294. executorch/backends/arm/test/misc/test_pass_pipeline_config.py +35 -0
  295. executorch/backends/arm/test/misc/test_pass_required_order.py +97 -0
  296. executorch/backends/arm/test/misc/test_qat_training_loop.py +100 -0
  297. executorch/backends/arm/test/misc/test_quant_custom_meta.py +105 -0
  298. executorch/backends/arm/test/misc/test_rescale_range.py +130 -0
  299. executorch/backends/arm/test/misc/test_save_exported_model.py +64 -0
  300. executorch/backends/arm/test/misc/test_tosa_dialect_conv2d.py +220 -0
  301. executorch/backends/arm/test/misc/test_tosa_dialect_dw_conv2d.py +227 -0
  302. executorch/backends/arm/test/misc/test_tosa_spec.py +169 -0
  303. executorch/backends/arm/test/models/stable_diffusion/stable_diffusion_module_test_configs.py +114 -0
  304. executorch/backends/arm/test/models/stable_diffusion/test_CLIPTextModelWithProjection.py +168 -0
  305. executorch/backends/arm/test/models/stable_diffusion/test_SD3Transformer2DModel.py +193 -0
  306. executorch/backends/arm/test/models/stable_diffusion/test_T5EncoderModel.py +161 -0
  307. executorch/backends/arm/test/models/stable_diffusion/test_vae_AutoencoderKL.py +118 -0
  308. executorch/backends/arm/test/models/test_conformer.py +138 -0
  309. executorch/backends/arm/test/models/test_deit_tiny_arm.py +120 -0
  310. executorch/backends/arm/test/models/test_dl3_arm.py +118 -0
  311. executorch/backends/arm/test/models/test_inception_v3_arm.py +120 -0
  312. executorch/backends/arm/test/models/test_llama.py +227 -0
  313. executorch/backends/arm/test/models/test_lstm_arm.py +194 -0
  314. executorch/backends/arm/test/models/test_mobilenet_v2_arm.py +179 -0
  315. executorch/backends/arm/test/models/test_mobilenet_v3_arm.py +113 -0
  316. executorch/backends/arm/test/models/test_nn_functional.py +124 -0
  317. executorch/backends/arm/test/models/test_nn_modules.py +161 -0
  318. executorch/backends/arm/test/models/test_nss.py +146 -0
  319. executorch/backends/arm/test/models/test_resnet18.py +98 -0
  320. executorch/backends/arm/test/models/test_torch_functions.py +151 -0
  321. executorch/backends/arm/test/models/test_w2l_arm.py +136 -0
  322. executorch/backends/arm/test/ops/test_abs.py +101 -0
  323. executorch/backends/arm/test/ops/test_acos.py +121 -0
  324. executorch/backends/arm/test/ops/test_acosh.py +137 -0
  325. executorch/backends/arm/test/ops/test_adaptive_avg_pool2d.py +242 -0
  326. executorch/backends/arm/test/ops/test_add.py +291 -0
  327. executorch/backends/arm/test/ops/test_addmm.py +285 -0
  328. executorch/backends/arm/test/ops/test_alias_copy.py +114 -0
  329. executorch/backends/arm/test/ops/test_amax.py +191 -0
  330. executorch/backends/arm/test/ops/test_amin.py +205 -0
  331. executorch/backends/arm/test/ops/test_any.py +210 -0
  332. executorch/backends/arm/test/ops/test_arange.py +258 -0
  333. executorch/backends/arm/test/ops/test_asin.py +105 -0
  334. executorch/backends/arm/test/ops/test_asinh.py +104 -0
  335. executorch/backends/arm/test/ops/test_at.py +256 -0
  336. executorch/backends/arm/test/ops/test_atan.py +111 -0
  337. executorch/backends/arm/test/ops/test_atanh.py +112 -0
  338. executorch/backends/arm/test/ops/test_avg_pool2d.py +295 -0
  339. executorch/backends/arm/test/ops/test_batch_norm.py +385 -0
  340. executorch/backends/arm/test/ops/test_bitwise.py +672 -0
  341. executorch/backends/arm/test/ops/test_bitwise_not.py +115 -0
  342. executorch/backends/arm/test/ops/test_bmm.py +193 -0
  343. executorch/backends/arm/test/ops/test_cat.py +219 -0
  344. executorch/backends/arm/test/ops/test_ceil.py +125 -0
  345. executorch/backends/arm/test/ops/test_clamp.py +474 -0
  346. executorch/backends/arm/test/ops/test_clone.py +150 -0
  347. executorch/backends/arm/test/ops/test_cond.py +338 -0
  348. executorch/backends/arm/test/ops/test_constant_pad_nd.py +119 -0
  349. executorch/backends/arm/test/ops/test_conv1d.py +356 -0
  350. executorch/backends/arm/test/ops/test_conv2d.py +592 -0
  351. executorch/backends/arm/test/ops/test_conv3d.py +711 -0
  352. executorch/backends/arm/test/ops/test_conv_combos.py +668 -0
  353. executorch/backends/arm/test/ops/test_conv_constant_pad_nd.py +145 -0
  354. executorch/backends/arm/test/ops/test_copy.py +171 -0
  355. executorch/backends/arm/test/ops/test_cos.py +115 -0
  356. executorch/backends/arm/test/ops/test_cosh.py +111 -0
  357. executorch/backends/arm/test/ops/test_cumsum.py +122 -0
  358. executorch/backends/arm/test/ops/test_depthwise_conv.py +404 -0
  359. executorch/backends/arm/test/ops/test_div.py +151 -0
  360. executorch/backends/arm/test/ops/test_div_tensor_mode.py +151 -0
  361. executorch/backends/arm/test/ops/test_elu.py +133 -0
  362. executorch/backends/arm/test/ops/test_embedding.py +146 -0
  363. executorch/backends/arm/test/ops/test_eq.py +286 -0
  364. executorch/backends/arm/test/ops/test_erf.py +96 -0
  365. executorch/backends/arm/test/ops/test_exp.py +110 -0
  366. executorch/backends/arm/test/ops/test_expand.py +153 -0
  367. executorch/backends/arm/test/ops/test_expm1.py +113 -0
  368. executorch/backends/arm/test/ops/test_eye.py +156 -0
  369. executorch/backends/arm/test/ops/test_fill_scalar.py +108 -0
  370. executorch/backends/arm/test/ops/test_floor.py +125 -0
  371. executorch/backends/arm/test/ops/test_floor_div.py +156 -0
  372. executorch/backends/arm/test/ops/test_full.py +255 -0
  373. executorch/backends/arm/test/ops/test_ge.py +292 -0
  374. executorch/backends/arm/test/ops/test_gelu.py +156 -0
  375. executorch/backends/arm/test/ops/test_glu.py +130 -0
  376. executorch/backends/arm/test/ops/test_group_norm.py +200 -0
  377. executorch/backends/arm/test/ops/test_gt.py +293 -0
  378. executorch/backends/arm/test/ops/test_hardsigmoid.py +114 -0
  379. executorch/backends/arm/test/ops/test_hardswish.py +104 -0
  380. executorch/backends/arm/test/ops/test_hardtanh.py +113 -0
  381. executorch/backends/arm/test/ops/test_index_select.py +177 -0
  382. executorch/backends/arm/test/ops/test_index_tensor.py +467 -0
  383. executorch/backends/arm/test/ops/test_layer_norm.py +186 -0
  384. executorch/backends/arm/test/ops/test_le.py +296 -0
  385. executorch/backends/arm/test/ops/test_leaky_relu.py +125 -0
  386. executorch/backends/arm/test/ops/test_linalg_vector_norm.py +160 -0
  387. executorch/backends/arm/test/ops/test_linear.py +389 -0
  388. executorch/backends/arm/test/ops/test_log.py +100 -0
  389. executorch/backends/arm/test/ops/test_log1p.py +78 -0
  390. executorch/backends/arm/test/ops/test_logical.py +429 -0
  391. executorch/backends/arm/test/ops/test_logit.py +119 -0
  392. executorch/backends/arm/test/ops/test_logsoftmax.py +124 -0
  393. executorch/backends/arm/test/ops/test_lshift.py +220 -0
  394. executorch/backends/arm/test/ops/test_lt.py +293 -0
  395. executorch/backends/arm/test/ops/test_masked_fill.py +171 -0
  396. executorch/backends/arm/test/ops/test_matmul.py +289 -0
  397. executorch/backends/arm/test/ops/test_max_pool.py +329 -0
  398. executorch/backends/arm/test/ops/test_maximum.py +98 -0
  399. executorch/backends/arm/test/ops/test_mean_dim.py +388 -0
  400. executorch/backends/arm/test/ops/test_minimum.py +98 -0
  401. executorch/backends/arm/test/ops/test_mm.py +93 -0
  402. executorch/backends/arm/test/ops/test_mul.py +376 -0
  403. executorch/backends/arm/test/ops/test_multihead_attention.py +138 -0
  404. executorch/backends/arm/test/ops/test_ne.py +243 -0
  405. executorch/backends/arm/test/ops/test_neg.py +99 -0
  406. executorch/backends/arm/test/ops/test_ones.py +152 -0
  407. executorch/backends/arm/test/ops/test_permute.py +256 -0
  408. executorch/backends/arm/test/ops/test_pixel_shuffling.py +237 -0
  409. executorch/backends/arm/test/ops/test_pow.py +204 -0
  410. executorch/backends/arm/test/ops/test_reciprocal.py +112 -0
  411. executorch/backends/arm/test/ops/test_relu.py +166 -0
  412. executorch/backends/arm/test/ops/test_remainder.py +199 -0
  413. executorch/backends/arm/test/ops/test_repeat.py +162 -0
  414. executorch/backends/arm/test/ops/test_round.py +111 -0
  415. executorch/backends/arm/test/ops/test_rshift.py +226 -0
  416. executorch/backends/arm/test/ops/test_rsqrt.py +153 -0
  417. executorch/backends/arm/test/ops/test_rsub.py +126 -0
  418. executorch/backends/arm/test/ops/test_scalar_tensor.py +135 -0
  419. executorch/backends/arm/test/ops/test_scalars.py +438 -0
  420. executorch/backends/arm/test/ops/test_sdpa.py +73 -0
  421. executorch/backends/arm/test/ops/test_select.py +219 -0
  422. executorch/backends/arm/test/ops/test_select_scatter.py +173 -0
  423. executorch/backends/arm/test/ops/test_sigmoid.py +357 -0
  424. executorch/backends/arm/test/ops/test_sigmoid_32bit.py +177 -0
  425. executorch/backends/arm/test/ops/test_sign.py +113 -0
  426. executorch/backends/arm/test/ops/test_silu.py +174 -0
  427. executorch/backends/arm/test/ops/test_sin.py +108 -0
  428. executorch/backends/arm/test/ops/test_sinh.py +103 -0
  429. executorch/backends/arm/test/ops/test_slice.py +217 -0
  430. executorch/backends/arm/test/ops/test_softmax.py +121 -0
  431. executorch/backends/arm/test/ops/test_split.py +312 -0
  432. executorch/backends/arm/test/ops/test_sqrt.py +112 -0
  433. executorch/backends/arm/test/ops/test_squeeze.py +291 -0
  434. executorch/backends/arm/test/ops/test_stack.py +150 -0
  435. executorch/backends/arm/test/ops/test_sub.py +366 -0
  436. executorch/backends/arm/test/ops/test_sum.py +161 -0
  437. executorch/backends/arm/test/ops/test_t_copy.py +115 -0
  438. executorch/backends/arm/test/ops/test_tan.py +146 -0
  439. executorch/backends/arm/test/ops/test_tanh.py +169 -0
  440. executorch/backends/arm/test/ops/test_to_copy.py +296 -0
  441. executorch/backends/arm/test/ops/test_transpose_copy.py +114 -0
  442. executorch/backends/arm/test/ops/test_unary_combos.py +144 -0
  443. executorch/backends/arm/test/ops/test_unbind.py +82 -0
  444. executorch/backends/arm/test/ops/test_unflatten.py +107 -0
  445. executorch/backends/arm/test/ops/test_unsqueeze.py +107 -0
  446. executorch/backends/arm/test/ops/test_upsample_bilinear2d.py +443 -0
  447. executorch/backends/arm/test/ops/test_upsample_nearest2d.py +520 -0
  448. executorch/backends/arm/test/ops/test_var.py +394 -0
  449. executorch/backends/arm/test/ops/test_view.py +253 -0
  450. executorch/backends/arm/test/ops/test_where.py +285 -0
  451. executorch/backends/arm/test/ops/test_while.py +264 -0
  452. executorch/backends/arm/test/ops/test_zeros.py +158 -0
  453. executorch/backends/arm/test/passes/test_broadcast_args_pass.py +57 -0
  454. executorch/backends/arm/test/passes/test_cast_int64_pass.py +49 -0
  455. executorch/backends/arm/test/passes/test_convert_expand_copy_to_repeat.py +51 -0
  456. executorch/backends/arm/test/passes/test_convert_int64_const_ops_to_int32.py +529 -0
  457. executorch/backends/arm/test/passes/test_convert_int64_output_ops_to_int32.py +129 -0
  458. executorch/backends/arm/test/passes/test_convert_permute_singleton_to_view_pass.py +100 -0
  459. executorch/backends/arm/test/passes/test_convert_split_to_slice.py +75 -0
  460. executorch/backends/arm/test/passes/test_convert_to_clamp.py +92 -0
  461. executorch/backends/arm/test/passes/test_decompose_avg_pool2d_pass.py +82 -0
  462. executorch/backends/arm/test/passes/test_decompose_cosine_similarity_pass.py +58 -0
  463. executorch/backends/arm/test/passes/test_decompose_div_pass.py +70 -0
  464. executorch/backends/arm/test/passes/test_decompose_int_pow_pass.py +80 -0
  465. executorch/backends/arm/test/passes/test_decompose_layernorm_pass.py +69 -0
  466. executorch/backends/arm/test/passes/test_decompose_linalg_vector_norm_pass.py +107 -0
  467. executorch/backends/arm/test/passes/test_decompose_meandim_pass.py +137 -0
  468. executorch/backends/arm/test/passes/test_decompose_quant_nodes.py +44 -0
  469. executorch/backends/arm/test/passes/test_decompose_softmax_pass.py +103 -0
  470. executorch/backends/arm/test/passes/test_decompose_tosa_unsupported_clamp_pass.py +73 -0
  471. executorch/backends/arm/test/passes/test_decompose_var_pass.py +89 -0
  472. executorch/backends/arm/test/passes/test_decorate_fp32_to_int32_casting_pass.py +85 -0
  473. executorch/backends/arm/test/passes/test_fold_qdq_pass.py +51 -0
  474. executorch/backends/arm/test/passes/test_fuse_batchnorm_pass.py +164 -0
  475. executorch/backends/arm/test/passes/test_fuse_constant_ops_pass.py +177 -0
  476. executorch/backends/arm/test/passes/test_fuse_duplicate_users_pass.py +70 -0
  477. executorch/backends/arm/test/passes/test_fuse_equal_placeholders_ops_pass.py +170 -0
  478. executorch/backends/arm/test/passes/test_fuse_view_copy.py +82 -0
  479. executorch/backends/arm/test/passes/test_insert_int32_casts_after_int64_placeholders_pass.py +114 -0
  480. executorch/backends/arm/test/passes/test_insert_rescale_i32_pass.py +107 -0
  481. executorch/backends/arm/test/passes/test_insert_table_ops_pass.py +47 -0
  482. executorch/backends/arm/test/passes/test_int32_cast_embedding_pass.py +46 -0
  483. executorch/backends/arm/test/passes/test_ioquantization_pass.py +48 -0
  484. executorch/backends/arm/test/passes/test_promote_bool_operands_pass.py +103 -0
  485. executorch/backends/arm/test/passes/test_remove_clone_pass.py +45 -0
  486. executorch/backends/arm/test/passes/test_replace_inf_values_pass.py +96 -0
  487. executorch/backends/arm/test/passes/test_rescale_pass.py +81 -0
  488. executorch/backends/arm/test/passes/test_rewrite_conv_pass.py +20 -0
  489. executorch/backends/arm/test/passes/test_to_tosa_memory_format.py +213 -0
  490. executorch/backends/arm/test/passes/test_unsqueeze_before_repeat_pass.py +62 -0
  491. executorch/backends/arm/test/quantizer/test_conv_relu_fusing.py +118 -0
  492. executorch/backends/arm/test/quantizer/test_generic_annotater.py +109 -0
  493. executorch/backends/arm/test/quantizer/test_partial_quantization.py +104 -0
  494. executorch/backends/arm/test/quantizer/test_selective_quantization.py +212 -0
  495. executorch/backends/arm/test/quantizer/test_set_module_name.py +158 -0
  496. executorch/backends/arm/test/quantizer/test_tosa_quantizer_validate.py +55 -0
  497. executorch/backends/arm/test/runner_utils.py +840 -0
  498. executorch/backends/arm/test/test_memory_allocator_log.py +170 -0
  499. executorch/backends/arm/test/test_model.py +345 -0
  500. executorch/backends/arm/test/tester/__init__.py +6 -0
  501. executorch/backends/arm/test/tester/analyze_output_utils.py +346 -0
  502. executorch/backends/arm/test/tester/arm_tester.py +1149 -0
  503. executorch/backends/arm/test/tester/quantize.py +43 -0
  504. executorch/backends/arm/test/tester/serialize.py +78 -0
  505. executorch/backends/arm/test/tester/test_pipeline.py +1190 -0
  506. executorch/backends/arm/tosa/__init__.py +9 -0
  507. executorch/backends/arm/tosa/backend.py +443 -0
  508. executorch/backends/arm/tosa/compile_spec.py +48 -0
  509. executorch/backends/arm/tosa/dialect/__init__.py +15 -0
  510. executorch/backends/arm/tosa/dialect/lib.py +85 -0
  511. executorch/backends/arm/tosa/dialect/ops/conv2d.py +111 -0
  512. executorch/backends/arm/tosa/dialect/ops/conv3d.py +74 -0
  513. executorch/backends/arm/tosa/dialect/ops/depthwise_conv2d.py +56 -0
  514. executorch/backends/arm/tosa/dialect/ops/matmul.py +56 -0
  515. executorch/backends/arm/tosa/dialect/ops/rescale.py +53 -0
  516. executorch/backends/arm/tosa/dialect/ops/resize.py +66 -0
  517. executorch/backends/arm/tosa/dialect/ops/table.py +53 -0
  518. executorch/backends/arm/tosa/dialect/ops/transpose.py +35 -0
  519. executorch/backends/arm/tosa/dialect/ops_registration.py +68 -0
  520. executorch/backends/arm/tosa/mapping.py +309 -0
  521. executorch/backends/arm/tosa/partitioner.py +486 -0
  522. executorch/backends/arm/tosa/schemas/__init__.py +4 -0
  523. executorch/backends/arm/tosa/schemas/tosa_1.0.fbs +559 -0
  524. executorch/backends/arm/tosa/specification.py +406 -0
  525. executorch/backends/arm/tosa/utils.py +304 -0
  526. executorch/backends/arm/util/_factory.py +59 -0
  527. executorch/backends/arm/util/arm_model_evaluator.py +388 -0
  528. executorch/backends/arm/vgf/__init__.py +11 -0
  529. executorch/backends/arm/vgf/backend.py +172 -0
  530. executorch/backends/arm/vgf/compile_spec.py +73 -0
  531. executorch/backends/arm/vgf/model_converter.py +34 -0
  532. executorch/backends/arm/vgf/partitioner.py +35 -0
  533. executorch/backends/cadence/aot/__init__.py +5 -0
  534. executorch/backends/cadence/aot/compiler.py +484 -0
  535. executorch/backends/cadence/aot/compiler_funcs.py +203 -0
  536. executorch/backends/cadence/aot/compiler_utils.py +293 -0
  537. executorch/backends/cadence/aot/decompose_ops.py +120 -0
  538. executorch/backends/cadence/aot/export_example.py +117 -0
  539. executorch/backends/cadence/aot/functions.yaml +470 -0
  540. executorch/backends/cadence/aot/functions_fusion_g3.yaml +191 -0
  541. executorch/backends/cadence/aot/functions_hifi.yaml +565 -0
  542. executorch/backends/cadence/aot/functions_vision.yaml +275 -0
  543. executorch/backends/cadence/aot/fuse_ops.py +1138 -0
  544. executorch/backends/cadence/aot/graph_builder.py +142 -0
  545. executorch/backends/cadence/aot/memory_constraints.py +731 -0
  546. executorch/backends/cadence/aot/memory_planning.py +469 -0
  547. executorch/backends/cadence/aot/memory_planning_algo.py +341 -0
  548. executorch/backends/cadence/aot/ops_registrations.py +2841 -0
  549. executorch/backends/cadence/aot/pass_utils.py +274 -0
  550. executorch/backends/cadence/aot/passes.py +132 -0
  551. executorch/backends/cadence/aot/program_builder.py +138 -0
  552. executorch/backends/cadence/aot/quantizer/fusion_pass.py +743 -0
  553. executorch/backends/cadence/aot/quantizer/patterns.py +738 -0
  554. executorch/backends/cadence/aot/quantizer/quantizer.py +409 -0
  555. executorch/backends/cadence/aot/quantizer/utils.py +288 -0
  556. executorch/backends/cadence/aot/ref_implementations.py +2210 -0
  557. executorch/backends/cadence/aot/remove_ops.py +936 -0
  558. executorch/backends/cadence/aot/reorder_ops.py +843 -0
  559. executorch/backends/cadence/aot/replace_ops.py +2526 -0
  560. executorch/backends/cadence/aot/simplify_ops.py +221 -0
  561. executorch/backends/cadence/aot/tests/test_decompose_ops_passes.py +80 -0
  562. executorch/backends/cadence/aot/tests/test_fusion_ops_passes.py +1023 -0
  563. executorch/backends/cadence/aot/tests/test_graph_builder.py +104 -0
  564. executorch/backends/cadence/aot/tests/test_idma_ops.py +31 -0
  565. executorch/backends/cadence/aot/tests/test_memory_passes.py +1367 -0
  566. executorch/backends/cadence/aot/tests/test_pass_filter.py +167 -0
  567. executorch/backends/cadence/aot/tests/test_program_builder.py +222 -0
  568. executorch/backends/cadence/aot/tests/test_quantizer_ops.py +649 -0
  569. executorch/backends/cadence/aot/tests/test_ref_implementations.py +3151 -0
  570. executorch/backends/cadence/aot/tests/test_remove_ops_passes.py +977 -0
  571. executorch/backends/cadence/aot/tests/test_reorder_ops_passes.py +635 -0
  572. executorch/backends/cadence/aot/tests/test_replace_ops_passes.py +2777 -0
  573. executorch/backends/cadence/aot/tests/test_simplify_ops_passes.py +160 -0
  574. executorch/backends/cadence/aot/tests/test_type_dispatch_passes.py +481 -0
  575. executorch/backends/cadence/aot/type_dispatch.py +190 -0
  576. executorch/backends/cadence/aot/typing_stubs.py +22 -0
  577. executorch/backends/cadence/aot/utils.py +363 -0
  578. executorch/backends/cadence/runtime/__init__.py +13 -0
  579. executorch/backends/cadence/runtime/etdump.py +173 -0
  580. executorch/backends/cadence/runtime/executor.py +202 -0
  581. executorch/backends/cadence/runtime/runtime.py +156 -0
  582. executorch/backends/cadence/runtime/utils.py +100 -0
  583. executorch/backends/cadence/utils/FACTO/calibrator/__init__.py +0 -0
  584. executorch/backends/cadence/utils/FACTO/calibrator/runner.py +190 -0
  585. executorch/backends/cadence/utils/FACTO/examples/example.py +59 -0
  586. executorch/backends/cadence/utils/FACTO/examples/minimal_example.py +21 -0
  587. executorch/backends/cadence/utils/FACTO/examples/random_seed.py +35 -0
  588. executorch/backends/cadence/utils/FACTO/facto/__init__.py +0 -0
  589. executorch/backends/cadence/utils/FACTO/facto/inputgen/__init__.py +0 -0
  590. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/__init__.py +0 -0
  591. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/engine.py +129 -0
  592. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/gen.py +47 -0
  593. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/__init__.py +0 -0
  594. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/engine.py +291 -0
  595. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/gen.py +139 -0
  596. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/type.py +134 -0
  597. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/__init__.py +0 -0
  598. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/engine.py +54 -0
  599. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/model.py +133 -0
  600. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/solve.py +125 -0
  601. executorch/backends/cadence/utils/FACTO/facto/inputgen/specs/__init__.py +0 -0
  602. executorch/backends/cadence/utils/FACTO/facto/inputgen/specs/model.py +149 -0
  603. executorch/backends/cadence/utils/FACTO/facto/inputgen/utils/__init__.py +0 -0
  604. executorch/backends/cadence/utils/FACTO/facto/inputgen/utils/random_manager.py +33 -0
  605. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/__init__.py +0 -0
  606. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/constants.py +9 -0
  607. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/gen.py +283 -0
  608. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/solve.py +142 -0
  609. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/space.py +450 -0
  610. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/type.py +105 -0
  611. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/utils.py +30 -0
  612. executorch/backends/cadence/utils/FACTO/facto/specdb/db.py +4361 -0
  613. executorch/backends/cadence/utils/FACTO/facto/specdb/default.py +36 -0
  614. executorch/backends/cadence/utils/FACTO/facto/specdb/dtypes.py +25 -0
  615. executorch/backends/cadence/utils/FACTO/facto/specdb/function.py +537 -0
  616. executorch/backends/cadence/utils/FACTO/setup.py +19 -0
  617. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argtuple_engine.py +53 -0
  618. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argtuple_generator.py +58 -0
  619. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_attributes.py +78 -0
  620. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_generator.py +98 -0
  621. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_types.py +28 -0
  622. executorch/backends/cadence/utils/FACTO/test/inputgen/test_attribute_engine.py +62 -0
  623. executorch/backends/cadence/utils/FACTO/test/inputgen/test_attribute_solver.py +83 -0
  624. executorch/backends/cadence/utils/FACTO/test/inputgen/test_constraints.py +27 -0
  625. executorch/backends/cadence/utils/FACTO/test/inputgen/test_meta_arg_engine.py +70 -0
  626. executorch/backends/cadence/utils/FACTO/test/inputgen/test_specs.py +48 -0
  627. executorch/backends/cadence/utils/FACTO/test/inputgen/test_structural_engine.py +32 -0
  628. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_generation.py +80 -0
  629. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_solving.py +193 -0
  630. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_space.py +231 -0
  631. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_types.py +71 -0
  632. executorch/backends/cadence/utils/facto_util.py +611 -0
  633. executorch/backends/cadence/utils/gen_header.py +49 -0
  634. executorch/backends/cadence/utils/post_compilation.py +173 -0
  635. executorch/backends/cortex_m/ops/operators.py +890 -0
  636. executorch/backends/cortex_m/ops/operators.yaml +78 -0
  637. executorch/backends/cortex_m/passes/__init__.py +12 -0
  638. executorch/backends/cortex_m/passes/activation_fusion_pass.py +181 -0
  639. executorch/backends/cortex_m/passes/clamp_hardswish_pass.py +37 -0
  640. executorch/backends/cortex_m/passes/convert_to_cortex_m_pass.py +318 -0
  641. executorch/backends/cortex_m/passes/cortex_m_pass_manager.py +73 -0
  642. executorch/backends/cortex_m/passes/decompose_hardswish_pass.py +127 -0
  643. executorch/backends/cortex_m/passes/passes_utils.py +226 -0
  644. executorch/backends/cortex_m/passes/quantized_op_fusion_pass.py +255 -0
  645. executorch/backends/cortex_m/passes/replace_quant_nodes_pass.py +67 -0
  646. executorch/backends/cortex_m/quantizer/__init__.py +18 -0
  647. executorch/backends/cortex_m/quantizer/operator_configs.py +74 -0
  648. executorch/backends/cortex_m/quantizer/quantization_configs.py +121 -0
  649. executorch/backends/cortex_m/quantizer/quantizer.py +500 -0
  650. executorch/backends/cortex_m/test/misc/test_quantization.py +359 -0
  651. executorch/backends/cortex_m/test/models/__init__.py +4 -0
  652. executorch/backends/cortex_m/test/models/test_mobilenet_v3.py +74 -0
  653. executorch/backends/cortex_m/test/ops/__init__.py +4 -0
  654. executorch/backends/cortex_m/test/ops/test_activation.py +528 -0
  655. executorch/backends/cortex_m/test/ops/test_add.py +182 -0
  656. executorch/backends/cortex_m/test/ops/test_avg_pool2d.py +99 -0
  657. executorch/backends/cortex_m/test/ops/test_conv.py +342 -0
  658. executorch/backends/cortex_m/test/ops/test_linear.py +130 -0
  659. executorch/backends/cortex_m/test/ops/test_lstm.py +98 -0
  660. executorch/backends/cortex_m/test/ops/test_maximum.py +83 -0
  661. executorch/backends/cortex_m/test/ops/test_minimum.py +104 -0
  662. executorch/backends/cortex_m/test/ops/test_mul.py +156 -0
  663. executorch/backends/cortex_m/test/ops/test_softmax.py +84 -0
  664. executorch/backends/cortex_m/test/ops/test_transpose.py +102 -0
  665. executorch/backends/cortex_m/test/test_helpers_passes_utils.py +103 -0
  666. executorch/backends/cortex_m/test/test_replace_quant_nodes.py +134 -0
  667. executorch/backends/cortex_m/test/tester.py +113 -0
  668. executorch/backends/cuda/__init__.py +5 -0
  669. executorch/backends/cuda/cuda_backend.py +250 -0
  670. executorch/backends/cuda/cuda_partitioner.py +25 -0
  671. executorch/backends/cuda/passes/__init__.py +0 -0
  672. executorch/backends/cuda/passes/move_cond_predicate_to_cpu.py +90 -0
  673. executorch/backends/cuda/passes/tests/__init__.py +0 -0
  674. executorch/backends/cuda/passes/tests/test_move_cond_predicate_to_cpu.py +553 -0
  675. executorch/backends/cuda/tests/__init__.py +5 -0
  676. executorch/backends/cuda/tests/test_cuda_export.py +327 -0
  677. executorch/backends/cuda/tests/test_cuda_partitioner.py +224 -0
  678. executorch/backends/cuda/triton/__init__.py +17 -0
  679. executorch/backends/cuda/triton/kernels/__init__.py +11 -0
  680. executorch/backends/cuda/triton/kernels/sdpa.py +827 -0
  681. executorch/backends/cuda/triton/replacement_pass.py +130 -0
  682. executorch/backends/example/example_backend.py +41 -0
  683. executorch/backends/example/example_backend_delegate_passes/merge_to_dim_pass.py +83 -0
  684. executorch/backends/example/example_backend_delegate_passes/permute_memory_formats_pass.py +143 -0
  685. executorch/backends/example/example_operators/adaptive_avg_pool2d.py +47 -0
  686. executorch/backends/example/example_operators/add.py +44 -0
  687. executorch/backends/example/example_operators/conv2d.py +52 -0
  688. executorch/backends/example/example_operators/conv_relu.py +49 -0
  689. executorch/backends/example/example_operators/dropout.py +44 -0
  690. executorch/backends/example/example_operators/flatten.py +40 -0
  691. executorch/backends/example/example_operators/linear.py +62 -0
  692. executorch/backends/example/example_operators/op_base.py +15 -0
  693. executorch/backends/example/example_operators/ops.py +32 -0
  694. executorch/backends/example/example_operators/utils.py +34 -0
  695. executorch/backends/example/example_partitioner.py +88 -0
  696. executorch/backends/example/example_quantizer.py +108 -0
  697. executorch/backends/example/test_example_delegate.py +112 -0
  698. executorch/backends/mediatek/__init__.py +5 -0
  699. executorch/backends/mediatek/_passes/__init__.py +0 -0
  700. executorch/backends/mediatek/_passes/decompose_scaled_dot_product_attention.py +79 -0
  701. executorch/backends/mediatek/partitioner.py +107 -0
  702. executorch/backends/mediatek/preprocess.py +214 -0
  703. executorch/backends/mediatek/quantizer/__init__.py +4 -0
  704. executorch/backends/mediatek/quantizer/annotator.py +263 -0
  705. executorch/backends/mediatek/quantizer/qconfig.py +174 -0
  706. executorch/backends/mediatek/quantizer/quantizer.py +45 -0
  707. executorch/backends/nxp/_passes/remove_getitem_pass.py +105 -0
  708. executorch/backends/nxp/aten_passes/convert_unsqueeze_to_view.py +79 -0
  709. executorch/backends/nxp/aten_passes/decompose_split_to_slices_pass.py +193 -0
  710. executorch/backends/nxp/aten_passes/fuse_batch_norm_with_conv_pass.py +146 -0
  711. executorch/backends/nxp/aten_passes/fuse_batch_norm_with_linear_pass.py +150 -0
  712. executorch/backends/nxp/aten_passes/fuse_linear_and_add_pass.py +204 -0
  713. executorch/backends/nxp/aten_passes/move_activation_before_concat.py +102 -0
  714. executorch/backends/nxp/aten_passes/neutron_aten_pass_manager.py +80 -0
  715. executorch/backends/nxp/aten_passes/remove_nodes_with_known_outputs.py +196 -0
  716. executorch/backends/nxp/aten_passes/split_group_convolution.py +281 -0
  717. executorch/backends/nxp/aten_passes/split_gru_based_on_num_layers.py +307 -0
  718. executorch/backends/nxp/backend/custom_delegation_options.py +19 -0
  719. executorch/backends/nxp/backend/edge_helper.py +222 -0
  720. executorch/backends/nxp/backend/edge_program_converter.py +247 -0
  721. executorch/backends/nxp/backend/ir/conversion_config.py +54 -0
  722. executorch/backends/nxp/backend/ir/conversion_context.py +38 -0
  723. executorch/backends/nxp/backend/ir/converter/__init__.py +0 -0
  724. executorch/backends/nxp/backend/ir/converter/builder/__init__.py +0 -0
  725. executorch/backends/nxp/backend/ir/converter/builder/aten_model_builder_director.py +142 -0
  726. executorch/backends/nxp/backend/ir/converter/builder/model_builder.py +1720 -0
  727. executorch/backends/nxp/backend/ir/converter/builder/quantization_verification.py +377 -0
  728. executorch/backends/nxp/backend/ir/converter/conversion/__init__.py +0 -0
  729. executorch/backends/nxp/backend/ir/converter/conversion/aten_translator.py +71 -0
  730. executorch/backends/nxp/backend/ir/converter/conversion/common.py +207 -0
  731. executorch/backends/nxp/backend/ir/converter/conversion/translator.py +689 -0
  732. executorch/backends/nxp/backend/ir/converter/node_converter.py +234 -0
  733. executorch/backends/nxp/backend/ir/converter/node_converters/__init__.py +4 -0
  734. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/__init__.py +101 -0
  735. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/abs_converter.py +35 -0
  736. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/adaptive_avg_pool_2d_converter.py +68 -0
  737. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/add_tensor_converter.py +57 -0
  738. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/addmm_converter.py +62 -0
  739. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/avg_pool_2d_converter.py +101 -0
  740. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/cat_converter.py +209 -0
  741. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/clone_converter.py +118 -0
  742. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/constant_pad_nd_converter.py +160 -0
  743. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/convolution_converter.py +535 -0
  744. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/hardtanh_converter.py +47 -0
  745. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/max_pool_2d_converter.py +104 -0
  746. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mean_dim_converter.py +112 -0
  747. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mm_converter.py +59 -0
  748. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mul_tensor_converter.py +61 -0
  749. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/permute_copy_converter.py +468 -0
  750. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/qdq_dequantize_converter.py +116 -0
  751. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/qdq_quantize_converter.py +46 -0
  752. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/relu_converter.py +33 -0
  753. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/sigmoid_converter.py +35 -0
  754. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/slice_tensor_converter.py +158 -0
  755. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/softmax_converter.py +62 -0
  756. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/sub_tensor_converter.py +59 -0
  757. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/tanh_converter.py +33 -0
  758. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/view_copy_converter.py +220 -0
  759. executorch/backends/nxp/backend/ir/converter/node_converters/shared/__init__.py +0 -0
  760. executorch/backends/nxp/backend/ir/converter/node_converters/shared/conv_utils.py +105 -0
  761. executorch/backends/nxp/backend/ir/converter/node_converters/shared/recurrent_utils.py +64 -0
  762. executorch/backends/nxp/backend/ir/converter/node_converters/shared/reduce_utils.py +97 -0
  763. executorch/backends/nxp/backend/ir/converter/node_converters/shared/reshape_transposition.py +233 -0
  764. executorch/backends/nxp/backend/ir/converter/quantization_utils.py +149 -0
  765. executorch/backends/nxp/backend/ir/converter/tensor_utils.py +50 -0
  766. executorch/backends/nxp/backend/ir/lib/__init__.py +0 -0
  767. executorch/backends/nxp/backend/ir/lib/tflite/ATan2Options.py +50 -0
  768. executorch/backends/nxp/backend/ir/lib/tflite/AbsOptions.py +50 -0
  769. executorch/backends/nxp/backend/ir/lib/tflite/ActivationFunctionType.py +12 -0
  770. executorch/backends/nxp/backend/ir/lib/tflite/AddNOptions.py +50 -0
  771. executorch/backends/nxp/backend/ir/lib/tflite/AddOptions.py +82 -0
  772. executorch/backends/nxp/backend/ir/lib/tflite/ArgMaxOptions.py +65 -0
  773. executorch/backends/nxp/backend/ir/lib/tflite/ArgMinOptions.py +65 -0
  774. executorch/backends/nxp/backend/ir/lib/tflite/AssignVariableOptions.py +50 -0
  775. executorch/backends/nxp/backend/ir/lib/tflite/BatchMatMulOptions.py +101 -0
  776. executorch/backends/nxp/backend/ir/lib/tflite/BatchToSpaceNDOptions.py +50 -0
  777. executorch/backends/nxp/backend/ir/lib/tflite/BidirectionalSequenceLSTMOptions.py +160 -0
  778. executorch/backends/nxp/backend/ir/lib/tflite/BidirectionalSequenceRNNOptions.py +126 -0
  779. executorch/backends/nxp/backend/ir/lib/tflite/BitcastOptions.py +50 -0
  780. executorch/backends/nxp/backend/ir/lib/tflite/BitwiseXorOptions.py +50 -0
  781. executorch/backends/nxp/backend/ir/lib/tflite/BroadcastToOptions.py +50 -0
  782. executorch/backends/nxp/backend/ir/lib/tflite/BucketizeOptions.py +98 -0
  783. executorch/backends/nxp/backend/ir/lib/tflite/Buffer.py +132 -0
  784. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOperator.py +212 -0
  785. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOptions.py +133 -0
  786. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOptions2.py +27 -0
  787. executorch/backends/nxp/backend/ir/lib/tflite/CallOnceOptions.py +65 -0
  788. executorch/backends/nxp/backend/ir/lib/tflite/CallOptions.py +67 -0
  789. executorch/backends/nxp/backend/ir/lib/tflite/CastOptions.py +80 -0
  790. executorch/backends/nxp/backend/ir/lib/tflite/CombinerType.py +9 -0
  791. executorch/backends/nxp/backend/ir/lib/tflite/ConcatEmbeddingsOptions.py +163 -0
  792. executorch/backends/nxp/backend/ir/lib/tflite/ConcatenationOptions.py +80 -0
  793. executorch/backends/nxp/backend/ir/lib/tflite/Conv2DOptions.py +155 -0
  794. executorch/backends/nxp/backend/ir/lib/tflite/Conv3DOptions.py +170 -0
  795. executorch/backends/nxp/backend/ir/lib/tflite/CosOptions.py +50 -0
  796. executorch/backends/nxp/backend/ir/lib/tflite/CumsumOptions.py +84 -0
  797. executorch/backends/nxp/backend/ir/lib/tflite/CustomOptionsFormat.py +7 -0
  798. executorch/backends/nxp/backend/ir/lib/tflite/CustomQuantization.py +98 -0
  799. executorch/backends/nxp/backend/ir/lib/tflite/DensifyOptions.py +50 -0
  800. executorch/backends/nxp/backend/ir/lib/tflite/DepthToSpaceOptions.py +65 -0
  801. executorch/backends/nxp/backend/ir/lib/tflite/DepthwiseConv2DOptions.py +157 -0
  802. executorch/backends/nxp/backend/ir/lib/tflite/DequantizeOptions.py +50 -0
  803. executorch/backends/nxp/backend/ir/lib/tflite/DilateOptions.py +50 -0
  804. executorch/backends/nxp/backend/ir/lib/tflite/DimensionMetadata.py +152 -0
  805. executorch/backends/nxp/backend/ir/lib/tflite/DimensionType.py +8 -0
  806. executorch/backends/nxp/backend/ir/lib/tflite/DivOptions.py +65 -0
  807. executorch/backends/nxp/backend/ir/lib/tflite/DynamicUpdateSliceOptions.py +52 -0
  808. executorch/backends/nxp/backend/ir/lib/tflite/EmbeddingLookupSparseOptions.py +67 -0
  809. executorch/backends/nxp/backend/ir/lib/tflite/EqualOptions.py +50 -0
  810. executorch/backends/nxp/backend/ir/lib/tflite/ExpOptions.py +50 -0
  811. executorch/backends/nxp/backend/ir/lib/tflite/ExpandDimsOptions.py +50 -0
  812. executorch/backends/nxp/backend/ir/lib/tflite/FakeQuantOptions.py +116 -0
  813. executorch/backends/nxp/backend/ir/lib/tflite/FillOptions.py +50 -0
  814. executorch/backends/nxp/backend/ir/lib/tflite/FloorDivOptions.py +50 -0
  815. executorch/backends/nxp/backend/ir/lib/tflite/FloorModOptions.py +50 -0
  816. executorch/backends/nxp/backend/ir/lib/tflite/FullyConnectedOptions.py +129 -0
  817. executorch/backends/nxp/backend/ir/lib/tflite/FullyConnectedOptionsWeightsFormat.py +8 -0
  818. executorch/backends/nxp/backend/ir/lib/tflite/GatherNdOptions.py +50 -0
  819. executorch/backends/nxp/backend/ir/lib/tflite/GatherOptions.py +80 -0
  820. executorch/backends/nxp/backend/ir/lib/tflite/GeluOptions.py +67 -0
  821. executorch/backends/nxp/backend/ir/lib/tflite/GreaterEqualOptions.py +50 -0
  822. executorch/backends/nxp/backend/ir/lib/tflite/GreaterOptions.py +50 -0
  823. executorch/backends/nxp/backend/ir/lib/tflite/HardSwishOptions.py +50 -0
  824. executorch/backends/nxp/backend/ir/lib/tflite/HashtableFindOptions.py +50 -0
  825. executorch/backends/nxp/backend/ir/lib/tflite/HashtableImportOptions.py +52 -0
  826. executorch/backends/nxp/backend/ir/lib/tflite/HashtableOptions.py +95 -0
  827. executorch/backends/nxp/backend/ir/lib/tflite/HashtableSizeOptions.py +50 -0
  828. executorch/backends/nxp/backend/ir/lib/tflite/IfOptions.py +80 -0
  829. executorch/backends/nxp/backend/ir/lib/tflite/Int32Vector.py +98 -0
  830. executorch/backends/nxp/backend/ir/lib/tflite/L2NormOptions.py +65 -0
  831. executorch/backends/nxp/backend/ir/lib/tflite/LSHProjectionOptions.py +65 -0
  832. executorch/backends/nxp/backend/ir/lib/tflite/LSHProjectionType.py +9 -0
  833. executorch/backends/nxp/backend/ir/lib/tflite/LSTMKernelType.py +8 -0
  834. executorch/backends/nxp/backend/ir/lib/tflite/LSTMOptions.py +131 -0
  835. executorch/backends/nxp/backend/ir/lib/tflite/LeakyReluOptions.py +67 -0
  836. executorch/backends/nxp/backend/ir/lib/tflite/LessEqualOptions.py +50 -0
  837. executorch/backends/nxp/backend/ir/lib/tflite/LessOptions.py +50 -0
  838. executorch/backends/nxp/backend/ir/lib/tflite/LocalResponseNormalizationOptions.py +118 -0
  839. executorch/backends/nxp/backend/ir/lib/tflite/LogSoftmaxOptions.py +50 -0
  840. executorch/backends/nxp/backend/ir/lib/tflite/LogicalAndOptions.py +50 -0
  841. executorch/backends/nxp/backend/ir/lib/tflite/LogicalNotOptions.py +50 -0
  842. executorch/backends/nxp/backend/ir/lib/tflite/LogicalOrOptions.py +50 -0
  843. executorch/backends/nxp/backend/ir/lib/tflite/MatrixDiagOptions.py +50 -0
  844. executorch/backends/nxp/backend/ir/lib/tflite/MatrixSetDiagOptions.py +50 -0
  845. executorch/backends/nxp/backend/ir/lib/tflite/MaximumMinimumOptions.py +50 -0
  846. executorch/backends/nxp/backend/ir/lib/tflite/Metadata.py +84 -0
  847. executorch/backends/nxp/backend/ir/lib/tflite/MirrorPadMode.py +8 -0
  848. executorch/backends/nxp/backend/ir/lib/tflite/MirrorPadOptions.py +65 -0
  849. executorch/backends/nxp/backend/ir/lib/tflite/Model.py +352 -0
  850. executorch/backends/nxp/backend/ir/lib/tflite/MulOptions.py +65 -0
  851. executorch/backends/nxp/backend/ir/lib/tflite/NegOptions.py +50 -0
  852. executorch/backends/nxp/backend/ir/lib/tflite/NonMaxSuppressionV4Options.py +52 -0
  853. executorch/backends/nxp/backend/ir/lib/tflite/NonMaxSuppressionV5Options.py +52 -0
  854. executorch/backends/nxp/backend/ir/lib/tflite/NotEqualOptions.py +50 -0
  855. executorch/backends/nxp/backend/ir/lib/tflite/OneHotOptions.py +65 -0
  856. executorch/backends/nxp/backend/ir/lib/tflite/Operator.py +428 -0
  857. executorch/backends/nxp/backend/ir/lib/tflite/OperatorCode.py +112 -0
  858. executorch/backends/nxp/backend/ir/lib/tflite/PackOptions.py +80 -0
  859. executorch/backends/nxp/backend/ir/lib/tflite/PadOptions.py +50 -0
  860. executorch/backends/nxp/backend/ir/lib/tflite/PadV2Options.py +50 -0
  861. executorch/backends/nxp/backend/ir/lib/tflite/Padding.py +8 -0
  862. executorch/backends/nxp/backend/ir/lib/tflite/Pool2DOptions.py +140 -0
  863. executorch/backends/nxp/backend/ir/lib/tflite/PowOptions.py +50 -0
  864. executorch/backends/nxp/backend/ir/lib/tflite/QuantizationDetails.py +8 -0
  865. executorch/backends/nxp/backend/ir/lib/tflite/QuantizationParameters.py +295 -0
  866. executorch/backends/nxp/backend/ir/lib/tflite/QuantizeOptions.py +50 -0
  867. executorch/backends/nxp/backend/ir/lib/tflite/RNNOptions.py +82 -0
  868. executorch/backends/nxp/backend/ir/lib/tflite/RandomOptions.py +80 -0
  869. executorch/backends/nxp/backend/ir/lib/tflite/RangeOptions.py +50 -0
  870. executorch/backends/nxp/backend/ir/lib/tflite/RankOptions.py +50 -0
  871. executorch/backends/nxp/backend/ir/lib/tflite/ReadVariableOptions.py +50 -0
  872. executorch/backends/nxp/backend/ir/lib/tflite/ReduceWindowFunction.py +13 -0
  873. executorch/backends/nxp/backend/ir/lib/tflite/ReduceWindowOptions.py +65 -0
  874. executorch/backends/nxp/backend/ir/lib/tflite/ReducerOptions.py +67 -0
  875. executorch/backends/nxp/backend/ir/lib/tflite/ReshapeOptions.py +98 -0
  876. executorch/backends/nxp/backend/ir/lib/tflite/ResizeBilinearOptions.py +84 -0
  877. executorch/backends/nxp/backend/ir/lib/tflite/ResizeNearestNeighborOptions.py +86 -0
  878. executorch/backends/nxp/backend/ir/lib/tflite/ReverseSequenceOptions.py +82 -0
  879. executorch/backends/nxp/backend/ir/lib/tflite/ReverseV2Options.py +50 -0
  880. executorch/backends/nxp/backend/ir/lib/tflite/Rfft2dOptions.py +50 -0
  881. executorch/backends/nxp/backend/ir/lib/tflite/RightShiftOptions.py +50 -0
  882. executorch/backends/nxp/backend/ir/lib/tflite/RngAlgorithm.py +9 -0
  883. executorch/backends/nxp/backend/ir/lib/tflite/SVDFOptions.py +97 -0
  884. executorch/backends/nxp/backend/ir/lib/tflite/ScatterNdOptions.py +50 -0
  885. executorch/backends/nxp/backend/ir/lib/tflite/SegmentSumOptions.py +50 -0
  886. executorch/backends/nxp/backend/ir/lib/tflite/SelectOptions.py +50 -0
  887. executorch/backends/nxp/backend/ir/lib/tflite/SelectV2Options.py +50 -0
  888. executorch/backends/nxp/backend/ir/lib/tflite/SequenceRNNOptions.py +99 -0
  889. executorch/backends/nxp/backend/ir/lib/tflite/ShapeOptions.py +65 -0
  890. executorch/backends/nxp/backend/ir/lib/tflite/SignOptions.py +50 -0
  891. executorch/backends/nxp/backend/ir/lib/tflite/SignatureDef.py +172 -0
  892. executorch/backends/nxp/backend/ir/lib/tflite/SkipGramOptions.py +97 -0
  893. executorch/backends/nxp/backend/ir/lib/tflite/SliceOptions.py +50 -0
  894. executorch/backends/nxp/backend/ir/lib/tflite/SoftmaxOptions.py +67 -0
  895. executorch/backends/nxp/backend/ir/lib/tflite/SpaceToBatchNDOptions.py +50 -0
  896. executorch/backends/nxp/backend/ir/lib/tflite/SpaceToDepthOptions.py +65 -0
  897. executorch/backends/nxp/backend/ir/lib/tflite/SparseIndexVector.py +10 -0
  898. executorch/backends/nxp/backend/ir/lib/tflite/SparseToDenseOptions.py +67 -0
  899. executorch/backends/nxp/backend/ir/lib/tflite/SparsityParameters.py +190 -0
  900. executorch/backends/nxp/backend/ir/lib/tflite/SplitOptions.py +65 -0
  901. executorch/backends/nxp/backend/ir/lib/tflite/SplitVOptions.py +65 -0
  902. executorch/backends/nxp/backend/ir/lib/tflite/SquareOptions.py +50 -0
  903. executorch/backends/nxp/backend/ir/lib/tflite/SquaredDifferenceOptions.py +52 -0
  904. executorch/backends/nxp/backend/ir/lib/tflite/SqueezeOptions.py +98 -0
  905. executorch/backends/nxp/backend/ir/lib/tflite/StablehloBroadcastInDimOptions.py +102 -0
  906. executorch/backends/nxp/backend/ir/lib/tflite/StablehloCompareOptions.py +86 -0
  907. executorch/backends/nxp/backend/ir/lib/tflite/StablehloComparisonDirection.py +12 -0
  908. executorch/backends/nxp/backend/ir/lib/tflite/StablehloComparisonType.py +11 -0
  909. executorch/backends/nxp/backend/ir/lib/tflite/StablehloConcatenateOptions.py +67 -0
  910. executorch/backends/nxp/backend/ir/lib/tflite/StablehloConvolutionOptions.py +634 -0
  911. executorch/backends/nxp/backend/ir/lib/tflite/StablehloCustomCallOptions.py +214 -0
  912. executorch/backends/nxp/backend/ir/lib/tflite/StablehloDotGeneralOptions.py +304 -0
  913. executorch/backends/nxp/backend/ir/lib/tflite/StablehloDynamicSliceOptions.py +100 -0
  914. executorch/backends/nxp/backend/ir/lib/tflite/StablehloGatherOptions.py +276 -0
  915. executorch/backends/nxp/backend/ir/lib/tflite/StablehloIotaOptions.py +65 -0
  916. executorch/backends/nxp/backend/ir/lib/tflite/StablehloPadOptions.py +194 -0
  917. executorch/backends/nxp/backend/ir/lib/tflite/StablehloPrecisionConfig.py +9 -0
  918. executorch/backends/nxp/backend/ir/lib/tflite/StablehloReduceOptions.py +115 -0
  919. executorch/backends/nxp/backend/ir/lib/tflite/StablehloReduceWindowOptions.py +307 -0
  920. executorch/backends/nxp/backend/ir/lib/tflite/StablehloRngBitGeneratorOptions.py +67 -0
  921. executorch/backends/nxp/backend/ir/lib/tflite/StablehloScatterOptions.py +268 -0
  922. executorch/backends/nxp/backend/ir/lib/tflite/StablehloSliceOptions.py +194 -0
  923. executorch/backends/nxp/backend/ir/lib/tflite/StablehloSortOptions.py +97 -0
  924. executorch/backends/nxp/backend/ir/lib/tflite/StablehloTransposeOptions.py +100 -0
  925. executorch/backends/nxp/backend/ir/lib/tflite/StablehloWhileOptions.py +80 -0
  926. executorch/backends/nxp/backend/ir/lib/tflite/StridedSliceOptions.py +142 -0
  927. executorch/backends/nxp/backend/ir/lib/tflite/SubGraph.py +251 -0
  928. executorch/backends/nxp/backend/ir/lib/tflite/SubOptions.py +82 -0
  929. executorch/backends/nxp/backend/ir/lib/tflite/Tensor.py +317 -0
  930. executorch/backends/nxp/backend/ir/lib/tflite/TensorMap.py +84 -0
  931. executorch/backends/nxp/backend/ir/lib/tflite/TensorType.py +24 -0
  932. executorch/backends/nxp/backend/ir/lib/tflite/TileOptions.py +50 -0
  933. executorch/backends/nxp/backend/ir/lib/tflite/TopKV2Options.py +50 -0
  934. executorch/backends/nxp/backend/ir/lib/tflite/TransposeConvOptions.py +125 -0
  935. executorch/backends/nxp/backend/ir/lib/tflite/TransposeOptions.py +50 -0
  936. executorch/backends/nxp/backend/ir/lib/tflite/Uint16Vector.py +98 -0
  937. executorch/backends/nxp/backend/ir/lib/tflite/Uint8Vector.py +98 -0
  938. executorch/backends/nxp/backend/ir/lib/tflite/UnidirectionalSequenceLSTMOptions.py +164 -0
  939. executorch/backends/nxp/backend/ir/lib/tflite/UniqueOptions.py +65 -0
  940. executorch/backends/nxp/backend/ir/lib/tflite/UnpackOptions.py +80 -0
  941. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentMaxOptions.py +52 -0
  942. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentMinOptions.py +52 -0
  943. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentProdOptions.py +52 -0
  944. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentSumOptions.py +52 -0
  945. executorch/backends/nxp/backend/ir/lib/tflite/VarHandleOptions.py +84 -0
  946. executorch/backends/nxp/backend/ir/lib/tflite/VariantSubType.py +130 -0
  947. executorch/backends/nxp/backend/ir/lib/tflite/WhereOptions.py +50 -0
  948. executorch/backends/nxp/backend/ir/lib/tflite/WhileOptions.py +80 -0
  949. executorch/backends/nxp/backend/ir/lib/tflite/ZerosLikeOptions.py +50 -0
  950. executorch/backends/nxp/backend/ir/lib/tflite/__init__.py +0 -0
  951. executorch/backends/nxp/backend/ir/logger.py +341 -0
  952. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/__init__.py +0 -0
  953. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/graph_utils.py +115 -0
  954. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/operator_rules.py +102 -0
  955. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/__init__.py +0 -0
  956. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/base_optimization.py +41 -0
  957. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/permute_fully_connected_weights_after_reshape.py +121 -0
  958. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/prune_transpose_operators.py +174 -0
  959. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizer.py +127 -0
  960. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/pattern_matcher.py +925 -0
  961. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/tensor_rules.py +710 -0
  962. executorch/backends/nxp/backend/ir/tensor_formatting.py +69 -0
  963. executorch/backends/nxp/backend/ir/tflite_generator/__init__.py +0 -0
  964. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/__init__.py +0 -0
  965. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/abs_options.py +25 -0
  966. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/add_n_options.py +32 -0
  967. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/add_options.py +46 -0
  968. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/arg_max_options.py +28 -0
  969. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/arg_min_options.py +28 -0
  970. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/average_pool_2d_options.py +63 -0
  971. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/batch_mat_mul_options.py +45 -0
  972. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bidirectional_sequence_lstm_options.py +65 -0
  973. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bidirectional_sequence_rnn_options.py +53 -0
  974. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bitwise_xor_options.py +23 -0
  975. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/broadcast_to_options.py +25 -0
  976. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/cast_options.py +32 -0
  977. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/concatenation_options.py +38 -0
  978. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/conv_2d_options.py +59 -0
  979. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/conv_3d_options.py +67 -0
  980. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/cum_sum_options.py +30 -0
  981. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/depth_to_space_options.py +29 -0
  982. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/depthwise_conv_2d_options.py +69 -0
  983. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/dequantize_options.py +24 -0
  984. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/div_options.py +43 -0
  985. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/equal_options.py +23 -0
  986. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/exp_options.py +23 -0
  987. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/floor_mod_options.py +23 -0
  988. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/fully_connected_options.py +57 -0
  989. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gather_nd_options.py +23 -0
  990. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gather_options.py +30 -0
  991. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gelu_options.py +27 -0
  992. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/greater_equal_options.py +25 -0
  993. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/greater_options.py +23 -0
  994. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/hard_swish_options.py +23 -0
  995. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/leaky_relu_options.py +32 -0
  996. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/less_equal_options.py +23 -0
  997. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/less_options.py +23 -0
  998. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/log_softmax_options.py +30 -0
  999. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_and_options.py +23 -0
  1000. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_not_options.py +23 -0
  1001. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_or_options.py +23 -0
  1002. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/lrn_options.py +45 -0
  1003. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/lstm_options.py +60 -0
  1004. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/max_pool_2d_options.py +63 -0
  1005. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/maximum_options.py +21 -0
  1006. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mean_options.py +28 -0
  1007. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/minimum_options.py +21 -0
  1008. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mirror_pad_options.py +60 -0
  1009. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mul_options.py +36 -0
  1010. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/multinomial_options.py +30 -0
  1011. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/neg_options.py +23 -0
  1012. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/not_equal_options.py +23 -0
  1013. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/one_hot_options.py +27 -0
  1014. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pad_options.py +27 -0
  1015. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pad_v2_options.py +27 -0
  1016. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pow_options.py +24 -0
  1017. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/quantize_options.py +30 -0
  1018. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/range_options.py +23 -0
  1019. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_max_options.py +28 -0
  1020. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_min_options.py +28 -0
  1021. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_prod_options.py +28 -0
  1022. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reshape_options.py +53 -0
  1023. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/resize_bilinear_options.py +34 -0
  1024. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/resize_nearest_neighbor_options.py +37 -0
  1025. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reverse_sequence_options.py +32 -0
  1026. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/scatter_nd_options.py +23 -0
  1027. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/select_v2_options.py +24 -0
  1028. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/shape_options.py +34 -0
  1029. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sign_options.py +22 -0
  1030. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/slice_options.py +29 -0
  1031. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/softmax_options.py +36 -0
  1032. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/space_to_depth_options.py +29 -0
  1033. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/split_options.py +27 -0
  1034. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/split_v_options.py +27 -0
  1035. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/square_options.py +23 -0
  1036. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/squared_difference_options.py +25 -0
  1037. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/squeeze_options.py +42 -0
  1038. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/strided_slice_options.py +35 -0
  1039. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sub_options.py +46 -0
  1040. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sum_options.py +28 -0
  1041. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/tile_options.py +23 -0
  1042. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/transpose_conv_options.py +50 -0
  1043. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/transpose_options.py +30 -0
  1044. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/unidirectional_sequence_lstm_options.py +67 -0
  1045. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/unidirectional_sequence_rnn_options.py +49 -0
  1046. executorch/backends/nxp/backend/ir/tflite_generator/custom_options/flex_transpose_options.py +78 -0
  1047. executorch/backends/nxp/backend/ir/tflite_generator/meta/__init__.py +0 -0
  1048. executorch/backends/nxp/backend/ir/tflite_generator/meta/meta.py +255 -0
  1049. executorch/backends/nxp/backend/ir/tflite_generator/meta/types.py +198 -0
  1050. executorch/backends/nxp/backend/ir/tflite_generator/tflite_model.py +814 -0
  1051. executorch/backends/nxp/backend/neutron_converter_manager.py +117 -0
  1052. executorch/backends/nxp/backend/neutron_operator_support.py +79 -0
  1053. executorch/backends/nxp/backend/neutron_target_spec.py +143 -0
  1054. executorch/backends/nxp/backend/node_format.py +26 -0
  1055. executorch/backends/nxp/backend/node_format_inference.py +294 -0
  1056. executorch/backends/nxp/edge_passes/move_auxiliary_operator_into_separate_qdq_cluster_pass.py +254 -0
  1057. executorch/backends/nxp/edge_passes/neutron_edge_pass.py +55 -0
  1058. executorch/backends/nxp/edge_passes/neutron_edge_pass_manager.py +29 -0
  1059. executorch/backends/nxp/edge_passes/remove_additional_quantize_dequantize_nodes_pass.py +111 -0
  1060. executorch/backends/nxp/edge_passes/remove_as_strided_copy_nodes.py +66 -0
  1061. executorch/backends/nxp/edge_passes/remove_io_quant_ops_pass.py +79 -0
  1062. executorch/backends/nxp/neutron_node_extraction.py +152 -0
  1063. executorch/backends/nxp/neutron_partitioner.py +421 -0
  1064. executorch/backends/nxp/neutron_pass_manager.py +50 -0
  1065. executorch/backends/nxp/nxp_backend.py +391 -0
  1066. executorch/backends/nxp/quantizer/neutron_quantizer.py +353 -0
  1067. executorch/backends/nxp/quantizer/patterns.py +1089 -0
  1068. executorch/backends/nxp/quantizer/utils.py +195 -0
  1069. executorch/backends/nxp/tests/executorch_pipeline.py +184 -0
  1070. executorch/backends/nxp/tests/executors.py +401 -0
  1071. executorch/backends/nxp/tests/ir/__init__.py +0 -0
  1072. executorch/backends/nxp/tests/ir/converter/__init__.py +0 -0
  1073. executorch/backends/nxp/tests/ir/converter/node_converter/__init__.py +0 -0
  1074. executorch/backends/nxp/tests/ir/converter/node_converter/test_abs_converter.py +91 -0
  1075. executorch/backends/nxp/tests/ir/converter/node_converter/test_adaptive_avg_pool2d_converter.py +148 -0
  1076. executorch/backends/nxp/tests/ir/converter/node_converter/test_add_tensor_converter.py +161 -0
  1077. executorch/backends/nxp/tests/ir/converter/node_converter/test_addmm_converter.py +96 -0
  1078. executorch/backends/nxp/tests/ir/converter/node_converter/test_avg_pool2d_converter.py +221 -0
  1079. executorch/backends/nxp/tests/ir/converter/node_converter/test_cat_converter.py +495 -0
  1080. executorch/backends/nxp/tests/ir/converter/node_converter/test_clone_converter.py +344 -0
  1081. executorch/backends/nxp/tests/ir/converter/node_converter/test_constant_pad_nd_converter.py +188 -0
  1082. executorch/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py +680 -0
  1083. executorch/backends/nxp/tests/ir/converter/node_converter/test_hardtanh_converter.py +107 -0
  1084. executorch/backends/nxp/tests/ir/converter/node_converter/test_max_pool_2d_converter.py +132 -0
  1085. executorch/backends/nxp/tests/ir/converter/node_converter/test_mean_dim_converter.py +280 -0
  1086. executorch/backends/nxp/tests/ir/converter/node_converter/test_mm_converter.py +96 -0
  1087. executorch/backends/nxp/tests/ir/converter/node_converter/test_mul_tensor_converter.py +212 -0
  1088. executorch/backends/nxp/tests/ir/converter/node_converter/test_permute_copy_converter.py +426 -0
  1089. executorch/backends/nxp/tests/ir/converter/node_converter/test_relu_converter.py +114 -0
  1090. executorch/backends/nxp/tests/ir/converter/node_converter/test_sigmoid_converter.py +78 -0
  1091. executorch/backends/nxp/tests/ir/converter/node_converter/test_slice_tensor_converter.py +244 -0
  1092. executorch/backends/nxp/tests/ir/converter/node_converter/test_softmax_converter.py +115 -0
  1093. executorch/backends/nxp/tests/ir/converter/node_converter/test_sub_tensor_converter.py +181 -0
  1094. executorch/backends/nxp/tests/ir/converter/node_converter/test_tanh_converter.py +90 -0
  1095. executorch/backends/nxp/tests/ir/converter/node_converter/test_view_copy_converter.py +509 -0
  1096. executorch/backends/nxp/tests/ir/edge_passes/__init__.py +0 -0
  1097. executorch/backends/nxp/tests/ir/edge_passes/test_remove_io_quant_ops_pass.py +127 -0
  1098. executorch/backends/nxp/tests/models.py +737 -0
  1099. executorch/backends/nxp/tests/test_batch_norm_fusion.py +233 -0
  1100. executorch/backends/nxp/tests/test_context_sensitive_delegation.py +71 -0
  1101. executorch/backends/nxp/tests/test_convert_unsqueeze_to_view.py +143 -0
  1102. executorch/backends/nxp/tests/test_decompose_split_to_slices.py +315 -0
  1103. executorch/backends/nxp/tests/test_edge_passes.py +382 -0
  1104. executorch/backends/nxp/tests/test_gru_splitting.py +267 -0
  1105. executorch/backends/nxp/tests/test_integration.py +53 -0
  1106. executorch/backends/nxp/tests/test_linear_and_add_fusion.py +653 -0
  1107. executorch/backends/nxp/tests/test_move_activation_before_concatenation.py +905 -0
  1108. executorch/backends/nxp/tests/test_neutron_backend.py +63 -0
  1109. executorch/backends/nxp/tests/test_neutron_backend_executor.py +327 -0
  1110. executorch/backends/nxp/tests/test_neutron_converter_manager.py +59 -0
  1111. executorch/backends/nxp/tests/test_node_format_inference.py +91 -0
  1112. executorch/backends/nxp/tests/test_operator_selector.py +24 -0
  1113. executorch/backends/nxp/tests/test_per_channel_conversion.py +182 -0
  1114. executorch/backends/nxp/tests/test_qdq_clustering_conv.py +31 -0
  1115. executorch/backends/nxp/tests/test_quantizer.py +703 -0
  1116. executorch/backends/nxp/tests/test_removing_dead_code.py +65 -0
  1117. executorch/backends/nxp/tests/test_removing_nodes_with_known_outputs.py +116 -0
  1118. executorch/backends/nxp/tests/test_split_group_convolution.py +291 -0
  1119. executorch/backends/nxp/tests/use_qat.py +11 -0
  1120. executorch/backends/openvino/__init__.py +5 -0
  1121. executorch/backends/openvino/partitioner.py +238 -0
  1122. executorch/backends/openvino/preprocess.py +62 -0
  1123. executorch/backends/openvino/quantizer/__init__.py +3 -0
  1124. executorch/backends/openvino/quantizer/observers.py +186 -0
  1125. executorch/backends/openvino/quantizer/quantizer.py +595 -0
  1126. executorch/backends/openvino/tests/models/test_classification.py +38 -0
  1127. executorch/backends/openvino/tests/ops/base_openvino_op_test.py +86 -0
  1128. executorch/backends/openvino/tests/ops/test_add.py +22 -0
  1129. executorch/backends/openvino/tests/ops/test_addmm.py +28 -0
  1130. executorch/backends/openvino/tests/ops/test_arange.py +23 -0
  1131. executorch/backends/openvino/tests/ops/test_batch_norm.py +61 -0
  1132. executorch/backends/openvino/tests/ops/test_convolution.py +296 -0
  1133. executorch/backends/openvino/tests/ops/test_mean.py +90 -0
  1134. executorch/backends/openvino/tests/ops/test_permute.py +33 -0
  1135. executorch/backends/openvino/tests/ops/test_pooling.py +91 -0
  1136. executorch/backends/openvino/tests/ops/test_unary_ops.py +37 -0
  1137. executorch/backends/openvino/tests/ops/test_view.py +35 -0
  1138. executorch/backends/openvino/tests/test_runner.py +76 -0
  1139. executorch/backends/qualcomm/__init__.py +13 -0
  1140. executorch/backends/qualcomm/_passes/__init__.py +101 -0
  1141. executorch/backends/qualcomm/_passes/annotate_adaptive_avg_pool1d.py +43 -0
  1142. executorch/backends/qualcomm/_passes/annotate_quant_attrs.py +145 -0
  1143. executorch/backends/qualcomm/_passes/annotate_stack.py +44 -0
  1144. executorch/backends/qualcomm/_passes/annotate_unbind.py +42 -0
  1145. executorch/backends/qualcomm/_passes/build_quant_io.py +49 -0
  1146. executorch/backends/qualcomm/_passes/canonicalize_conv.py +204 -0
  1147. executorch/backends/qualcomm/_passes/convert_bmm_to_matmul.py +83 -0
  1148. executorch/backends/qualcomm/_passes/convert_linear_to_conv2d.py +232 -0
  1149. executorch/backends/qualcomm/_passes/convert_mha_to_sha.py +626 -0
  1150. executorch/backends/qualcomm/_passes/convert_square_to_pow.py +38 -0
  1151. executorch/backends/qualcomm/_passes/decompose_any.py +64 -0
  1152. executorch/backends/qualcomm/_passes/decompose_binary_alpha.py +61 -0
  1153. executorch/backends/qualcomm/_passes/decompose_cdist.py +69 -0
  1154. executorch/backends/qualcomm/_passes/decompose_col_im.py +121 -0
  1155. executorch/backends/qualcomm/_passes/decompose_einsum.py +51 -0
  1156. executorch/backends/qualcomm/_passes/decompose_expm1.py +46 -0
  1157. executorch/backends/qualcomm/_passes/decompose_floor_divide.py +62 -0
  1158. executorch/backends/qualcomm/_passes/decompose_glu.py +55 -0
  1159. executorch/backends/qualcomm/_passes/decompose_linalg_vector_norm.py +75 -0
  1160. executorch/backends/qualcomm/_passes/decompose_maxpool3d.py +133 -0
  1161. executorch/backends/qualcomm/_passes/decompose_minmaxdim.py +109 -0
  1162. executorch/backends/qualcomm/_passes/decompose_roll.py +78 -0
  1163. executorch/backends/qualcomm/_passes/decompose_silu.py +45 -0
  1164. executorch/backends/qualcomm/_passes/decompose_threshold.py +61 -0
  1165. executorch/backends/qualcomm/_passes/decompose_triu.py +71 -0
  1166. executorch/backends/qualcomm/_passes/decompose_wrap_with_autocast.py +79 -0
  1167. executorch/backends/qualcomm/_passes/expand_broadcast_tensor_shape.py +67 -0
  1168. executorch/backends/qualcomm/_passes/fixed_linear_keep_dim.py +95 -0
  1169. executorch/backends/qualcomm/_passes/fold_qdq.py +80 -0
  1170. executorch/backends/qualcomm/_passes/fuse_consecutive_cast.py +116 -0
  1171. executorch/backends/qualcomm/_passes/fuse_consecutive_transpose.py +109 -0
  1172. executorch/backends/qualcomm/_passes/i64_to_i32.py +184 -0
  1173. executorch/backends/qualcomm/_passes/insert_io_qdq.py +154 -0
  1174. executorch/backends/qualcomm/_passes/insert_requantize.py +111 -0
  1175. executorch/backends/qualcomm/_passes/insert_reshape_for_reduce_ops.py +59 -0
  1176. executorch/backends/qualcomm/_passes/layout_transform.py +355 -0
  1177. executorch/backends/qualcomm/_passes/lift_constant_scalar_operands.py +186 -0
  1178. executorch/backends/qualcomm/_passes/qnn_pass_manager.py +271 -0
  1179. executorch/backends/qualcomm/_passes/recompose_pad_maxpool2d.py +147 -0
  1180. executorch/backends/qualcomm/_passes/recompose_pixel_unshuffle.py +81 -0
  1181. executorch/backends/qualcomm/_passes/recompose_rms_norm.py +155 -0
  1182. executorch/backends/qualcomm/_passes/reduce_dynamic_range.py +60 -0
  1183. executorch/backends/qualcomm/_passes/remove_0d_tensor.py +36 -0
  1184. executorch/backends/qualcomm/_passes/remove_redundancy.py +73 -0
  1185. executorch/backends/qualcomm/_passes/replace_arange_args.py +48 -0
  1186. executorch/backends/qualcomm/_passes/replace_inf_values.py +60 -0
  1187. executorch/backends/qualcomm/_passes/seq_mse.py +224 -0
  1188. executorch/backends/qualcomm/_passes/tag_quant_io.py +45 -0
  1189. executorch/backends/qualcomm/_passes/utils.py +283 -0
  1190. executorch/backends/qualcomm/builders/__init__.py +221 -0
  1191. executorch/backends/qualcomm/builders/node_visitor.py +518 -0
  1192. executorch/backends/qualcomm/builders/node_visitor_manager.py +79 -0
  1193. executorch/backends/qualcomm/builders/op_abs.py +57 -0
  1194. executorch/backends/qualcomm/builders/op_adaptive_avg_pool2d.py +126 -0
  1195. executorch/backends/qualcomm/builders/op_adaptive_max_pool2d.py +151 -0
  1196. executorch/backends/qualcomm/builders/op_add.py +62 -0
  1197. executorch/backends/qualcomm/builders/op_amax.py +90 -0
  1198. executorch/backends/qualcomm/builders/op_amin.py +90 -0
  1199. executorch/backends/qualcomm/builders/op_and.py +60 -0
  1200. executorch/backends/qualcomm/builders/op_arange.py +41 -0
  1201. executorch/backends/qualcomm/builders/op_argmax.py +78 -0
  1202. executorch/backends/qualcomm/builders/op_argmin.py +78 -0
  1203. executorch/backends/qualcomm/builders/op_asin.py +56 -0
  1204. executorch/backends/qualcomm/builders/op_atan.py +55 -0
  1205. executorch/backends/qualcomm/builders/op_avg_pool2d.py +168 -0
  1206. executorch/backends/qualcomm/builders/op_avg_pool3d.py +299 -0
  1207. executorch/backends/qualcomm/builders/op_batch_norm.py +151 -0
  1208. executorch/backends/qualcomm/builders/op_binary.py +84 -0
  1209. executorch/backends/qualcomm/builders/op_bmm.py +59 -0
  1210. executorch/backends/qualcomm/builders/op_cat.py +89 -0
  1211. executorch/backends/qualcomm/builders/op_ceil.py +56 -0
  1212. executorch/backends/qualcomm/builders/op_clamp.py +80 -0
  1213. executorch/backends/qualcomm/builders/op_conv.py +263 -0
  1214. executorch/backends/qualcomm/builders/op_copy.py +112 -0
  1215. executorch/backends/qualcomm/builders/op_cos.py +56 -0
  1216. executorch/backends/qualcomm/builders/op_cum_sum.py +87 -0
  1217. executorch/backends/qualcomm/builders/op_custom_op.py +93 -0
  1218. executorch/backends/qualcomm/builders/op_depth_to_space.py +78 -0
  1219. executorch/backends/qualcomm/builders/op_dequantize.py +72 -0
  1220. executorch/backends/qualcomm/builders/op_div.py +62 -0
  1221. executorch/backends/qualcomm/builders/op_elu.py +68 -0
  1222. executorch/backends/qualcomm/builders/op_embedding.py +79 -0
  1223. executorch/backends/qualcomm/builders/op_eq.py +62 -0
  1224. executorch/backends/qualcomm/builders/op_exp.py +60 -0
  1225. executorch/backends/qualcomm/builders/op_expand.py +84 -0
  1226. executorch/backends/qualcomm/builders/op_flip.py +81 -0
  1227. executorch/backends/qualcomm/builders/op_floor.py +56 -0
  1228. executorch/backends/qualcomm/builders/op_full.py +41 -0
  1229. executorch/backends/qualcomm/builders/op_full_like.py +41 -0
  1230. executorch/backends/qualcomm/builders/op_gather.py +76 -0
  1231. executorch/backends/qualcomm/builders/op_ge.py +62 -0
  1232. executorch/backends/qualcomm/builders/op_gelu.py +57 -0
  1233. executorch/backends/qualcomm/builders/op_grid_sampler_2d.py +162 -0
  1234. executorch/backends/qualcomm/builders/op_group_norm.py +94 -0
  1235. executorch/backends/qualcomm/builders/op_gt.py +62 -0
  1236. executorch/backends/qualcomm/builders/op_hardsigmoid.py +78 -0
  1237. executorch/backends/qualcomm/builders/op_hardswish.py +57 -0
  1238. executorch/backends/qualcomm/builders/op_hardtanh.py +79 -0
  1239. executorch/backends/qualcomm/builders/op_index.py +85 -0
  1240. executorch/backends/qualcomm/builders/op_index_put.py +481 -0
  1241. executorch/backends/qualcomm/builders/op_index_select.py +81 -0
  1242. executorch/backends/qualcomm/builders/op_instance_norm.py +112 -0
  1243. executorch/backends/qualcomm/builders/op_layer_norm.py +113 -0
  1244. executorch/backends/qualcomm/builders/op_le.py +62 -0
  1245. executorch/backends/qualcomm/builders/op_linear.py +98 -0
  1246. executorch/backends/qualcomm/builders/op_log.py +58 -0
  1247. executorch/backends/qualcomm/builders/op_log_softmax.py +81 -0
  1248. executorch/backends/qualcomm/builders/op_logical_not.py +56 -0
  1249. executorch/backends/qualcomm/builders/op_lt.py +62 -0
  1250. executorch/backends/qualcomm/builders/op_matmul.py +59 -0
  1251. executorch/backends/qualcomm/builders/op_max.py +62 -0
  1252. executorch/backends/qualcomm/builders/op_max_dim.py +89 -0
  1253. executorch/backends/qualcomm/builders/op_max_pool2d.py +145 -0
  1254. executorch/backends/qualcomm/builders/op_mean_dim.py +100 -0
  1255. executorch/backends/qualcomm/builders/op_min.py +62 -0
  1256. executorch/backends/qualcomm/builders/op_min_dim.py +89 -0
  1257. executorch/backends/qualcomm/builders/op_mul.py +62 -0
  1258. executorch/backends/qualcomm/builders/op_ne.py +62 -0
  1259. executorch/backends/qualcomm/builders/op_neg.py +54 -0
  1260. executorch/backends/qualcomm/builders/op_or.py +60 -0
  1261. executorch/backends/qualcomm/builders/op_pad.py +97 -0
  1262. executorch/backends/qualcomm/builders/op_pow.py +75 -0
  1263. executorch/backends/qualcomm/builders/op_prelu.py +81 -0
  1264. executorch/backends/qualcomm/builders/op_quantize.py +73 -0
  1265. executorch/backends/qualcomm/builders/op_relu.py +58 -0
  1266. executorch/backends/qualcomm/builders/op_repeat.py +68 -0
  1267. executorch/backends/qualcomm/builders/op_reshape.py +55 -0
  1268. executorch/backends/qualcomm/builders/op_resize.py +85 -0
  1269. executorch/backends/qualcomm/builders/op_rms_norm.py +132 -0
  1270. executorch/backends/qualcomm/builders/op_round.py +58 -0
  1271. executorch/backends/qualcomm/builders/op_rsqrt.py +58 -0
  1272. executorch/backends/qualcomm/builders/op_scalar_tensor.py +51 -0
  1273. executorch/backends/qualcomm/builders/op_select_copy.py +89 -0
  1274. executorch/backends/qualcomm/builders/op_sigmoid.py +58 -0
  1275. executorch/backends/qualcomm/builders/op_sign.py +56 -0
  1276. executorch/backends/qualcomm/builders/op_sin.py +56 -0
  1277. executorch/backends/qualcomm/builders/op_skip_ops.py +55 -0
  1278. executorch/backends/qualcomm/builders/op_slice_copy.py +95 -0
  1279. executorch/backends/qualcomm/builders/op_slice_scatter.py +122 -0
  1280. executorch/backends/qualcomm/builders/op_softmax.py +79 -0
  1281. executorch/backends/qualcomm/builders/op_space_to_depth.py +78 -0
  1282. executorch/backends/qualcomm/builders/op_split_with_sizes.py +99 -0
  1283. executorch/backends/qualcomm/builders/op_sqrt.py +60 -0
  1284. executorch/backends/qualcomm/builders/op_squeeze.py +57 -0
  1285. executorch/backends/qualcomm/builders/op_stack.py +71 -0
  1286. executorch/backends/qualcomm/builders/op_sub.py +62 -0
  1287. executorch/backends/qualcomm/builders/op_sum_int_list.py +84 -0
  1288. executorch/backends/qualcomm/builders/op_tanh.py +57 -0
  1289. executorch/backends/qualcomm/builders/op_to.py +149 -0
  1290. executorch/backends/qualcomm/builders/op_topk.py +112 -0
  1291. executorch/backends/qualcomm/builders/op_transpose.py +76 -0
  1292. executorch/backends/qualcomm/builders/op_unbind.py +73 -0
  1293. executorch/backends/qualcomm/builders/op_unsqueeze.py +57 -0
  1294. executorch/backends/qualcomm/builders/op_upsample_bilinear2d.py +68 -0
  1295. executorch/backends/qualcomm/builders/op_upsample_nearest2d.py +68 -0
  1296. executorch/backends/qualcomm/builders/op_where.py +82 -0
  1297. executorch/backends/qualcomm/builders/op_xor.py +60 -0
  1298. executorch/backends/qualcomm/builders/qnn_constants.py +630 -0
  1299. executorch/backends/qualcomm/builders/utils.py +160 -0
  1300. executorch/backends/qualcomm/debugger/format_outputs.py +221 -0
  1301. executorch/backends/qualcomm/debugger/metrics_evaluator.py +90 -0
  1302. executorch/backends/qualcomm/debugger/qnn_intermediate_debugger.py +328 -0
  1303. executorch/backends/qualcomm/debugger/utils.py +435 -0
  1304. executorch/backends/qualcomm/partition/common_defs.py +44 -0
  1305. executorch/backends/qualcomm/partition/qnn_partitioner.py +225 -0
  1306. executorch/backends/qualcomm/partition/utils.py +75 -0
  1307. executorch/backends/qualcomm/qnn_preprocess.py +218 -0
  1308. executorch/backends/qualcomm/quantizer/annotators.py +1501 -0
  1309. executorch/backends/qualcomm/quantizer/custom_annotation.py +499 -0
  1310. executorch/backends/qualcomm/quantizer/observers/concat_observer.py +74 -0
  1311. executorch/backends/qualcomm/quantizer/observers/per_block_param_observer.py +145 -0
  1312. executorch/backends/qualcomm/quantizer/observers/per_channel_param_observer.py +113 -0
  1313. executorch/backends/qualcomm/quantizer/qconfig.py +802 -0
  1314. executorch/backends/qualcomm/quantizer/quant_recipe.py +402 -0
  1315. executorch/backends/qualcomm/quantizer/quantizer.py +507 -0
  1316. executorch/backends/qualcomm/recipes/__init__.py +16 -0
  1317. executorch/backends/qualcomm/recipes/qnn_recipe_provider.py +179 -0
  1318. executorch/backends/qualcomm/recipes/qnn_recipe_types.py +28 -0
  1319. executorch/backends/qualcomm/scripts/download_qnn_sdk.py +642 -0
  1320. executorch/backends/qualcomm/serialization/qc_compiler_spec.fbs +299 -0
  1321. executorch/backends/qualcomm/serialization/qc_schema.py +240 -0
  1322. executorch/backends/qualcomm/serialization/qc_schema_serialize.py +59 -0
  1323. executorch/backends/qualcomm/tests/models.py +2393 -0
  1324. executorch/backends/qualcomm/tests/test_passes.py +154 -0
  1325. executorch/backends/qualcomm/tests/test_qnn_delegate.py +8454 -0
  1326. executorch/backends/qualcomm/tests/tester.py +113 -0
  1327. executorch/backends/qualcomm/tests/utils.py +770 -0
  1328. executorch/backends/qualcomm/utils/constants.py +49 -0
  1329. executorch/backends/qualcomm/utils/qnn_manager_lifecycle.py +88 -0
  1330. executorch/backends/qualcomm/utils/utils.py +1302 -0
  1331. executorch/backends/samsung/_passes/annotate_qparams.py +201 -0
  1332. executorch/backends/samsung/_passes/annotate_scalar_parameters.py +65 -0
  1333. executorch/backends/samsung/_passes/conv1d_to_conv2d.py +97 -0
  1334. executorch/backends/samsung/_passes/customized_constant_prop.py +40 -0
  1335. executorch/backends/samsung/_passes/fold_qdq.py +36 -0
  1336. executorch/backends/samsung/_passes/fuse_conv_act.py +77 -0
  1337. executorch/backends/samsung/_passes/insert_qdq.py +164 -0
  1338. executorch/backends/samsung/_passes/remove_useless_ops.py +87 -0
  1339. executorch/backends/samsung/_passes/replace_scalar_ops.py +46 -0
  1340. executorch/backends/samsung/_passes/utils.py +15 -0
  1341. executorch/backends/samsung/builders/__init__.py +97 -0
  1342. executorch/backends/samsung/builders/node_visitor.py +116 -0
  1343. executorch/backends/samsung/builders/op_add.py +41 -0
  1344. executorch/backends/samsung/builders/op_avg_pool2d.py +70 -0
  1345. executorch/backends/samsung/builders/op_batch_norm.py +56 -0
  1346. executorch/backends/samsung/builders/op_bmm.py +43 -0
  1347. executorch/backends/samsung/builders/op_cat.py +50 -0
  1348. executorch/backends/samsung/builders/op_clamp.py +47 -0
  1349. executorch/backends/samsung/builders/op_constant_pad_nd.py +56 -0
  1350. executorch/backends/samsung/builders/op_conv2d.py +89 -0
  1351. executorch/backends/samsung/builders/op_dequantize.py +19 -0
  1352. executorch/backends/samsung/builders/op_div.py +42 -0
  1353. executorch/backends/samsung/builders/op_embedding.py +41 -0
  1354. executorch/backends/samsung/builders/op_expand_copy.py +77 -0
  1355. executorch/backends/samsung/builders/op_gelu.py +40 -0
  1356. executorch/backends/samsung/builders/op_getitem.py +32 -0
  1357. executorch/backends/samsung/builders/op_hardsigmoid.py +35 -0
  1358. executorch/backends/samsung/builders/op_hardswish.py +35 -0
  1359. executorch/backends/samsung/builders/op_hardtanh.py +42 -0
  1360. executorch/backends/samsung/builders/op_layer_norm.py +53 -0
  1361. executorch/backends/samsung/builders/op_leaky_relu.py +58 -0
  1362. executorch/backends/samsung/builders/op_linear.py +51 -0
  1363. executorch/backends/samsung/builders/op_log_softmax.py +39 -0
  1364. executorch/backends/samsung/builders/op_max_pool2d.py +96 -0
  1365. executorch/backends/samsung/builders/op_maximum.py +37 -0
  1366. executorch/backends/samsung/builders/op_mean_dim.py +49 -0
  1367. executorch/backends/samsung/builders/op_minimum.py +39 -0
  1368. executorch/backends/samsung/builders/op_mul.py +43 -0
  1369. executorch/backends/samsung/builders/op_permute.py +37 -0
  1370. executorch/backends/samsung/builders/op_pixel_shuffle.py +38 -0
  1371. executorch/backends/samsung/builders/op_quantize.py +60 -0
  1372. executorch/backends/samsung/builders/op_relu.py +37 -0
  1373. executorch/backends/samsung/builders/op_reshape.py +34 -0
  1374. executorch/backends/samsung/builders/op_rsqrt.py +35 -0
  1375. executorch/backends/samsung/builders/op_select.py +52 -0
  1376. executorch/backends/samsung/builders/op_slice_copy.py +59 -0
  1377. executorch/backends/samsung/builders/op_softmax.py +39 -0
  1378. executorch/backends/samsung/builders/op_sqrt.py +35 -0
  1379. executorch/backends/samsung/builders/op_squeeze.py +37 -0
  1380. executorch/backends/samsung/builders/op_sub.py +39 -0
  1381. executorch/backends/samsung/builders/op_to_copy.py +44 -0
  1382. executorch/backends/samsung/builders/op_unsqueeze.py +35 -0
  1383. executorch/backends/samsung/builders/op_upsample_bilinear2d.py +53 -0
  1384. executorch/backends/samsung/builders/op_upsample_nearest2d.py +52 -0
  1385. executorch/backends/samsung/builders/utils.py +64 -0
  1386. executorch/backends/samsung/enn_preprocess.py +110 -0
  1387. executorch/backends/samsung/partition/enn_partitioner.py +134 -0
  1388. executorch/backends/samsung/quantizer/__init__.py +10 -0
  1389. executorch/backends/samsung/quantizer/annotator.py +871 -0
  1390. executorch/backends/samsung/quantizer/qconfig.py +174 -0
  1391. executorch/backends/samsung/quantizer/quantizer.py +65 -0
  1392. executorch/backends/samsung/serialization/compile_options.py +77 -0
  1393. executorch/backends/samsung/serialization/compile_options_def.fbs +23 -0
  1394. executorch/backends/samsung/serialization/enn_graph_schema.py +141 -0
  1395. executorch/backends/samsung/test/models/test_deeplab_v3.py +28 -0
  1396. executorch/backends/samsung/test/models/test_edsr.py +30 -0
  1397. executorch/backends/samsung/test/models/test_inception_v3.py +30 -0
  1398. executorch/backends/samsung/test/models/test_inception_v4.py +30 -0
  1399. executorch/backends/samsung/test/models/test_mobilenet_v2.py +28 -0
  1400. executorch/backends/samsung/test/models/test_mobilenet_v3.py +33 -0
  1401. executorch/backends/samsung/test/models/test_resnet18.py +30 -0
  1402. executorch/backends/samsung/test/models/test_resnet50.py +30 -0
  1403. executorch/backends/samsung/test/models/test_torchvision_vit.py +32 -0
  1404. executorch/backends/samsung/test/models/test_wav2letter.py +28 -0
  1405. executorch/backends/samsung/test/ops/test_add.py +63 -0
  1406. executorch/backends/samsung/test/ops/test_avg_pool2d.py +66 -0
  1407. executorch/backends/samsung/test/ops/test_batch_norm.py +52 -0
  1408. executorch/backends/samsung/test/ops/test_bmm.py +50 -0
  1409. executorch/backends/samsung/test/ops/test_cat.py +49 -0
  1410. executorch/backends/samsung/test/ops/test_clamp.py +50 -0
  1411. executorch/backends/samsung/test/ops/test_constant_pad_nd.py +46 -0
  1412. executorch/backends/samsung/test/ops/test_conv2d.py +95 -0
  1413. executorch/backends/samsung/test/ops/test_div.py +50 -0
  1414. executorch/backends/samsung/test/ops/test_embedding.py +46 -0
  1415. executorch/backends/samsung/test/ops/test_expand_copy.py +46 -0
  1416. executorch/backends/samsung/test/ops/test_gelu.py +65 -0
  1417. executorch/backends/samsung/test/ops/test_leaky_relu.py +47 -0
  1418. executorch/backends/samsung/test/ops/test_linear.py +48 -0
  1419. executorch/backends/samsung/test/ops/test_log_softmax.py +46 -0
  1420. executorch/backends/samsung/test/ops/test_max_pool2d.py +72 -0
  1421. executorch/backends/samsung/test/ops/test_mean_dim.py +51 -0
  1422. executorch/backends/samsung/test/ops/test_minimum.py +45 -0
  1423. executorch/backends/samsung/test/ops/test_mul.py +63 -0
  1424. executorch/backends/samsung/test/ops/test_permute.py +55 -0
  1425. executorch/backends/samsung/test/ops/test_pixel_shuffle.py +49 -0
  1426. executorch/backends/samsung/test/ops/test_relu.py +65 -0
  1427. executorch/backends/samsung/test/ops/test_reshape.py +46 -0
  1428. executorch/backends/samsung/test/ops/test_rsqrt.py +46 -0
  1429. executorch/backends/samsung/test/ops/test_select.py +52 -0
  1430. executorch/backends/samsung/test/ops/test_slice_copy.py +46 -0
  1431. executorch/backends/samsung/test/ops/test_softmax.py +46 -0
  1432. executorch/backends/samsung/test/ops/test_sqrt.py +46 -0
  1433. executorch/backends/samsung/test/ops/test_squeeze.py +47 -0
  1434. executorch/backends/samsung/test/ops/test_sub.py +63 -0
  1435. executorch/backends/samsung/test/ops/test_to_copy.py +49 -0
  1436. executorch/backends/samsung/test/ops/test_unsqueeze.py +47 -0
  1437. executorch/backends/samsung/test/ops/test_upsample_bilinear2d.py +54 -0
  1438. executorch/backends/samsung/test/ops/test_upsample_nearest2d.py +53 -0
  1439. executorch/backends/samsung/test/tester/__init__.py +11 -0
  1440. executorch/backends/samsung/test/tester/samsung_tester.py +125 -0
  1441. executorch/backends/samsung/test/utils/__init__.py +11 -0
  1442. executorch/backends/samsung/test/utils/runtime_executor.py +186 -0
  1443. executorch/backends/samsung/utils/constants.py +45 -0
  1444. executorch/backends/samsung/utils/export_utils.py +93 -0
  1445. executorch/backends/samsung/utils/utils.py +125 -0
  1446. executorch/backends/test/facto/__init__.py +0 -0
  1447. executorch/backends/test/facto/facto_specs.py +59 -0
  1448. executorch/backends/test/facto/test_facto.py +301 -0
  1449. executorch/backends/test/harness/__init__.py +3 -0
  1450. executorch/backends/test/harness/error_statistics.py +99 -0
  1451. executorch/backends/test/harness/stages/__init__.py +23 -0
  1452. executorch/backends/test/harness/stages/export.py +32 -0
  1453. executorch/backends/test/harness/stages/partition.py +26 -0
  1454. executorch/backends/test/harness/stages/quantize.py +128 -0
  1455. executorch/backends/test/harness/stages/run_passes.py +66 -0
  1456. executorch/backends/test/harness/stages/serialize.py +59 -0
  1457. executorch/backends/test/harness/stages/stage.py +91 -0
  1458. executorch/backends/test/harness/stages/to_edge.py +27 -0
  1459. executorch/backends/test/harness/stages/to_edge_transform_and_lower.py +50 -0
  1460. executorch/backends/test/harness/stages/to_executorch.py +54 -0
  1461. executorch/backends/test/harness/tester.py +478 -0
  1462. executorch/backends/test/harness/tests/test_error_statistics.py +67 -0
  1463. executorch/backends/test/suite/__init__.py +74 -0
  1464. executorch/backends/test/suite/conftest.py +182 -0
  1465. executorch/backends/test/suite/context.py +34 -0
  1466. executorch/backends/test/suite/discovery.py +100 -0
  1467. executorch/backends/test/suite/flow.py +150 -0
  1468. executorch/backends/test/suite/flows/__init__.py +7 -0
  1469. executorch/backends/test/suite/flows/arm.py +92 -0
  1470. executorch/backends/test/suite/flows/coreml.py +31 -0
  1471. executorch/backends/test/suite/flows/portable.py +19 -0
  1472. executorch/backends/test/suite/flows/qualcomm.py +61 -0
  1473. executorch/backends/test/suite/flows/vulkan.py +44 -0
  1474. executorch/backends/test/suite/flows/xnnpack.py +79 -0
  1475. executorch/backends/test/suite/generate_markdown_summary.py +249 -0
  1476. executorch/backends/test/suite/generate_markdown_summary_json.py +229 -0
  1477. executorch/backends/test/suite/models/__init__.py +7 -0
  1478. executorch/backends/test/suite/models/test_torchaudio.py +110 -0
  1479. executorch/backends/test/suite/models/test_torchvision.py +194 -0
  1480. executorch/backends/test/suite/operators/__init__.py +108 -0
  1481. executorch/backends/test/suite/operators/test_abs.py +60 -0
  1482. executorch/backends/test/suite/operators/test_adaptive_avgpool1d.py +102 -0
  1483. executorch/backends/test/suite/operators/test_adaptive_avgpool2d.py +112 -0
  1484. executorch/backends/test/suite/operators/test_adaptive_avgpool3d.py +112 -0
  1485. executorch/backends/test/suite/operators/test_adaptive_maxpool1d.py +125 -0
  1486. executorch/backends/test/suite/operators/test_adaptive_maxpool2d.py +135 -0
  1487. executorch/backends/test/suite/operators/test_adaptive_maxpool3d.py +135 -0
  1488. executorch/backends/test/suite/operators/test_add.py +76 -0
  1489. executorch/backends/test/suite/operators/test_amax.py +257 -0
  1490. executorch/backends/test/suite/operators/test_amin.py +259 -0
  1491. executorch/backends/test/suite/operators/test_argmax.py +201 -0
  1492. executorch/backends/test/suite/operators/test_argmin.py +201 -0
  1493. executorch/backends/test/suite/operators/test_avgpool1d.py +155 -0
  1494. executorch/backends/test/suite/operators/test_avgpool2d.py +168 -0
  1495. executorch/backends/test/suite/operators/test_avgpool3d.py +163 -0
  1496. executorch/backends/test/suite/operators/test_cat.py +176 -0
  1497. executorch/backends/test/suite/operators/test_ceil.py +60 -0
  1498. executorch/backends/test/suite/operators/test_clamp.py +86 -0
  1499. executorch/backends/test/suite/operators/test_conv1d.py +144 -0
  1500. executorch/backends/test/suite/operators/test_conv2d.py +167 -0
  1501. executorch/backends/test/suite/operators/test_conv3d.py +162 -0
  1502. executorch/backends/test/suite/operators/test_convtranspose1d.py +144 -0
  1503. executorch/backends/test/suite/operators/test_convtranspose2d.py +171 -0
  1504. executorch/backends/test/suite/operators/test_convtranspose3d.py +166 -0
  1505. executorch/backends/test/suite/operators/test_div.py +110 -0
  1506. executorch/backends/test/suite/operators/test_elu.py +49 -0
  1507. executorch/backends/test/suite/operators/test_embedding.py +89 -0
  1508. executorch/backends/test/suite/operators/test_embedding_bag.py +118 -0
  1509. executorch/backends/test/suite/operators/test_exp.py +65 -0
  1510. executorch/backends/test/suite/operators/test_expand.py +122 -0
  1511. executorch/backends/test/suite/operators/test_floor.py +57 -0
  1512. executorch/backends/test/suite/operators/test_floor_divide.py +216 -0
  1513. executorch/backends/test/suite/operators/test_gelu.py +52 -0
  1514. executorch/backends/test/suite/operators/test_glu.py +52 -0
  1515. executorch/backends/test/suite/operators/test_hardsigmoid.py +50 -0
  1516. executorch/backends/test/suite/operators/test_hardswish.py +50 -0
  1517. executorch/backends/test/suite/operators/test_hardtanh.py +57 -0
  1518. executorch/backends/test/suite/operators/test_index_put.py +455 -0
  1519. executorch/backends/test/suite/operators/test_index_select.py +128 -0
  1520. executorch/backends/test/suite/operators/test_leaky_relu.py +56 -0
  1521. executorch/backends/test/suite/operators/test_linear.py +124 -0
  1522. executorch/backends/test/suite/operators/test_log.py +80 -0
  1523. executorch/backends/test/suite/operators/test_log10.py +60 -0
  1524. executorch/backends/test/suite/operators/test_log1p.py +60 -0
  1525. executorch/backends/test/suite/operators/test_log2.py +60 -0
  1526. executorch/backends/test/suite/operators/test_logsigmoid.py +40 -0
  1527. executorch/backends/test/suite/operators/test_lstm.py +247 -0
  1528. executorch/backends/test/suite/operators/test_masked_fill.py +101 -0
  1529. executorch/backends/test/suite/operators/test_maxpool1d.py +185 -0
  1530. executorch/backends/test/suite/operators/test_maxpool2d.py +191 -0
  1531. executorch/backends/test/suite/operators/test_maxpool3d.py +189 -0
  1532. executorch/backends/test/suite/operators/test_mean.py +305 -0
  1533. executorch/backends/test/suite/operators/test_median.py +188 -0
  1534. executorch/backends/test/suite/operators/test_mul.py +66 -0
  1535. executorch/backends/test/suite/operators/test_neg.py +70 -0
  1536. executorch/backends/test/suite/operators/test_permute.py +109 -0
  1537. executorch/backends/test/suite/operators/test_pow.py +149 -0
  1538. executorch/backends/test/suite/operators/test_prelu.py +55 -0
  1539. executorch/backends/test/suite/operators/test_relu.py +45 -0
  1540. executorch/backends/test/suite/operators/test_reshape.py +82 -0
  1541. executorch/backends/test/suite/operators/test_round.py +129 -0
  1542. executorch/backends/test/suite/operators/test_rsqrt.py +76 -0
  1543. executorch/backends/test/suite/operators/test_select.py +89 -0
  1544. executorch/backends/test/suite/operators/test_sigmoid.py +40 -0
  1545. executorch/backends/test/suite/operators/test_silu.py +50 -0
  1546. executorch/backends/test/suite/operators/test_slice.py +146 -0
  1547. executorch/backends/test/suite/operators/test_split.py +119 -0
  1548. executorch/backends/test/suite/operators/test_sqrt.py +71 -0
  1549. executorch/backends/test/suite/operators/test_square.py +67 -0
  1550. executorch/backends/test/suite/operators/test_squeeze.py +86 -0
  1551. executorch/backends/test/suite/operators/test_stack.py +114 -0
  1552. executorch/backends/test/suite/operators/test_sub.py +84 -0
  1553. executorch/backends/test/suite/operators/test_tanh.py +40 -0
  1554. executorch/backends/test/suite/operators/test_threshold.py +71 -0
  1555. executorch/backends/test/suite/operators/test_transpose.py +143 -0
  1556. executorch/backends/test/suite/operators/test_trunc.py +73 -0
  1557. executorch/backends/test/suite/operators/test_unsqueeze.py +110 -0
  1558. executorch/backends/test/suite/operators/test_upsample_bilinear2d.py +273 -0
  1559. executorch/backends/test/suite/operators/test_upsample_nearest2d.py +137 -0
  1560. executorch/backends/test/suite/operators/test_view.py +82 -0
  1561. executorch/backends/test/suite/reporting.py +421 -0
  1562. executorch/backends/test/suite/runner.py +328 -0
  1563. executorch/backends/test/suite/tests/__init__.py +0 -0
  1564. executorch/backends/test/suite/tests/test_reporting.py +144 -0
  1565. executorch/backends/transforms/__init__.py +12 -0
  1566. executorch/backends/transforms/addmm_mm_to_linear.py +170 -0
  1567. executorch/backends/transforms/convert_dtype_pass.py +103 -0
  1568. executorch/backends/transforms/decompose_sdpa.py +120 -0
  1569. executorch/backends/transforms/duplicate_dynamic_quant_chain.py +195 -0
  1570. executorch/backends/transforms/fuse_batch_norm_with_conv.py +161 -0
  1571. executorch/backends/transforms/fuse_conv_with_clamp.py +77 -0
  1572. executorch/backends/transforms/fuse_view_copy.py +116 -0
  1573. executorch/backends/transforms/mean_to_sum_div.py +41 -0
  1574. executorch/backends/transforms/rank_0_to_rank_1.py +18 -0
  1575. executorch/backends/transforms/remove_clone_ops.py +109 -0
  1576. executorch/backends/transforms/remove_getitem_op.py +109 -0
  1577. executorch/backends/transforms/replace_scalar_with_tensor.py +93 -0
  1578. executorch/backends/transforms/test/test_create_delete_constant_placeholder.py +122 -0
  1579. executorch/backends/transforms/test/test_create_mutable_buffer.py +503 -0
  1580. executorch/backends/transforms/test/test_duplicate_dynamic_quant_chain.py +184 -0
  1581. executorch/backends/transforms/test/test_rank_0_to_rank_1.py +32 -0
  1582. executorch/backends/transforms/test/test_remove_clone_ops.py +197 -0
  1583. executorch/backends/transforms/utils.py +377 -0
  1584. executorch/backends/transforms/view_copy_to_squeeze_unsqueeze.py +135 -0
  1585. executorch/backends/vulkan/__init__.py +14 -0
  1586. executorch/backends/vulkan/_passes/__init__.py +37 -0
  1587. executorch/backends/vulkan/_passes/fold_qdq.py +40 -0
  1588. executorch/backends/vulkan/_passes/fuse_patterns.py +34 -0
  1589. executorch/backends/vulkan/_passes/fuse_quantized_ops.py +236 -0
  1590. executorch/backends/vulkan/_passes/insert_prepack_nodes.py +83 -0
  1591. executorch/backends/vulkan/_passes/remove_asserts.py +52 -0
  1592. executorch/backends/vulkan/_passes/remove_redundant_ops.py +72 -0
  1593. executorch/backends/vulkan/_passes/squeeze_unsqueeze_inputs.py +93 -0
  1594. executorch/backends/vulkan/_passes/tag_memory_meta_pass.py +485 -0
  1595. executorch/backends/vulkan/custom_ops_lib.py +597 -0
  1596. executorch/backends/vulkan/op_registry.py +885 -0
  1597. executorch/backends/vulkan/partitioner/vulkan_partitioner.py +401 -0
  1598. executorch/backends/vulkan/patterns/__init__.py +139 -0
  1599. executorch/backends/vulkan/patterns/pattern_registry.py +116 -0
  1600. executorch/backends/vulkan/patterns/quantized_binary.py +161 -0
  1601. executorch/backends/vulkan/patterns/quantized_convolution.py +260 -0
  1602. executorch/backends/vulkan/patterns/quantized_linear.py +500 -0
  1603. executorch/backends/vulkan/patterns/rope.py +173 -0
  1604. executorch/backends/vulkan/patterns/sdpa.py +155 -0
  1605. executorch/backends/vulkan/patterns/select_as_symint.py +104 -0
  1606. executorch/backends/vulkan/quantizer/vulkan_quantizer.py +183 -0
  1607. executorch/backends/vulkan/quantizer/vulkan_quantizer_utils.py +223 -0
  1608. executorch/backends/vulkan/runtime/gen_vulkan_spv.py +1517 -0
  1609. executorch/backends/vulkan/runtime/graph/ops/glsl/addmm_naive_buffer.yaml +19 -0
  1610. executorch/backends/vulkan/runtime/graph/ops/glsl/addmm_naive_texture3d.yaml +24 -0
  1611. executorch/backends/vulkan/runtime/graph/ops/glsl/addmm_optimized.yaml +43 -0
  1612. executorch/backends/vulkan/runtime/graph/ops/glsl/arange.yaml +19 -0
  1613. executorch/backends/vulkan/runtime/graph/ops/glsl/avg_pool2d.yaml +18 -0
  1614. executorch/backends/vulkan/runtime/graph/ops/glsl/batchnorm.yaml +11 -0
  1615. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_op.yaml +118 -0
  1616. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_q8ta_q8ta_q8to.yaml +19 -0
  1617. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_scalar_buffer.yaml +20 -0
  1618. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_scalar_texture.yaml +20 -0
  1619. executorch/backends/vulkan/runtime/graph/ops/glsl/bitw8_image_to_nchw_nobitw8buffer.yaml +22 -0
  1620. executorch/backends/vulkan/runtime/graph/ops/glsl/buffer_to_buffer.yaml +20 -0
  1621. executorch/backends/vulkan/runtime/graph/ops/glsl/buffer_to_nchw.yaml +25 -0
  1622. executorch/backends/vulkan/runtime/graph/ops/glsl/choose_qparams_per_row.yaml +19 -0
  1623. executorch/backends/vulkan/runtime/graph/ops/glsl/clone.yaml +13 -0
  1624. executorch/backends/vulkan/runtime/graph/ops/glsl/col2im.yaml +19 -0
  1625. executorch/backends/vulkan/runtime/graph/ops/glsl/concat_buffer.yaml +15 -0
  1626. executorch/backends/vulkan/runtime/graph/ops/glsl/concat_texture.yaml +15 -0
  1627. executorch/backends/vulkan/runtime/graph/ops/glsl/conv1d.yaml +19 -0
  1628. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d.yaml +19 -0
  1629. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.yaml +19 -0
  1630. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.yaml +27 -0
  1631. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_prepack_weights.yaml +15 -0
  1632. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_q8ta_q8csw_q8to.yaml +20 -0
  1633. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.yaml +25 -0
  1634. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_prepack_weights.yaml +15 -0
  1635. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.yaml +21 -0
  1636. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw_q8ta_q8csw_q8to_tiled.yaml +20 -0
  1637. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw_s1p0.yaml +19 -0
  1638. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8csw_linear_tiled.yaml +22 -0
  1639. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_linear_tiled.yaml +22 -0
  1640. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_q8to.yaml +21 -0
  1641. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_q8to_linear_tiled.yaml +21 -0
  1642. executorch/backends/vulkan/runtime/graph/ops/glsl/conv_transpose2d.yaml +19 -0
  1643. executorch/backends/vulkan/runtime/graph/ops/glsl/conv_transpose2d_prepack_weights.yaml +16 -0
  1644. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_buffer.yaml +16 -0
  1645. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_legacy.yaml +12 -0
  1646. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_texture.yaml +15 -0
  1647. executorch/backends/vulkan/runtime/graph/ops/glsl/expand_buffer.yaml +11 -0
  1648. executorch/backends/vulkan/runtime/graph/ops/glsl/flip.yaml +14 -0
  1649. executorch/backends/vulkan/runtime/graph/ops/glsl/full.yaml +20 -0
  1650. executorch/backends/vulkan/runtime/graph/ops/glsl/gather_buffer.yaml +18 -0
  1651. executorch/backends/vulkan/runtime/graph/ops/glsl/gather_texture.yaml +17 -0
  1652. executorch/backends/vulkan/runtime/graph/ops/glsl/grid_priors.yaml +12 -0
  1653. executorch/backends/vulkan/runtime/graph/ops/glsl/group_norm_reduce_texture.yaml +15 -0
  1654. executorch/backends/vulkan/runtime/graph/ops/glsl/group_norm_texture.yaml +15 -0
  1655. executorch/backends/vulkan/runtime/graph/ops/glsl/im2col.yaml +18 -0
  1656. executorch/backends/vulkan/runtime/graph/ops/glsl/im2col_packed_int8.yaml +15 -0
  1657. executorch/backends/vulkan/runtime/graph/ops/glsl/image_to_nchw.yaml +38 -0
  1658. executorch/backends/vulkan/runtime/graph/ops/glsl/index_select.yaml +13 -0
  1659. executorch/backends/vulkan/runtime/graph/ops/glsl/index_select_channel.yaml +13 -0
  1660. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_dq8ca_q4gsw_tiled.yaml +29 -0
  1661. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q4gsw_coop.yaml +43 -0
  1662. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q4gsw_tiled.yaml +28 -0
  1663. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q8csw_tiled.yaml +28 -0
  1664. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q8ta_q8csw_tiled.yaml +24 -0
  1665. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw.yaml +23 -0
  1666. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw_coop.yaml +38 -0
  1667. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw_tiled.yaml +54 -0
  1668. executorch/backends/vulkan/runtime/graph/ops/glsl/max_pool2d.yaml +17 -0
  1669. executorch/backends/vulkan/runtime/graph/ops/glsl/native_layer_norm.yaml +16 -0
  1670. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_bitw8_image_nobitw8buffer.yaml +22 -0
  1671. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_buffer.yaml +25 -0
  1672. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_image.yaml +37 -0
  1673. executorch/backends/vulkan/runtime/graph/ops/glsl/no_op.yaml +24 -0
  1674. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_int4_linear_weight_transposed_interleaved.yaml +19 -0
  1675. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q4_linear_weight.yaml +14 -0
  1676. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_conv2d_dw_weights.yaml +15 -0
  1677. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_conv2d_weights.yaml +15 -0
  1678. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_linear_weight.yaml +14 -0
  1679. executorch/backends/vulkan/runtime/graph/ops/glsl/pad_channel.yaml +14 -0
  1680. executorch/backends/vulkan/runtime/graph/ops/glsl/pad_height_width.yaml +14 -0
  1681. executorch/backends/vulkan/runtime/graph/ops/glsl/permute_buffer.yaml +11 -0
  1682. executorch/backends/vulkan/runtime/graph/ops/glsl/permute_texture.yaml +11 -0
  1683. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4h4w.yaml +25 -0
  1684. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4h4w_with_group_sums.yaml +30 -0
  1685. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4w4c.yaml +23 -0
  1686. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_im2col.yaml +18 -0
  1687. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce.yaml +29 -0
  1688. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce2d.yaml +29 -0
  1689. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce_per_row_buffer.yaml +42 -0
  1690. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat.yaml +14 -0
  1691. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_channel.yaml +12 -0
  1692. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_interleave.yaml +12 -0
  1693. executorch/backends/vulkan/runtime/graph/ops/glsl/rotary_embedding.yaml +13 -0
  1694. executorch/backends/vulkan/runtime/graph/ops/glsl/scalar_tensor.yaml +27 -0
  1695. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_attn_weights_softmax.yaml +19 -0
  1696. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_attn_weights_coop.yaml +25 -0
  1697. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_attn_weights_tiled.yaml +26 -0
  1698. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_out_coop.yaml +25 -0
  1699. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_out_tiled.yaml +26 -0
  1700. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_kv_cache_update.yaml +23 -0
  1701. executorch/backends/vulkan/runtime/graph/ops/glsl/set_zero.yaml +8 -0
  1702. executorch/backends/vulkan/runtime/graph/ops/glsl/softmax.yaml +21 -0
  1703. executorch/backends/vulkan/runtime/graph/ops/glsl/split_buffer.yaml +18 -0
  1704. executorch/backends/vulkan/runtime/graph/ops/glsl/split_texture.yaml +17 -0
  1705. executorch/backends/vulkan/runtime/graph/ops/glsl/tan.yaml +13 -0
  1706. executorch/backends/vulkan/runtime/graph/ops/glsl/transfer_buffer.yaml +22 -0
  1707. executorch/backends/vulkan/runtime/graph/ops/glsl/transfer_texture.yaml +22 -0
  1708. executorch/backends/vulkan/runtime/graph/ops/glsl/unary_op.yaml +48 -0
  1709. executorch/backends/vulkan/runtime/graph/ops/glsl/unpack_4w4c_and_dequantize.yaml +23 -0
  1710. executorch/backends/vulkan/runtime/graph/ops/glsl/update_concat_offset.yaml +13 -0
  1711. executorch/backends/vulkan/runtime/graph/ops/glsl/upsample_2d.yaml +19 -0
  1712. executorch/backends/vulkan/runtime/graph/ops/glsl/var_buffer.yaml +16 -0
  1713. executorch/backends/vulkan/runtime/graph/ops/glsl/var_texture3d.yaml +16 -0
  1714. executorch/backends/vulkan/runtime/graph/ops/glsl/view.yaml +13 -0
  1715. executorch/backends/vulkan/runtime/graph/ops/glsl/view_buffer.yaml +20 -0
  1716. executorch/backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.yaml +22 -0
  1717. executorch/backends/vulkan/runtime/graph/ops/glsl/where.yaml +12 -0
  1718. executorch/backends/vulkan/serialization/schema.fbs +158 -0
  1719. executorch/backends/vulkan/serialization/vulkan_graph_builder.py +505 -0
  1720. executorch/backends/vulkan/serialization/vulkan_graph_schema.py +161 -0
  1721. executorch/backends/vulkan/serialization/vulkan_graph_serialize.py +274 -0
  1722. executorch/backends/vulkan/test/custom_ops/glsl/add.yaml +29 -0
  1723. executorch/backends/vulkan/test/glsl/all_shaders.yaml +68 -0
  1724. executorch/backends/vulkan/test/glsl/dynamic_dispatch_test.yaml +7 -0
  1725. executorch/backends/vulkan/test/glsl/reference_matmul_common.yaml +9 -0
  1726. executorch/backends/vulkan/test/op_tests/cases.py +2026 -0
  1727. executorch/backends/vulkan/test/op_tests/generate_op_benchmarks.py +88 -0
  1728. executorch/backends/vulkan/test/op_tests/generate_op_correctness_tests.py +90 -0
  1729. executorch/backends/vulkan/test/op_tests/utils/aten_types.py +31 -0
  1730. executorch/backends/vulkan/test/op_tests/utils/gen_benchmark_vk.py +350 -0
  1731. executorch/backends/vulkan/test/op_tests/utils/gen_computegraph.py +788 -0
  1732. executorch/backends/vulkan/test/op_tests/utils/gen_correctness_base.py +421 -0
  1733. executorch/backends/vulkan/test/op_tests/utils/gen_correctness_vk.py +164 -0
  1734. executorch/backends/vulkan/test/op_tests/utils/test_suite.py +53 -0
  1735. executorch/backends/vulkan/test/test_serialization.py +135 -0
  1736. executorch/backends/vulkan/test/test_vulkan_delegate.py +2696 -0
  1737. executorch/backends/vulkan/test/test_vulkan_delegate_header.py +104 -0
  1738. executorch/backends/vulkan/test/test_vulkan_passes.py +193 -0
  1739. executorch/backends/vulkan/test/tester.py +91 -0
  1740. executorch/backends/vulkan/test/utils.py +1111 -0
  1741. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/apiconventions.py +21 -0
  1742. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/base_generator.py +937 -0
  1743. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/cgenerator.py +549 -0
  1744. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/generator.py +1424 -0
  1745. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/parse_dependency.py +404 -0
  1746. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/reg.py +1885 -0
  1747. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/spec_tools/conventions.py +562 -0
  1748. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/spec_tools/util.py +58 -0
  1749. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/stripAPI.py +42 -0
  1750. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/vkconventions.py +314 -0
  1751. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/vulkan_object.py +484 -0
  1752. executorch/backends/vulkan/third-party/VulkanMemoryAllocator/tools/GpuMemDumpVis/GpuMemDumpVis.py +333 -0
  1753. executorch/backends/vulkan/third-party/volk/generate.py +212 -0
  1754. executorch/backends/vulkan/tools/gpuinfo/glsl/buf_bandwidth.yaml +18 -0
  1755. executorch/backends/vulkan/tools/gpuinfo/glsl/buf_cacheline_size.yaml +12 -0
  1756. executorch/backends/vulkan/tools/gpuinfo/glsl/reg_count.yaml +16 -0
  1757. executorch/backends/vulkan/tools/gpuinfo/glsl/tex_bandwidth.yaml +15 -0
  1758. executorch/backends/vulkan/tools/gpuinfo/glsl/tex_cacheline_concurr.yaml +14 -0
  1759. executorch/backends/vulkan/tools/gpuinfo/glsl/warp_size.yaml +16 -0
  1760. executorch/backends/vulkan/utils.py +1474 -0
  1761. executorch/backends/vulkan/vulkan_preprocess.py +249 -0
  1762. executorch/backends/xnnpack/__init__.py +34 -0
  1763. executorch/backends/xnnpack/_passes/__init__.py +109 -0
  1764. executorch/backends/xnnpack/_passes/channels_last_tagged_reshape_pass.py +561 -0
  1765. executorch/backends/xnnpack/_passes/conv1d_unsqueeze_pass.py +203 -0
  1766. executorch/backends/xnnpack/_passes/convert_to_linear.py +198 -0
  1767. executorch/backends/xnnpack/_passes/convert_to_sdpa.py +114 -0
  1768. executorch/backends/xnnpack/_passes/convert_to_upsample_bilinear2d.py +65 -0
  1769. executorch/backends/xnnpack/_passes/decompose_cat.py +105 -0
  1770. executorch/backends/xnnpack/_passes/fuse_activation_pass.py +87 -0
  1771. executorch/backends/xnnpack/_passes/fuse_batch_norm.py +261 -0
  1772. executorch/backends/xnnpack/_passes/prelu_reshape_pass.py +75 -0
  1773. executorch/backends/xnnpack/_passes/propagate_custom_meta_pass.py +44 -0
  1774. executorch/backends/xnnpack/_passes/remove_redundant_copy_pass.py +158 -0
  1775. executorch/backends/xnnpack/_passes/xnnpack_pass.py +22 -0
  1776. executorch/backends/xnnpack/operators/__init__.py +61 -0
  1777. executorch/backends/xnnpack/operators/node_visitor.py +758 -0
  1778. executorch/backends/xnnpack/operators/op_abs.py +52 -0
  1779. executorch/backends/xnnpack/operators/op_add.py +77 -0
  1780. executorch/backends/xnnpack/operators/op_addmm.py +70 -0
  1781. executorch/backends/xnnpack/operators/op_avg_pooling2d.py +75 -0
  1782. executorch/backends/xnnpack/operators/op_bmm.py +54 -0
  1783. executorch/backends/xnnpack/operators/op_cat.py +121 -0
  1784. executorch/backends/xnnpack/operators/op_ceiling.py +52 -0
  1785. executorch/backends/xnnpack/operators/op_clamp.py +64 -0
  1786. executorch/backends/xnnpack/operators/op_clone.py +60 -0
  1787. executorch/backends/xnnpack/operators/op_conv2d.py +186 -0
  1788. executorch/backends/xnnpack/operators/op_cos.py +52 -0
  1789. executorch/backends/xnnpack/operators/op_div.py +56 -0
  1790. executorch/backends/xnnpack/operators/op_dynamic_dequantize_ops.py +114 -0
  1791. executorch/backends/xnnpack/operators/op_dynamic_quantize_ops.py +179 -0
  1792. executorch/backends/xnnpack/operators/op_elu.py +56 -0
  1793. executorch/backends/xnnpack/operators/op_exp.py +52 -0
  1794. executorch/backends/xnnpack/operators/op_floor.py +48 -0
  1795. executorch/backends/xnnpack/operators/op_gelu.py +52 -0
  1796. executorch/backends/xnnpack/operators/op_hardswish.py +52 -0
  1797. executorch/backends/xnnpack/operators/op_hardtanh.py +67 -0
  1798. executorch/backends/xnnpack/operators/op_leaky_relu.py +65 -0
  1799. executorch/backends/xnnpack/operators/op_linear.py +110 -0
  1800. executorch/backends/xnnpack/operators/op_log.py +52 -0
  1801. executorch/backends/xnnpack/operators/op_matrix_multiplication.py +66 -0
  1802. executorch/backends/xnnpack/operators/op_max_dim.py +206 -0
  1803. executorch/backends/xnnpack/operators/op_max_pool2d.py +136 -0
  1804. executorch/backends/xnnpack/operators/op_maximum.py +55 -0
  1805. executorch/backends/xnnpack/operators/op_mean_dim.py +78 -0
  1806. executorch/backends/xnnpack/operators/op_minimum.py +54 -0
  1807. executorch/backends/xnnpack/operators/op_multiply.py +84 -0
  1808. executorch/backends/xnnpack/operators/op_negate.py +51 -0
  1809. executorch/backends/xnnpack/operators/op_permute.py +87 -0
  1810. executorch/backends/xnnpack/operators/op_prelu.py +56 -0
  1811. executorch/backends/xnnpack/operators/op_quant_dequant.py +196 -0
  1812. executorch/backends/xnnpack/operators/op_relu.py +61 -0
  1813. executorch/backends/xnnpack/operators/op_rsqrt.py +52 -0
  1814. executorch/backends/xnnpack/operators/op_sigmoid.py +48 -0
  1815. executorch/backends/xnnpack/operators/op_sin.py +52 -0
  1816. executorch/backends/xnnpack/operators/op_skip_ops.py +89 -0
  1817. executorch/backends/xnnpack/operators/op_slice_copy.py +100 -0
  1818. executorch/backends/xnnpack/operators/op_softmax.py +58 -0
  1819. executorch/backends/xnnpack/operators/op_square.py +52 -0
  1820. executorch/backends/xnnpack/operators/op_square_root.py +52 -0
  1821. executorch/backends/xnnpack/operators/op_squeeze.py +145 -0
  1822. executorch/backends/xnnpack/operators/op_static_constant_pad.py +145 -0
  1823. executorch/backends/xnnpack/operators/op_static_resize_bilinear_2d.py +61 -0
  1824. executorch/backends/xnnpack/operators/op_sub.py +77 -0
  1825. executorch/backends/xnnpack/operators/op_tanh.py +52 -0
  1826. executorch/backends/xnnpack/operators/op_to_copy.py +91 -0
  1827. executorch/backends/xnnpack/operators/op_view_copy.py +96 -0
  1828. executorch/backends/xnnpack/operators/quant_params.py +412 -0
  1829. executorch/backends/xnnpack/partition/config/__init__.py +127 -0
  1830. executorch/backends/xnnpack/partition/config/gemm_configs.py +575 -0
  1831. executorch/backends/xnnpack/partition/config/generic_node_configs.py +711 -0
  1832. executorch/backends/xnnpack/partition/config/node_configs.py +148 -0
  1833. executorch/backends/xnnpack/partition/config/quant_affine_configs.py +56 -0
  1834. executorch/backends/xnnpack/partition/config/xnnpack_config.py +252 -0
  1835. executorch/backends/xnnpack/partition/graphs/bilinear_2d.py +55 -0
  1836. executorch/backends/xnnpack/partition/graphs/sdpa.py +86 -0
  1837. executorch/backends/xnnpack/partition/xnnpack_partitioner.py +160 -0
  1838. executorch/backends/xnnpack/quantizer/xnnpack_quantizer.py +462 -0
  1839. executorch/backends/xnnpack/quantizer/xnnpack_quantizer_utils.py +1121 -0
  1840. executorch/backends/xnnpack/recipes/__init__.py +19 -0
  1841. executorch/backends/xnnpack/recipes/xnnpack_recipe_provider.py +200 -0
  1842. executorch/backends/xnnpack/recipes/xnnpack_recipe_types.py +37 -0
  1843. executorch/backends/xnnpack/serialization/runtime_schema.fbs +389 -0
  1844. executorch/backends/xnnpack/serialization/schema.fbs +381 -0
  1845. executorch/backends/xnnpack/serialization/xnnpack_graph_schema.py +542 -0
  1846. executorch/backends/xnnpack/serialization/xnnpack_graph_serialize.py +373 -0
  1847. executorch/backends/xnnpack/test/__init__.py +0 -0
  1848. executorch/backends/xnnpack/test/models/deeplab_v3.py +42 -0
  1849. executorch/backends/xnnpack/test/models/edsr.py +55 -0
  1850. executorch/backends/xnnpack/test/models/emformer_rnnt.py +98 -0
  1851. executorch/backends/xnnpack/test/models/inception_v3.py +84 -0
  1852. executorch/backends/xnnpack/test/models/inception_v4.py +62 -0
  1853. executorch/backends/xnnpack/test/models/llama2_et_example.py +49 -0
  1854. executorch/backends/xnnpack/test/models/mobilebert.py +55 -0
  1855. executorch/backends/xnnpack/test/models/mobilenet_v2.py +103 -0
  1856. executorch/backends/xnnpack/test/models/mobilenet_v3.py +84 -0
  1857. executorch/backends/xnnpack/test/models/resnet.py +90 -0
  1858. executorch/backends/xnnpack/test/models/torchvision_vit.py +105 -0
  1859. executorch/backends/xnnpack/test/models/very_big_model.py +45 -0
  1860. executorch/backends/xnnpack/test/models/w2l.py +60 -0
  1861. executorch/backends/xnnpack/test/ops/test_abs.py +87 -0
  1862. executorch/backends/xnnpack/test/ops/test_add.py +266 -0
  1863. executorch/backends/xnnpack/test/ops/test_avgpool2d.py +92 -0
  1864. executorch/backends/xnnpack/test/ops/test_bilinear2d.py +152 -0
  1865. executorch/backends/xnnpack/test/ops/test_bmm.py +49 -0
  1866. executorch/backends/xnnpack/test/ops/test_cat.py +254 -0
  1867. executorch/backends/xnnpack/test/ops/test_ceil.py +63 -0
  1868. executorch/backends/xnnpack/test/ops/test_check_quant_params.py +107 -0
  1869. executorch/backends/xnnpack/test/ops/test_clamp.py +79 -0
  1870. executorch/backends/xnnpack/test/ops/test_clone.py +137 -0
  1871. executorch/backends/xnnpack/test/ops/test_conv1d.py +190 -0
  1872. executorch/backends/xnnpack/test/ops/test_conv2d.py +747 -0
  1873. executorch/backends/xnnpack/test/ops/test_cos.py +87 -0
  1874. executorch/backends/xnnpack/test/ops/test_div.py +78 -0
  1875. executorch/backends/xnnpack/test/ops/test_elu.py +98 -0
  1876. executorch/backends/xnnpack/test/ops/test_exp.py +70 -0
  1877. executorch/backends/xnnpack/test/ops/test_floor.py +58 -0
  1878. executorch/backends/xnnpack/test/ops/test_gelu.py +71 -0
  1879. executorch/backends/xnnpack/test/ops/test_hardswish.py +70 -0
  1880. executorch/backends/xnnpack/test/ops/test_hardtanh.py +83 -0
  1881. executorch/backends/xnnpack/test/ops/test_leaky_relu.py +131 -0
  1882. executorch/backends/xnnpack/test/ops/test_linear.py +1059 -0
  1883. executorch/backends/xnnpack/test/ops/test_log.py +45 -0
  1884. executorch/backends/xnnpack/test/ops/test_lstm.py +67 -0
  1885. executorch/backends/xnnpack/test/ops/test_max_dim.py +66 -0
  1886. executorch/backends/xnnpack/test/ops/test_maximum.py +66 -0
  1887. executorch/backends/xnnpack/test/ops/test_maxpool2d.py +221 -0
  1888. executorch/backends/xnnpack/test/ops/test_mean_dim.py +98 -0
  1889. executorch/backends/xnnpack/test/ops/test_minimum.py +49 -0
  1890. executorch/backends/xnnpack/test/ops/test_multiply.py +149 -0
  1891. executorch/backends/xnnpack/test/ops/test_negate.py +58 -0
  1892. executorch/backends/xnnpack/test/ops/test_permute.py +134 -0
  1893. executorch/backends/xnnpack/test/ops/test_pow.py +62 -0
  1894. executorch/backends/xnnpack/test/ops/test_prelu.py +50 -0
  1895. executorch/backends/xnnpack/test/ops/test_quantize_per_tensor.py +70 -0
  1896. executorch/backends/xnnpack/test/ops/test_relu.py +38 -0
  1897. executorch/backends/xnnpack/test/ops/test_rsqrt.py +45 -0
  1898. executorch/backends/xnnpack/test/ops/test_sigmoid.py +45 -0
  1899. executorch/backends/xnnpack/test/ops/test_sin.py +87 -0
  1900. executorch/backends/xnnpack/test/ops/test_slice_copy.py +170 -0
  1901. executorch/backends/xnnpack/test/ops/test_softmax.py +73 -0
  1902. executorch/backends/xnnpack/test/ops/test_sqrt.py +45 -0
  1903. executorch/backends/xnnpack/test/ops/test_square.py +48 -0
  1904. executorch/backends/xnnpack/test/ops/test_static_constant_pad.py +294 -0
  1905. executorch/backends/xnnpack/test/ops/test_sub.py +178 -0
  1906. executorch/backends/xnnpack/test/ops/test_tanh.py +43 -0
  1907. executorch/backends/xnnpack/test/ops/test_to_copy.py +113 -0
  1908. executorch/backends/xnnpack/test/passes/__init__.py +0 -0
  1909. executorch/backends/xnnpack/test/passes/test_activation_fusion.py +232 -0
  1910. executorch/backends/xnnpack/test/passes/test_batch_norm_fusion.py +179 -0
  1911. executorch/backends/xnnpack/test/passes/test_channels_last_tagged_reshape.py +635 -0
  1912. executorch/backends/xnnpack/test/passes/test_convert_to_linear.py +43 -0
  1913. executorch/backends/xnnpack/test/passes/test_decompose_cat_pass.py +112 -0
  1914. executorch/backends/xnnpack/test/passes/test_propagate_custom_meta_pass.py +185 -0
  1915. executorch/backends/xnnpack/test/passes/test_remove_get_item_pass.py +99 -0
  1916. executorch/backends/xnnpack/test/passes/test_remove_redundant_copy_pass.py +182 -0
  1917. executorch/backends/xnnpack/test/quantizer/test_pt2e_quantization.py +818 -0
  1918. executorch/backends/xnnpack/test/quantizer/test_representation.py +308 -0
  1919. executorch/backends/xnnpack/test/quantizer/test_xnnpack_quantizer.py +1217 -0
  1920. executorch/backends/xnnpack/test/recipes/test_xnnpack_recipes.py +320 -0
  1921. executorch/backends/xnnpack/test/serialization/test_serialization.py +50 -0
  1922. executorch/backends/xnnpack/test/serialization/test_xnnheader.py +104 -0
  1923. executorch/backends/xnnpack/test/test_xnnpack_partitioner.py +163 -0
  1924. executorch/backends/xnnpack/test/test_xnnpack_utils.py +532 -0
  1925. executorch/backends/xnnpack/test/test_xnnpack_utils_classes.py +44 -0
  1926. executorch/backends/xnnpack/test/tester/__init__.py +29 -0
  1927. executorch/backends/xnnpack/test/tester/tester.py +130 -0
  1928. executorch/backends/xnnpack/third-party/FP16/configure.py +65 -0
  1929. executorch/backends/xnnpack/third-party/FP16/confu.yaml +8 -0
  1930. executorch/backends/xnnpack/third-party/FP16/include/fp16/__init__.py +0 -0
  1931. executorch/backends/xnnpack/third-party/FP16/include/fp16/avx.py +50 -0
  1932. executorch/backends/xnnpack/third-party/FP16/include/fp16/avx2.py +53 -0
  1933. executorch/backends/xnnpack/third-party/FP16/test/peachpy/stubs.py +38 -0
  1934. executorch/backends/xnnpack/third-party/FXdiv/configure.py +30 -0
  1935. executorch/backends/xnnpack/third-party/FXdiv/confu.yaml +6 -0
  1936. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/aarch32_template.py +361 -0
  1937. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/aarch64_template.py +347 -0
  1938. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/arm_template.py +78 -0
  1939. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512bf16_template.py +81 -0
  1940. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512f_template.py +390 -0
  1941. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512vnni_template.py +703 -0
  1942. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/base_architecture.py +276 -0
  1943. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/fma3_template.py +260 -0
  1944. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate.py +71 -0
  1945. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_bf16_f32_gemm_microkernels.py +39 -0
  1946. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_f32_gemm_microkernels.py +104 -0
  1947. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_gemm_microkernels_main.py +29 -0
  1948. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qd8_f32_qc4w_gemm_microkernels.py +69 -0
  1949. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qd8_f32_qc8w_gemm_microkernels.py +93 -0
  1950. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qs8_qc4w_gemm_microkernels.py +42 -0
  1951. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qs8_qc8w_gemm_microkernels.py +43 -0
  1952. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neondot_template.py +463 -0
  1953. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neonfma_template.py +248 -0
  1954. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neonmlal_aarch32_template.py +394 -0
  1955. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/x64_template.py +512 -0
  1956. executorch/backends/xnnpack/third-party/XNNPACK/scripts/check_config.py +152 -0
  1957. executorch/backends/xnnpack/third-party/XNNPACK/scripts/check_files_changed.py +53 -0
  1958. executorch/backends/xnnpack/third-party/XNNPACK/scripts/generate-build-identifier.py +106 -0
  1959. executorch/backends/xnnpack/third-party/XNNPACK/scripts/sort-filenames.py +134 -0
  1960. executorch/backends/xnnpack/third-party/XNNPACK/test/bf16-f32-gemm-minmax.yaml +121 -0
  1961. executorch/backends/xnnpack/third-party/XNNPACK/test/bf16-gemm-minmax.yaml +106 -0
  1962. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-conv-hwc2chw.yaml +8 -0
  1963. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv2d-chw.yaml +88 -0
  1964. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-f32acc-gemm-minmax.yaml +42 -0
  1965. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-f32acc-igemm-minmax.yaml +42 -0
  1966. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-gemm-minmax.yaml +219 -0
  1967. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear-chw.yaml +9 -0
  1968. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear.yaml +12 -0
  1969. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-igemm-minmax.yaml +165 -0
  1970. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-raddstoreexpminusmax.yaml +52 -0
  1971. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-argmaxpool.yaml +15 -0
  1972. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-conv-hwc2chw.yaml +32 -0
  1973. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv2d-chw.yaml +712 -0
  1974. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-minmax.yaml +1572 -0
  1975. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-relu.yaml +123 -0
  1976. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm.yaml +127 -0
  1977. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear-chw.yaml +22 -0
  1978. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear.yaml +23 -0
  1979. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-minmax.yaml +1001 -0
  1980. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-relu.yaml +123 -0
  1981. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm.yaml +123 -0
  1982. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ppmm-minmax.yaml +122 -0
  1983. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc4w-gemm-minmax.yaml +277 -0
  1984. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm-minmax.yaml +757 -0
  1985. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm-relu.yaml +67 -0
  1986. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm.yaml +115 -0
  1987. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-raddexpminusmax.yaml +38 -0
  1988. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-raddstoreexpminusmax.yaml +88 -0
  1989. executorch/backends/xnnpack/third-party/XNNPACK/test/pf16-gemm-minmax.yaml +20 -0
  1990. executorch/backends/xnnpack/third-party/XNNPACK/test/pf32-gemm-minmax.yaml +34 -0
  1991. executorch/backends/xnnpack/third-party/XNNPACK/test/pqs8-qc8w-gemm-minmax.yaml +20 -0
  1992. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qb4w-gemm-minmax.yaml +260 -0
  1993. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc4w-gemm-minmax.yaml +678 -0
  1994. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc8w-gemm-minmax.yaml +412 -0
  1995. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc8w-igemm-minmax.yaml +360 -0
  1996. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qb4w-gemm-minmax.yaml +537 -0
  1997. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc4w-gemm-minmax.yaml +2176 -0
  1998. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc8w-gemm-minmax.yaml +1564 -0
  1999. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc8w-igemm-minmax.yaml +1035 -0
  2000. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qb4w-gemm-minmax.yaml +54 -0
  2001. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qc4w-gemm-minmax.yaml +66 -0
  2002. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qc8w-gemm-minmax.yaml +42 -0
  2003. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc4w-gemm-minmax-fp32.yaml +345 -0
  2004. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc8w-gemm-minmax-fp32.yaml +2029 -0
  2005. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc8w-igemm-minmax-fp32.yaml +1831 -0
  2006. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-fp32.yaml +584 -0
  2007. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-rndnu.yaml +148 -0
  2008. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-fp32.yaml +581 -0
  2009. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-rndnu.yaml +110 -0
  2010. executorch/backends/xnnpack/third-party/XNNPACK/test/s8-ibilinear.yaml +22 -0
  2011. executorch/backends/xnnpack/third-party/XNNPACK/test/u8-ibilinear.yaml +22 -0
  2012. executorch/backends/xnnpack/third-party/XNNPACK/test/x8-lut.yaml +47 -0
  2013. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-argmaxpool-test.py +692 -0
  2014. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-conv-hwc-test.py +543 -0
  2015. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-conv-hwc2chw-test.py +591 -0
  2016. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-test.py +339 -0
  2017. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv2d-chw-test.py +463 -0
  2018. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-gemm-test.py +1150 -0
  2019. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-chw-test.py +236 -0
  2020. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-test.py +237 -0
  2021. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-lut-test.py +164 -0
  2022. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-raddexpminusmax-test.py +159 -0
  2023. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-raddstoreexpminusmax-test.py +210 -0
  2024. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-reduce-discontiguous-test.py +495 -0
  2025. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-reduce-test.py +289 -0
  2026. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-spmm-test.py +554 -0
  2027. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-vbinary-test.py +179 -0
  2028. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-vunary-test.py +280 -0
  2029. executorch/backends/xnnpack/third-party/XNNPACK/tools/parse-microkernel-bench.py +189 -0
  2030. executorch/backends/xnnpack/third-party/XNNPACK/tools/primes.py +1015 -0
  2031. executorch/backends/xnnpack/third-party/XNNPACK/tools/update-microkernels.py +567 -0
  2032. executorch/backends/xnnpack/third-party/XNNPACK/tools/xngen.py +159 -0
  2033. executorch/backends/xnnpack/third-party/XNNPACK/tools/xnncommon.py +275 -0
  2034. executorch/backends/xnnpack/third-party/cpuinfo/configure.py +110 -0
  2035. executorch/backends/xnnpack/third-party/cpuinfo/confu.yaml +9 -0
  2036. executorch/backends/xnnpack/third-party/cpuinfo/deps/clog/configure.py +26 -0
  2037. executorch/backends/xnnpack/third-party/cpuinfo/deps/clog/confu.yaml +5 -0
  2038. executorch/backends/xnnpack/third-party/cpuinfo/scripts/android-device-dump.py +400 -0
  2039. executorch/backends/xnnpack/third-party/cpuinfo/scripts/arm-linux-filesystem-dump.py +107 -0
  2040. executorch/backends/xnnpack/third-party/cpuinfo/scripts/parse-x86-cpuid-dump.py +47 -0
  2041. executorch/backends/xnnpack/third-party/generate-cpuinfo-wrappers.py +93 -0
  2042. executorch/backends/xnnpack/third-party/pthreadpool/configure.py +38 -0
  2043. executorch/backends/xnnpack/third-party/pthreadpool/confu.yaml +8 -0
  2044. executorch/backends/xnnpack/utils/configs.py +49 -0
  2045. executorch/backends/xnnpack/utils/quant_utils.py +301 -0
  2046. executorch/backends/xnnpack/utils/utils.py +221 -0
  2047. executorch/backends/xnnpack/utils/xnnpack_constants.py +37 -0
  2048. executorch/backends/xnnpack/xnnpack_preprocess.py +194 -0
  2049. executorch/codegen/__init__.py +0 -0
  2050. executorch/codegen/api/__init__.py +0 -0
  2051. executorch/codegen/api/custom_ops.py +151 -0
  2052. executorch/codegen/api/et_cpp.py +368 -0
  2053. executorch/codegen/api/types/__init__.py +5 -0
  2054. executorch/codegen/api/types/signatures.py +77 -0
  2055. executorch/codegen/api/types/types.py +77 -0
  2056. executorch/codegen/api/unboxing.py +232 -0
  2057. executorch/codegen/gen.py +1049 -0
  2058. executorch/codegen/model.py +220 -0
  2059. executorch/codegen/parse.py +158 -0
  2060. executorch/codegen/test/test_executorch_custom_ops.py +153 -0
  2061. executorch/codegen/test/test_executorch_gen.py +698 -0
  2062. executorch/codegen/test/test_executorch_signatures.py +65 -0
  2063. executorch/codegen/test/test_executorch_types.py +121 -0
  2064. executorch/codegen/test/test_executorch_unboxing.py +165 -0
  2065. executorch/codegen/test/test_selective_build.py +51 -0
  2066. executorch/codegen/tools/__init__.py +0 -0
  2067. executorch/codegen/tools/combine_prim_ops_headers.py +164 -0
  2068. executorch/codegen/tools/gen_all_oplist.py +252 -0
  2069. executorch/codegen/tools/gen_oplist.py +369 -0
  2070. executorch/codegen/tools/gen_ops_def.py +96 -0
  2071. executorch/codegen/tools/gen_selected_op_variants.py +133 -0
  2072. executorch/codegen/tools/gen_selected_prim_ops.py +96 -0
  2073. executorch/codegen/tools/merge_yaml.py +125 -0
  2074. executorch/codegen/tools/selective_build.cp313-win_amd64.pyd +0 -0
  2075. executorch/codegen/tools/selective_build.pyi +23 -0
  2076. executorch/codegen/tools/test/test_gen_all_oplist.py +122 -0
  2077. executorch/codegen/tools/test/test_gen_oplist.py +263 -0
  2078. executorch/codegen/tools/test/test_gen_oplist_real_model.py +50 -0
  2079. executorch/codegen/tools/test/test_gen_selected_op_variants.py +204 -0
  2080. executorch/codegen/tools/test/test_tools_selective_build.py +129 -0
  2081. executorch/codegen/tools/yaml_util.py +15 -0
  2082. executorch/data/bin/__init__.py +44 -0
  2083. executorch/data/bin/flatc.exe +0 -0
  2084. executorch/data/lib/aoti_cuda_shims.lib +0 -0
  2085. executorch/devtools/__init__.py +19 -0
  2086. executorch/devtools/backend_debug/__init__.py +13 -0
  2087. executorch/devtools/backend_debug/delegation_info.py +183 -0
  2088. executorch/devtools/backend_debug/tests/test_delegation_info.py +79 -0
  2089. executorch/devtools/bundled_program/config.py +120 -0
  2090. executorch/devtools/bundled_program/core.py +395 -0
  2091. executorch/devtools/bundled_program/schema/__init__.py +9 -0
  2092. executorch/devtools/bundled_program/schema/bundled_program_schema.fbs +97 -0
  2093. executorch/devtools/bundled_program/schema/bundled_program_schema.py +99 -0
  2094. executorch/devtools/bundled_program/schema/scalar_type.fbs +43 -0
  2095. executorch/devtools/bundled_program/schema/test/test_schema.py +27 -0
  2096. executorch/devtools/bundled_program/serialize/__init__.py +122 -0
  2097. executorch/devtools/bundled_program/serialize/bundled_program_schema.fbs +97 -0
  2098. executorch/devtools/bundled_program/serialize/scalar_type.fbs +43 -0
  2099. executorch/devtools/bundled_program/serialize/test/test_serialize.py +37 -0
  2100. executorch/devtools/bundled_program/test/test_bundle_data.py +168 -0
  2101. executorch/devtools/bundled_program/test/test_config.py +131 -0
  2102. executorch/devtools/bundled_program/test/test_end2end.py +64 -0
  2103. executorch/devtools/bundled_program/util/test_util.py +289 -0
  2104. executorch/devtools/bundled_program/version.py +13 -0
  2105. executorch/devtools/debug_format/base_schema.py +61 -0
  2106. executorch/devtools/debug_format/et_schema.py +432 -0
  2107. executorch/devtools/etdump/etdump_schema_flatcc.fbs +181 -0
  2108. executorch/devtools/etdump/scalar_type.fbs +43 -0
  2109. executorch/devtools/etdump/schema_flatcc.py +154 -0
  2110. executorch/devtools/etdump/serialize.py +108 -0
  2111. executorch/devtools/etdump/tests/serialize_test.py +142 -0
  2112. executorch/devtools/etrecord/__init__.py +13 -0
  2113. executorch/devtools/etrecord/_etrecord.py +776 -0
  2114. executorch/devtools/etrecord/tests/etrecord_test.py +1748 -0
  2115. executorch/devtools/inspector/__init__.py +24 -0
  2116. executorch/devtools/inspector/_inspector.py +1495 -0
  2117. executorch/devtools/inspector/_inspector_utils.py +1286 -0
  2118. executorch/devtools/inspector/_intermediate_output_capturer.py +62 -0
  2119. executorch/devtools/inspector/inspector_cli.py +76 -0
  2120. executorch/devtools/inspector/numerical_comparator/__init__.py +25 -0
  2121. executorch/devtools/inspector/numerical_comparator/l1_numerical_comparator.py +27 -0
  2122. executorch/devtools/inspector/numerical_comparator/mse_numerical_comparator.py +29 -0
  2123. executorch/devtools/inspector/numerical_comparator/numerical_comparator_base.py +26 -0
  2124. executorch/devtools/inspector/numerical_comparator/snr_numerical_comparator.py +39 -0
  2125. executorch/devtools/inspector/tests/event_blocks_test.py +657 -0
  2126. executorch/devtools/inspector/tests/inspector_test.py +1263 -0
  2127. executorch/devtools/inspector/tests/inspector_test_utils.py +189 -0
  2128. executorch/devtools/inspector/tests/inspector_utils_test.py +896 -0
  2129. executorch/devtools/inspector/tests/intermediate_output_capturer_test.py +101 -0
  2130. executorch/devtools/inspector/tests/l1_comparator_test.py +49 -0
  2131. executorch/devtools/inspector/tests/mse_comparator_test.py +49 -0
  2132. executorch/devtools/inspector/tests/snr_comparator_test.py +52 -0
  2133. executorch/devtools/scripts/generate_profiling_csv.py +62 -0
  2134. executorch/devtools/size_analysis_tool/size_analysis_tool.py +180 -0
  2135. executorch/devtools/size_analysis_tool/size_analysis_tool_test.py +101 -0
  2136. executorch/devtools/visualization/__init__.py +13 -0
  2137. executorch/devtools/visualization/visualization_utils.py +301 -0
  2138. executorch/devtools/visualization/visualization_utils_test.py +177 -0
  2139. executorch/examples/apple/coreml/llama/export.py +224 -0
  2140. executorch/examples/apple/coreml/llama/export_static_llm_coreml.py +504 -0
  2141. executorch/examples/apple/coreml/llama/llama_transformer.py +958 -0
  2142. executorch/examples/apple/coreml/llama/run.py +206 -0
  2143. executorch/examples/apple/coreml/llama/run_lookahead.py +284 -0
  2144. executorch/examples/apple/coreml/llama/run_static_llm.py +293 -0
  2145. executorch/examples/apple/coreml/llama/test.py +48 -0
  2146. executorch/examples/apple/coreml/llama/utils.py +116 -0
  2147. executorch/examples/apple/coreml/scripts/debugger_cli.py +181 -0
  2148. executorch/examples/apple/coreml/scripts/export.py +280 -0
  2149. executorch/examples/apple/coreml/scripts/extract_coreml_models.py +77 -0
  2150. executorch/examples/apple/coreml/scripts/inspector_cli.py +64 -0
  2151. executorch/examples/apple/coreml/scripts/inspector_utils.py +425 -0
  2152. executorch/examples/apple/mps/scripts/bench_utils.py +108 -0
  2153. executorch/examples/apple/mps/scripts/mps_example.py +230 -0
  2154. executorch/examples/cuda/scripts/__init__.py +0 -0
  2155. executorch/examples/cuda/scripts/export.py +107 -0
  2156. executorch/examples/llm_pte_finetuning/__init__.py +19 -0
  2157. executorch/examples/llm_pte_finetuning/llama3_config.yaml +96 -0
  2158. executorch/examples/llm_pte_finetuning/model_exporter.py +87 -0
  2159. executorch/examples/llm_pte_finetuning/model_loading_lib.py +143 -0
  2160. executorch/examples/llm_pte_finetuning/phi3_alpaca_code_config.yaml +44 -0
  2161. executorch/examples/llm_pte_finetuning/phi3_config.yaml +42 -0
  2162. executorch/examples/llm_pte_finetuning/qwen_05b_config.yaml +43 -0
  2163. executorch/examples/llm_pte_finetuning/runner.py +135 -0
  2164. executorch/examples/llm_pte_finetuning/training_lib.py +157 -0
  2165. executorch/examples/models/__init__.py +98 -0
  2166. executorch/examples/models/checkpoint.py +114 -0
  2167. executorch/examples/models/codegen/__init__.py +16 -0
  2168. executorch/examples/models/codegen/convert_weight.py +93 -0
  2169. executorch/examples/models/deeplab_v3/__init__.py +9 -0
  2170. executorch/examples/models/deeplab_v3/model.py +50 -0
  2171. executorch/examples/models/deepseek-r1-distill-llama-8B/config/deepseek_xnnpack_q8da4w.yaml +16 -0
  2172. executorch/examples/models/deit_tiny/__init__.py +8 -0
  2173. executorch/examples/models/deit_tiny/model.py +36 -0
  2174. executorch/examples/models/edsr/__init__.py +11 -0
  2175. executorch/examples/models/edsr/model.py +28 -0
  2176. executorch/examples/models/efficient_sam/__init__.py +11 -0
  2177. executorch/examples/models/efficient_sam/efficient_sam_core/build_efficient_sam.py +25 -0
  2178. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam.py +316 -0
  2179. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam_decoder.py +373 -0
  2180. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam_encoder.py +261 -0
  2181. executorch/examples/models/efficient_sam/efficient_sam_core/mlp.py +31 -0
  2182. executorch/examples/models/efficient_sam/efficient_sam_core/two_way_transformer.py +268 -0
  2183. executorch/examples/models/efficient_sam/model.py +34 -0
  2184. executorch/examples/models/emformer_rnnt/__init__.py +17 -0
  2185. executorch/examples/models/emformer_rnnt/model.py +132 -0
  2186. executorch/examples/models/gemma/__init__.py +16 -0
  2187. executorch/examples/models/gemma/convert_weights.py +104 -0
  2188. executorch/examples/models/gemma2/__init__.py +19 -0
  2189. executorch/examples/models/gemma2/convert_weights.py +113 -0
  2190. executorch/examples/models/gemma3/__init__.py +16 -0
  2191. executorch/examples/models/gemma3/convert_weights.py +110 -0
  2192. executorch/examples/models/glm/__init__.py +16 -0
  2193. executorch/examples/models/glm/convert_weights.py +79 -0
  2194. executorch/examples/models/granite/__init__.py +16 -0
  2195. executorch/examples/models/granite/convert_weights.py +106 -0
  2196. executorch/examples/models/inception_v3/__init__.py +11 -0
  2197. executorch/examples/models/inception_v3/model.py +28 -0
  2198. executorch/examples/models/inception_v4/__init__.py +11 -0
  2199. executorch/examples/models/inception_v4/model.py +26 -0
  2200. executorch/examples/models/internvl3/__init__.py +16 -0
  2201. executorch/examples/models/internvl3/convert_weights.py +82 -0
  2202. executorch/examples/models/lfm2/__init__.py +10 -0
  2203. executorch/examples/models/lfm2/config/lfm2_xnnpack_fp32.yaml +12 -0
  2204. executorch/examples/models/lfm2/config/lfm2_xnnpack_q8da4w.yaml +15 -0
  2205. executorch/examples/models/lfm2/convert_weights.py +74 -0
  2206. executorch/examples/models/lfm2/short_conv.py +112 -0
  2207. executorch/examples/models/llama/__init__.py +11 -0
  2208. executorch/examples/models/llama/attention.py +536 -0
  2209. executorch/examples/models/llama/config/llama_bf16.yaml +7 -0
  2210. executorch/examples/models/llama/config/llama_q8da4w.yaml +11 -0
  2211. executorch/examples/models/llama/config/llama_xnnpack.yaml +17 -0
  2212. executorch/examples/models/llama/config/llama_xnnpack_qat.yaml +23 -0
  2213. executorch/examples/models/llama/config/llama_xnnpack_spinquant.yaml +22 -0
  2214. executorch/examples/models/llama/config/test_llm_config.py +104 -0
  2215. executorch/examples/models/llama/convert_weights.py +61 -0
  2216. executorch/examples/models/llama/eval_llama.py +38 -0
  2217. executorch/examples/models/llama/eval_llama_lib.py +395 -0
  2218. executorch/examples/models/llama/evaluate/__init__.py +11 -0
  2219. executorch/examples/models/llama/evaluate/eager_eval.py +87 -0
  2220. executorch/examples/models/llama/experimental/__init__.py +0 -0
  2221. executorch/examples/models/llama/experimental/generate.py +190 -0
  2222. executorch/examples/models/llama/experimental/load_gguf_q4_0.py +184 -0
  2223. executorch/examples/models/llama/experimental/subclass.py +413 -0
  2224. executorch/examples/models/llama/experimental/test_subclass.py +28 -0
  2225. executorch/examples/models/llama/export_llama.py +56 -0
  2226. executorch/examples/models/llama/export_llama_lib.py +1560 -0
  2227. executorch/examples/models/llama/fairseq2.py +63 -0
  2228. executorch/examples/models/llama/feed_forward.py +68 -0
  2229. executorch/examples/models/llama/hf_download.py +50 -0
  2230. executorch/examples/models/llama/install_requirement_helper.py +29 -0
  2231. executorch/examples/models/llama/llama_transformer.py +289 -0
  2232. executorch/examples/models/llama/lora.py +48 -0
  2233. executorch/examples/models/llama/model.py +378 -0
  2234. executorch/examples/models/llama/model_args.py +173 -0
  2235. executorch/examples/models/llama/norm.py +55 -0
  2236. executorch/examples/models/llama/rope.py +327 -0
  2237. executorch/examples/models/llama/runner/eager.py +142 -0
  2238. executorch/examples/models/llama/runner/generation.py +234 -0
  2239. executorch/examples/models/llama/runner/native.py +145 -0
  2240. executorch/examples/models/llama/source_transformation/__init__.py +0 -0
  2241. executorch/examples/models/llama/source_transformation/apply_spin_quant_r1_r2.py +202 -0
  2242. executorch/examples/models/llama/source_transformation/attention.py +223 -0
  2243. executorch/examples/models/llama/source_transformation/attention_sink.py +312 -0
  2244. executorch/examples/models/llama/source_transformation/custom_kv_cache.py +598 -0
  2245. executorch/examples/models/llama/source_transformation/lora.py +153 -0
  2246. executorch/examples/models/llama/source_transformation/pre_quantization.py +204 -0
  2247. executorch/examples/models/llama/source_transformation/prune_vocab.py +119 -0
  2248. executorch/examples/models/llama/source_transformation/quantize.py +910 -0
  2249. executorch/examples/models/llama/source_transformation/rms_norm.py +23 -0
  2250. executorch/examples/models/llama/source_transformation/rope.py +39 -0
  2251. executorch/examples/models/llama/source_transformation/sdpa.py +550 -0
  2252. executorch/examples/models/llama/source_transformation/spin_quant.py +88 -0
  2253. executorch/examples/models/llama/source_transformation/test_attention_sink.py +514 -0
  2254. executorch/examples/models/llama/source_transformation/test_quantized_kv_cache.py +126 -0
  2255. executorch/examples/models/llama/source_transformation/test_quantized_sdpa.py +167 -0
  2256. executorch/examples/models/llama/source_transformation/test_sdpa_with_quantized_kv_cache.py +97 -0
  2257. executorch/examples/models/llama/static_attention.py +1257 -0
  2258. executorch/examples/models/llama/tests/test_export_llama_lib.py +50 -0
  2259. executorch/examples/models/llama/tests/test_pre_quantization_transforms.py +188 -0
  2260. executorch/examples/models/llama/tests/test_replace_kv_cache.py +158 -0
  2261. executorch/examples/models/llama/tests/test_ring_attention.py +359 -0
  2262. executorch/examples/models/llama/tests/test_ring_kv_cache.py +492 -0
  2263. executorch/examples/models/llama/tests/test_simple_sdpa.py +66 -0
  2264. executorch/examples/models/llama/tests/test_static_attention.py +363 -0
  2265. executorch/examples/models/llama/tokenizer/tiktoken.py +224 -0
  2266. executorch/examples/models/llama3_2_vision/__init__.py +14 -0
  2267. executorch/examples/models/llama3_2_vision/preprocess/__init__.py +0 -0
  2268. executorch/examples/models/llama3_2_vision/preprocess/export_preprocess.py +45 -0
  2269. executorch/examples/models/llama3_2_vision/preprocess/model.py +72 -0
  2270. executorch/examples/models/llama3_2_vision/preprocess/test_preprocess.py +338 -0
  2271. executorch/examples/models/llama3_2_vision/runner/eager.py +59 -0
  2272. executorch/examples/models/llama3_2_vision/runner/exported.py +94 -0
  2273. executorch/examples/models/llama3_2_vision/runner/generation.py +102 -0
  2274. executorch/examples/models/llama3_2_vision/runner/native.py +143 -0
  2275. executorch/examples/models/llama3_2_vision/text_decoder/model.py +199 -0
  2276. executorch/examples/models/llama3_2_vision/text_decoder/test/__init__.py +0 -0
  2277. executorch/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py +89 -0
  2278. executorch/examples/models/llama3_2_vision/vision_encoder/__init__.py +12 -0
  2279. executorch/examples/models/llama3_2_vision/vision_encoder/model.py +96 -0
  2280. executorch/examples/models/llama3_2_vision/vision_encoder/test/__init__.py +0 -0
  2281. executorch/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py +46 -0
  2282. executorch/examples/models/llava/__init__.py +11 -0
  2283. executorch/examples/models/llava/export_llava.py +365 -0
  2284. executorch/examples/models/llava/model.py +415 -0
  2285. executorch/examples/models/llava/test/test_llava.py +151 -0
  2286. executorch/examples/models/llava/test/test_pte.py +106 -0
  2287. executorch/examples/models/lstm/__init__.py +12 -0
  2288. executorch/examples/models/lstm/model.py +31 -0
  2289. executorch/examples/models/mobilebert/__init__.py +11 -0
  2290. executorch/examples/models/mobilebert/model.py +31 -0
  2291. executorch/examples/models/mobilenet_v2/__init__.py +12 -0
  2292. executorch/examples/models/mobilenet_v2/model.py +73 -0
  2293. executorch/examples/models/mobilenet_v3/__init__.py +11 -0
  2294. executorch/examples/models/mobilenet_v3/model.py +30 -0
  2295. executorch/examples/models/model_base.py +47 -0
  2296. executorch/examples/models/model_factory.py +60 -0
  2297. executorch/examples/models/moshi/mimi/test_mimi.py +245 -0
  2298. executorch/examples/models/parakeet/export_parakeet_tdt.py +591 -0
  2299. executorch/examples/models/phi-3-mini/__init__.py +11 -0
  2300. executorch/examples/models/phi-3-mini-lora/export_model.py +144 -0
  2301. executorch/examples/models/phi_4_mini/__init__.py +16 -0
  2302. executorch/examples/models/phi_4_mini/config/phi_4_mini_xnnpack.yaml +12 -0
  2303. executorch/examples/models/phi_4_mini/convert_weights.py +151 -0
  2304. executorch/examples/models/qwen2_5/__init__.py +16 -0
  2305. executorch/examples/models/qwen2_5/config/qwen2_5_xnnpack_q8da4w.yaml +14 -0
  2306. executorch/examples/models/qwen2_5/convert_weights.py +90 -0
  2307. executorch/examples/models/qwen3/__init__.py +16 -0
  2308. executorch/examples/models/qwen3/config/qwen3_xnnpack.yaml +18 -0
  2309. executorch/examples/models/qwen3/config/qwen3_xnnpack_q8da4w.yaml +20 -0
  2310. executorch/examples/models/qwen3/convert_weights.py +140 -0
  2311. executorch/examples/models/resnet/__init__.py +12 -0
  2312. executorch/examples/models/resnet/model.py +48 -0
  2313. executorch/examples/models/smollm2/__init__.py +16 -0
  2314. executorch/examples/models/smollm2/convert_weights.py +84 -0
  2315. executorch/examples/models/smollm3/__init__.py +16 -0
  2316. executorch/examples/models/smollm3/convert_weights.py +112 -0
  2317. executorch/examples/models/smolvlm/__init__.py +16 -0
  2318. executorch/examples/models/smolvlm/convert_weights.py +77 -0
  2319. executorch/examples/models/stable_diffusion/__init__.py +9 -0
  2320. executorch/examples/models/stable_diffusion/model.py +193 -0
  2321. executorch/examples/models/test/__init__.py +0 -0
  2322. executorch/examples/models/test/test_export.py +161 -0
  2323. executorch/examples/models/torchvision_vit/__init__.py +11 -0
  2324. executorch/examples/models/torchvision_vit/model.py +28 -0
  2325. executorch/examples/models/toy_model/__init__.py +25 -0
  2326. executorch/examples/models/toy_model/model.py +143 -0
  2327. executorch/examples/models/wav2letter/__init__.py +11 -0
  2328. executorch/examples/models/wav2letter/model.py +29 -0
  2329. executorch/examples/models/yolo12/export_and_validate.py +397 -0
  2330. executorch/examples/nxp/experimental/cifar_net/cifar_net.py +270 -0
  2331. executorch/examples/xnnpack/__init__.py +51 -0
  2332. executorch/examples/xnnpack/aot_compiler.py +148 -0
  2333. executorch/examples/xnnpack/quantization/example.py +205 -0
  2334. executorch/examples/xnnpack/quantization/utils.py +42 -0
  2335. executorch/exir/__init__.py +57 -0
  2336. executorch/exir/_serialize/__init__.py +20 -0
  2337. executorch/exir/_serialize/_cord.py +49 -0
  2338. executorch/exir/_serialize/_dataclass.py +145 -0
  2339. executorch/exir/_serialize/_flatbuffer.py +357 -0
  2340. executorch/exir/_serialize/_named_data_store.py +222 -0
  2341. executorch/exir/_serialize/_program.py +767 -0
  2342. executorch/exir/_serialize/_serialize.py +123 -0
  2343. executorch/exir/_serialize/data_serializer.py +80 -0
  2344. executorch/exir/_serialize/padding.py +39 -0
  2345. executorch/exir/_serialize/program.fbs +489 -0
  2346. executorch/exir/_serialize/scalar_type.fbs +43 -0
  2347. executorch/exir/_serialize/test/__init__.py +0 -0
  2348. executorch/exir/_serialize/test/test_cord.py +63 -0
  2349. executorch/exir/_serialize/test/test_flatbuffer.py +331 -0
  2350. executorch/exir/_serialize/test/test_named_data_store.py +212 -0
  2351. executorch/exir/_serialize/test/test_program.py +1265 -0
  2352. executorch/exir/_serialize/test/test_serialize.py +289 -0
  2353. executorch/exir/_warnings.py +44 -0
  2354. executorch/exir/backend/backend_api.py +794 -0
  2355. executorch/exir/backend/backend_details.py +150 -0
  2356. executorch/exir/backend/canonical_partitioners/all_node_partitioner.py +55 -0
  2357. executorch/exir/backend/canonical_partitioners/config_partitioner.py +262 -0
  2358. executorch/exir/backend/canonical_partitioners/duplicate_constant_node_pass.py +156 -0
  2359. executorch/exir/backend/canonical_partitioners/duplicate_dequant_node_pass.py +111 -0
  2360. executorch/exir/backend/canonical_partitioners/group_partitioner.py +371 -0
  2361. executorch/exir/backend/canonical_partitioners/pattern_op_partitioner.py +185 -0
  2362. executorch/exir/backend/compile_spec_schema.py +17 -0
  2363. executorch/exir/backend/operator_support.py +127 -0
  2364. executorch/exir/backend/partitioner.py +114 -0
  2365. executorch/exir/backend/test/backend_with_compiler_demo.py +142 -0
  2366. executorch/exir/backend/test/backend_with_delegate_mapping_demo.py +210 -0
  2367. executorch/exir/backend/test/backend_with_named_data_map.py +115 -0
  2368. executorch/exir/backend/test/backend_with_preprocess_all_demo.py +297 -0
  2369. executorch/exir/backend/test/demo_backend.py +35 -0
  2370. executorch/exir/backend/test/demos/rpc/executor_backend_partitioner.py +77 -0
  2371. executorch/exir/backend/test/demos/rpc/executor_backend_preprocess.py +39 -0
  2372. executorch/exir/backend/test/demos/rpc/test_rpc.py +189 -0
  2373. executorch/exir/backend/test/demos/test_delegate_aten_mode.py +72 -0
  2374. executorch/exir/backend/test/hta_partitioner_demo.py +288 -0
  2375. executorch/exir/backend/test/op_partitioner_demo.py +266 -0
  2376. executorch/exir/backend/test/test_backend_with_named_data_map.py +85 -0
  2377. executorch/exir/backend/test/test_backends.py +1463 -0
  2378. executorch/exir/backend/test/test_backends_lifted.py +1326 -0
  2379. executorch/exir/backend/test/test_backends_nested.py +258 -0
  2380. executorch/exir/backend/test/test_compatibility.py +118 -0
  2381. executorch/exir/backend/test/test_debug_handle_map.py +143 -0
  2382. executorch/exir/backend/test/test_delegate_map_builder.py +257 -0
  2383. executorch/exir/backend/test/test_graph_partition.py +248 -0
  2384. executorch/exir/backend/test/test_group_partitioner.py +1674 -0
  2385. executorch/exir/backend/test/test_lowered_backend_module.py +207 -0
  2386. executorch/exir/backend/test/test_partitioner.py +731 -0
  2387. executorch/exir/backend/test/test_passes.py +48 -0
  2388. executorch/exir/backend/test/test_to_backend_multi_method.py +595 -0
  2389. executorch/exir/backend/test/test_utils.py +264 -0
  2390. executorch/exir/backend/utils.py +661 -0
  2391. executorch/exir/capture/__init__.py +28 -0
  2392. executorch/exir/capture/_capture.py +381 -0
  2393. executorch/exir/capture/_config.py +119 -0
  2394. executorch/exir/capture/_unlift.py +159 -0
  2395. executorch/exir/common.py +140 -0
  2396. executorch/exir/control_flow.py +204 -0
  2397. executorch/exir/debug_handle_utils.py +29 -0
  2398. executorch/exir/delegate.py +171 -0
  2399. executorch/exir/delegate.pyi +21 -0
  2400. executorch/exir/dialects/__init__.py +0 -0
  2401. executorch/exir/dialects/_ops.py +166 -0
  2402. executorch/exir/dialects/backend/_ops.py +123 -0
  2403. executorch/exir/dialects/backend/test/test_backend_ops.py +88 -0
  2404. executorch/exir/dialects/edge/_ops.py +405 -0
  2405. executorch/exir/dialects/edge/arg/model.py +238 -0
  2406. executorch/exir/dialects/edge/arg/type.py +46 -0
  2407. executorch/exir/dialects/edge/dtype/runner.py +122 -0
  2408. executorch/exir/dialects/edge/dtype/supported.py +47 -0
  2409. executorch/exir/dialects/edge/dtype/utils.py +36 -0
  2410. executorch/exir/dialects/edge/edge.yaml +8388 -0
  2411. executorch/exir/dialects/edge/op/api.py +86 -0
  2412. executorch/exir/dialects/edge/op/sample_input.py +1283 -0
  2413. executorch/exir/dialects/edge/op/test/test_api.py +51 -0
  2414. executorch/exir/dialects/edge/spec/gen.py +523 -0
  2415. executorch/exir/dialects/edge/spec/utils.py +328 -0
  2416. executorch/exir/dialects/edge/test/test_edge_ops.py +443 -0
  2417. executorch/exir/dialects/edge/test/test_edge_yaml.py +225 -0
  2418. executorch/exir/dialects/test/test_exir_dialect_ops.py +22 -0
  2419. executorch/exir/dim_order_utils.py +85 -0
  2420. executorch/exir/dynamic_shape.py +12 -0
  2421. executorch/exir/emit/__init__.py +11 -0
  2422. executorch/exir/emit/_emit_program.py +216 -0
  2423. executorch/exir/emit/_emitter.py +2071 -0
  2424. executorch/exir/emit/test/test_emit.py +2405 -0
  2425. executorch/exir/error.py +55 -0
  2426. executorch/exir/graph.py +86 -0
  2427. executorch/exir/graph_module.py +153 -0
  2428. executorch/exir/lowered_backend_module.py +966 -0
  2429. executorch/exir/memory.py +50 -0
  2430. executorch/exir/memory_planning.py +1250 -0
  2431. executorch/exir/operator/convert.py +307 -0
  2432. executorch/exir/operator/manip.py +89 -0
  2433. executorch/exir/operator/test/test_operator.py +84 -0
  2434. executorch/exir/operator/util.py +68 -0
  2435. executorch/exir/pass_base.py +808 -0
  2436. executorch/exir/pass_manager.py +78 -0
  2437. executorch/exir/passes/__init__.py +528 -0
  2438. executorch/exir/passes/_quant_patterns_and_replacements.py +1563 -0
  2439. executorch/exir/passes/const_prop_pass.py +84 -0
  2440. executorch/exir/passes/constant_prop_pass.py +402 -0
  2441. executorch/exir/passes/debug_handle_generator_pass.py +81 -0
  2442. executorch/exir/passes/dim_order_ops_registry.py +90 -0
  2443. executorch/exir/passes/dynamic_shape_prop_pass.py +301 -0
  2444. executorch/exir/passes/executorch_prim_ops_registry.py +166 -0
  2445. executorch/exir/passes/external_constants_pass.py +113 -0
  2446. executorch/exir/passes/init_mutable_pass.py +32 -0
  2447. executorch/exir/passes/insert_write_back_for_buffers_pass.py +185 -0
  2448. executorch/exir/passes/memory_format_ops_pass.py +119 -0
  2449. executorch/exir/passes/memory_planning_pass.py +315 -0
  2450. executorch/exir/passes/normalize_transpose_pass.py +24 -0
  2451. executorch/exir/passes/normalize_view_copy_base_pass.py +62 -0
  2452. executorch/exir/passes/pass_registry.py +89 -0
  2453. executorch/exir/passes/prune_empty_tensors_pass.py +67 -0
  2454. executorch/exir/passes/quant_fusion_pass.py +174 -0
  2455. executorch/exir/passes/quantize_io_pass.py +414 -0
  2456. executorch/exir/passes/reinplace.py +103 -0
  2457. executorch/exir/passes/remove_graph_asserts_pass.py +62 -0
  2458. executorch/exir/passes/remove_mixed_type_operators.py +95 -0
  2459. executorch/exir/passes/remove_noop_pass.py +123 -0
  2460. executorch/exir/passes/remove_unused_parameters_pass.py +55 -0
  2461. executorch/exir/passes/replace_aten_with_edge_pass.py +59 -0
  2462. executorch/exir/passes/replace_broken_ops_with_function_ops_pass.py +42 -0
  2463. executorch/exir/passes/replace_edge_with_backend_pass.py +56 -0
  2464. executorch/exir/passes/replace_sym_size_op_pass.py +35 -0
  2465. executorch/exir/passes/replace_view_copy_with_view_pass.py +325 -0
  2466. executorch/exir/passes/scalar_to_tensor_pass.py +32 -0
  2467. executorch/exir/passes/spec_prop_pass.py +123 -0
  2468. executorch/exir/passes/sym_shape_eval_pass.py +289 -0
  2469. executorch/exir/passes/sym_to_tensor_pass.py +64 -0
  2470. executorch/exir/passes/weights_to_outputs_pass.py +88 -0
  2471. executorch/exir/print_program.py +420 -0
  2472. executorch/exir/program/__init__.py +32 -0
  2473. executorch/exir/program/_fake_program.py +67 -0
  2474. executorch/exir/program/_program.py +1995 -0
  2475. executorch/exir/program/test/__init__.py +0 -0
  2476. executorch/exir/program/test/test_fake_program.py +78 -0
  2477. executorch/exir/program/test/test_program.py +922 -0
  2478. executorch/exir/scalar_type.py +38 -0
  2479. executorch/exir/schema.py +308 -0
  2480. executorch/exir/serde/__init__.py +0 -0
  2481. executorch/exir/serde/export_serialize.py +2872 -0
  2482. executorch/exir/serde/schema.py +406 -0
  2483. executorch/exir/serde/schema_check.py +293 -0
  2484. executorch/exir/serde/serialize.py +838 -0
  2485. executorch/exir/serde/union.py +77 -0
  2486. executorch/exir/sym_util.py +95 -0
  2487. executorch/exir/tensor.py +392 -0
  2488. executorch/exir/tensor_layout.py +39 -0
  2489. executorch/exir/tests/asr_joiner.py +82 -0
  2490. executorch/exir/tests/common.py +96 -0
  2491. executorch/exir/tests/control_flow_models.py +105 -0
  2492. executorch/exir/tests/dynamic_shape_models.py +51 -0
  2493. executorch/exir/tests/models.py +576 -0
  2494. executorch/exir/tests/test_arg_validator.py +72 -0
  2495. executorch/exir/tests/test_capture.py +29 -0
  2496. executorch/exir/tests/test_common.py +81 -0
  2497. executorch/exir/tests/test_delegate.py +308 -0
  2498. executorch/exir/tests/test_dim_order_utils.py +49 -0
  2499. executorch/exir/tests/test_dynamic_shape_propagation.py +174 -0
  2500. executorch/exir/tests/test_error.py +19 -0
  2501. executorch/exir/tests/test_extract_io_quant_params.py +93 -0
  2502. executorch/exir/tests/test_joint_graph.py +124 -0
  2503. executorch/exir/tests/test_memory_format_ops_pass.py +443 -0
  2504. executorch/exir/tests/test_memory_format_ops_pass_aten.py +142 -0
  2505. executorch/exir/tests/test_memory_format_ops_pass_utils.py +266 -0
  2506. executorch/exir/tests/test_memory_planning.py +1135 -0
  2507. executorch/exir/tests/test_op_convert.py +88 -0
  2508. executorch/exir/tests/test_pass_infra.py +179 -0
  2509. executorch/exir/tests/test_passes.py +2332 -0
  2510. executorch/exir/tests/test_print_program.py +54 -0
  2511. executorch/exir/tests/test_prune_empty_tensors_pass.py +77 -0
  2512. executorch/exir/tests/test_quant_fusion_pass.py +528 -0
  2513. executorch/exir/tests/test_quantization.py +120 -0
  2514. executorch/exir/tests/test_quantize_io_pass.py +156 -0
  2515. executorch/exir/tests/test_reinplace_pass.py +124 -0
  2516. executorch/exir/tests/test_remove_unused_parameters_pass.py +205 -0
  2517. executorch/exir/tests/test_remove_view_copy.py +234 -0
  2518. executorch/exir/tests/test_serde.py +352 -0
  2519. executorch/exir/tests/test_tensor.py +341 -0
  2520. executorch/exir/tests/test_tracer.py +497 -0
  2521. executorch/exir/tests/test_verification.py +275 -0
  2522. executorch/exir/tests/test_warnings.py +169 -0
  2523. executorch/exir/tests/transformer.py +122 -0
  2524. executorch/exir/tracer.py +803 -0
  2525. executorch/exir/types.py +18 -0
  2526. executorch/exir/verification/arg_validator.py +140 -0
  2527. executorch/exir/verification/dev_html.py +68 -0
  2528. executorch/exir/verification/interpreter.py +425 -0
  2529. executorch/exir/verification/test/test_verifier.py +177 -0
  2530. executorch/exir/verification/verifier.py +352 -0
  2531. executorch/exir/version.py +9 -0
  2532. executorch/exir/wrap.py +32 -0
  2533. executorch/export/__init__.py +40 -0
  2534. executorch/export/export.py +696 -0
  2535. executorch/export/recipe.py +328 -0
  2536. executorch/export/recipe_provider.py +60 -0
  2537. executorch/export/recipe_registry.py +86 -0
  2538. executorch/export/stages.py +686 -0
  2539. executorch/export/target_recipes.py +185 -0
  2540. executorch/export/tests/test_executorch_export.py +34 -0
  2541. executorch/export/tests/test_export_recipe.py +131 -0
  2542. executorch/export/tests/test_export_session.py +973 -0
  2543. executorch/export/tests/test_export_stages.py +534 -0
  2544. executorch/export/tests/test_recipe_provider.py +98 -0
  2545. executorch/export/tests/test_recipe_registry.py +139 -0
  2546. executorch/export/tests/test_target_recipes.py +539 -0
  2547. executorch/export/types.py +22 -0
  2548. executorch/export/utils.py +51 -0
  2549. executorch/extension/audio/mel_spectrogram.py +279 -0
  2550. executorch/extension/export_util/__init__.py +13 -0
  2551. executorch/extension/export_util/utils.py +147 -0
  2552. executorch/extension/flat_tensor/__init__.py +0 -0
  2553. executorch/extension/flat_tensor/serialize/__init__.py +0 -0
  2554. executorch/extension/flat_tensor/serialize/flat_tensor.fbs +73 -0
  2555. executorch/extension/flat_tensor/serialize/flat_tensor_schema.py +34 -0
  2556. executorch/extension/flat_tensor/serialize/scalar_type.fbs +38 -0
  2557. executorch/extension/flat_tensor/serialize/serialize.py +446 -0
  2558. executorch/extension/flat_tensor/test/test_serialize.py +326 -0
  2559. executorch/extension/gguf_util/convert_main.py +53 -0
  2560. executorch/extension/gguf_util/converter.py +27 -0
  2561. executorch/extension/gguf_util/converters/llama_converter.py +123 -0
  2562. executorch/extension/gguf_util/load_gguf.py +103 -0
  2563. executorch/extension/llm/custom_ops/__init__.py +0 -0
  2564. executorch/extension/llm/custom_ops/custom_ops.py +495 -0
  2565. executorch/extension/llm/custom_ops/custom_ops_aot_lib.dll +0 -0
  2566. executorch/extension/llm/custom_ops/model_sharding.py +117 -0
  2567. executorch/extension/llm/custom_ops/op_tile_crop_aot.py +38 -0
  2568. executorch/extension/llm/custom_ops/preprocess_custom_ops.py +69 -0
  2569. executorch/extension/llm/custom_ops/spinquant/special_hadamard_code_gen.py +279 -0
  2570. executorch/extension/llm/custom_ops/spinquant/third-party/FFHT/example.py +20 -0
  2571. executorch/extension/llm/custom_ops/spinquant/third-party/FFHT/gen.py +869 -0
  2572. executorch/extension/llm/custom_ops/test_preprocess_custom_ops.py +34 -0
  2573. executorch/extension/llm/custom_ops/test_quantized_sdpa.py +550 -0
  2574. executorch/extension/llm/custom_ops/test_sdpa_with_kv_cache.py +651 -0
  2575. executorch/extension/llm/custom_ops/test_update_cache.py +433 -0
  2576. executorch/extension/llm/custom_ops/test_update_cross_attn_cache.py +284 -0
  2577. executorch/extension/llm/export/__init__.py +11 -0
  2578. executorch/extension/llm/export/builder.py +535 -0
  2579. executorch/extension/llm/export/config/llm_config.py +727 -0
  2580. executorch/extension/llm/export/export_llm.py +106 -0
  2581. executorch/extension/llm/export/export_passes.py +202 -0
  2582. executorch/extension/llm/export/partitioner_lib.py +238 -0
  2583. executorch/extension/llm/export/quantizer_lib.py +322 -0
  2584. executorch/extension/llm/export/test/__init__.py +0 -0
  2585. executorch/extension/llm/export/test/test_builder.py +118 -0
  2586. executorch/extension/llm/export/test/test_export_llm.py +155 -0
  2587. executorch/extension/llm/export/test_export_passes.py +209 -0
  2588. executorch/extension/llm/modules/__init__.py +24 -0
  2589. executorch/extension/llm/modules/_position_embeddings.py +729 -0
  2590. executorch/extension/llm/modules/attention.py +415 -0
  2591. executorch/extension/llm/modules/kv_cache.py +151 -0
  2592. executorch/extension/llm/modules/test/__init__.py +0 -0
  2593. executorch/extension/llm/modules/test/test_attention.py +353 -0
  2594. executorch/extension/llm/modules/test/test_kv_cache.py +218 -0
  2595. executorch/extension/llm/modules/test/test_position_embeddings.py +230 -0
  2596. executorch/extension/llm/runner/__init__.py +235 -0
  2597. executorch/extension/llm/runner/_llm_runner.pyi +523 -0
  2598. executorch/extension/llm/runner/test/test_runner_pybindings.py +258 -0
  2599. executorch/extension/llm/tokenizers/pytorch_tokenizers/__init__.py +63 -0
  2600. executorch/extension/llm/tokenizers/pytorch_tokenizers/constants.py +31 -0
  2601. executorch/extension/llm/tokenizers/pytorch_tokenizers/hf_tokenizer.py +57 -0
  2602. executorch/extension/llm/tokenizers/pytorch_tokenizers/llama2c.py +111 -0
  2603. executorch/extension/llm/tokenizers/pytorch_tokenizers/tiktoken.py +198 -0
  2604. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/__init__.py +0 -0
  2605. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/llama2c/__init__.py +0 -0
  2606. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/llama2c/convert.py +49 -0
  2607. executorch/extension/llm/tokenizers/setup.py +199 -0
  2608. executorch/extension/llm/tokenizers/test/test_hf_tokenizer.py +83 -0
  2609. executorch/extension/llm/tokenizers/test/test_python_bindings.py +131 -0
  2610. executorch/extension/llm/tokenizers/test/test_tekken_python.py +453 -0
  2611. executorch/extension/llm/tokenizers/test/test_tiktoken.py +49 -0
  2612. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/abseil.podspec.gen.py +243 -0
  2613. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/copts/copts.py +194 -0
  2614. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/copts/generate_copts.py +109 -0
  2615. executorch/extension/llm/tokenizers/third-party/abseil-cpp/conanfile.py +51 -0
  2616. executorch/extension/llm/tokenizers/third-party/abseil-cpp/create_lts.py +139 -0
  2617. executorch/extension/llm/tokenizers/third-party/json/docs/mkdocs/scripts/check_structure.py +179 -0
  2618. executorch/extension/llm/tokenizers/third-party/json/tests/thirdparty/imapdl/filterbr.py +109 -0
  2619. executorch/extension/llm/tokenizers/third-party/json/tools/amalgamate/amalgamate.py +299 -0
  2620. executorch/extension/llm/tokenizers/third-party/json/tools/gdb_pretty_printer/nlohmann-json.py +32 -0
  2621. executorch/extension/llm/tokenizers/third-party/json/tools/generate_natvis/generate_natvis.py +41 -0
  2622. executorch/extension/llm/tokenizers/third-party/json/tools/serve_header/serve_header.py +410 -0
  2623. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateCommon.py +354 -0
  2624. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateTest.py +186 -0
  2625. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcd.py +999 -0
  2626. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcpHeader.py +98 -0
  2627. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcpTables.py +203 -0
  2628. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateCommon.py +31 -0
  2629. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateDates.py +59 -0
  2630. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateRelease.py +29 -0
  2631. executorch/extension/llm/tokenizers/third-party/re2/benchlog/benchplot.py +98 -0
  2632. executorch/extension/llm/tokenizers/third-party/re2/python/re2.py +583 -0
  2633. executorch/extension/llm/tokenizers/third-party/re2/python/re2_test.py +489 -0
  2634. executorch/extension/llm/tokenizers/third-party/re2/python/setup.py +158 -0
  2635. executorch/extension/llm/tokenizers/third-party/re2/python/toolchains/generate.py +98 -0
  2636. executorch/extension/llm/tokenizers/third-party/re2/re2/make_unicode_casefold.py +151 -0
  2637. executorch/extension/llm/tokenizers/third-party/re2/re2/make_unicode_groups.py +117 -0
  2638. executorch/extension/llm/tokenizers/third-party/re2/re2/unicode.py +284 -0
  2639. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/setup.py +215 -0
  2640. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/__init__.py +1224 -0
  2641. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/_version.py +1 -0
  2642. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/sentencepiece_model_pb2.py +44 -0
  2643. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/sentencepiece_pb2.py +30 -0
  2644. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/test/__init__.py +0 -0
  2645. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/test/sentencepiece_test.py +937 -0
  2646. executorch/extension/module/test/resources/gen_bundled_program.py +99 -0
  2647. executorch/extension/pybindings/_portable_lib.cp313-win_amd64.pyd +0 -0
  2648. executorch/extension/pybindings/portable_lib.py +82 -0
  2649. executorch/extension/pybindings/pybindings.pyi +299 -0
  2650. executorch/extension/pybindings/test/make_test.py +186 -0
  2651. executorch/extension/pybindings/test/test_backend_pybinding.py +27 -0
  2652. executorch/extension/pybindings/test/test_pybindings.py +735 -0
  2653. executorch/extension/pytree/__init__.py +54 -0
  2654. executorch/extension/pytree/test/test.py +331 -0
  2655. executorch/extension/training/__init__.py +22 -0
  2656. executorch/extension/training/examples/CIFAR/data_utils.py +389 -0
  2657. executorch/extension/training/examples/CIFAR/export.py +220 -0
  2658. executorch/extension/training/examples/CIFAR/main.py +188 -0
  2659. executorch/extension/training/examples/CIFAR/model.py +73 -0
  2660. executorch/extension/training/examples/CIFAR/train_utils.py +622 -0
  2661. executorch/extension/training/examples/XOR/export_model.py +74 -0
  2662. executorch/extension/training/examples/XOR/model.py +34 -0
  2663. executorch/extension/training/examples/XOR/test/test_export.py +19 -0
  2664. executorch/extension/training/pybindings/_training_lib.pyi +45 -0
  2665. executorch/extension/training/pybindings/_training_module.py +86 -0
  2666. executorch/extension/training/pybindings/test/test.py +67 -0
  2667. executorch/extension/wasm/test/test_model.py +34 -0
  2668. executorch/include/executorch/extension/kernel_util/make_boxed_from_unboxed_functor.h +260 -0
  2669. executorch/include/executorch/extension/kernel_util/meta_programming.h +119 -0
  2670. executorch/include/executorch/extension/kernel_util/type_list.h +145 -0
  2671. executorch/include/executorch/extension/tensor/tensor.h +14 -0
  2672. executorch/include/executorch/extension/tensor/tensor_accessor.h +218 -0
  2673. executorch/include/executorch/extension/tensor/tensor_ptr.h +485 -0
  2674. executorch/include/executorch/extension/tensor/tensor_ptr_maker.h +687 -0
  2675. executorch/include/executorch/extension/threadpool/cpuinfo_utils.h +24 -0
  2676. executorch/include/executorch/extension/threadpool/threadpool.h +124 -0
  2677. executorch/include/executorch/extension/threadpool/threadpool_guard.h +37 -0
  2678. executorch/include/executorch/runtime/core/array_ref.h +262 -0
  2679. executorch/include/executorch/runtime/core/data_loader.h +141 -0
  2680. executorch/include/executorch/runtime/core/defines.h +20 -0
  2681. executorch/include/executorch/runtime/core/error.h +257 -0
  2682. executorch/include/executorch/runtime/core/evalue.h +608 -0
  2683. executorch/include/executorch/runtime/core/event_tracer.h +592 -0
  2684. executorch/include/executorch/runtime/core/event_tracer_hooks.h +340 -0
  2685. executorch/include/executorch/runtime/core/event_tracer_hooks_delegate.h +204 -0
  2686. executorch/include/executorch/runtime/core/exec_aten/exec_aten.h +175 -0
  2687. executorch/include/executorch/runtime/core/exec_aten/testing_util/tensor_factory.h +1133 -0
  2688. executorch/include/executorch/runtime/core/exec_aten/testing_util/tensor_util.h +378 -0
  2689. executorch/include/executorch/runtime/core/exec_aten/util/dim_order_util.h +278 -0
  2690. executorch/include/executorch/runtime/core/exec_aten/util/scalar_type_util.h +1430 -0
  2691. executorch/include/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +21 -0
  2692. executorch/include/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +68 -0
  2693. executorch/include/executorch/runtime/core/exec_aten/util/tensor_util.h +1415 -0
  2694. executorch/include/executorch/runtime/core/freeable_buffer.h +218 -0
  2695. executorch/include/executorch/runtime/core/function_ref.h +108 -0
  2696. executorch/include/executorch/runtime/core/hierarchical_allocator.h +125 -0
  2697. executorch/include/executorch/runtime/core/memory_allocator.h +233 -0
  2698. executorch/include/executorch/runtime/core/named_data_map.h +77 -0
  2699. executorch/include/executorch/runtime/core/portable_type/bfloat16.h +27 -0
  2700. executorch/include/executorch/runtime/core/portable_type/bfloat16_math.h +14 -0
  2701. executorch/include/executorch/runtime/core/portable_type/bits_types.h +83 -0
  2702. executorch/include/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +1 -0
  2703. executorch/include/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +1 -0
  2704. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +1 -0
  2705. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +299 -0
  2706. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +1 -0
  2707. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +1 -0
  2708. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/Half.h +8 -0
  2709. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +1 -0
  2710. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +1 -0
  2711. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex.h +78 -0
  2712. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex_math.h +406 -0
  2713. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex_utils.h +46 -0
  2714. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +1 -0
  2715. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/irange.h +123 -0
  2716. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +905 -0
  2717. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/overflows.h +100 -0
  2718. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/safe_numerics.h +114 -0
  2719. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Export.h +153 -0
  2720. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +694 -0
  2721. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h +480 -0
  2722. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/Half.h +788 -0
  2723. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +148 -0
  2724. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h +50 -0
  2725. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/complex.h +616 -0
  2726. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h +38 -0
  2727. executorch/include/executorch/runtime/core/portable_type/complex.h +21 -0
  2728. executorch/include/executorch/runtime/core/portable_type/device.h +74 -0
  2729. executorch/include/executorch/runtime/core/portable_type/half.h +27 -0
  2730. executorch/include/executorch/runtime/core/portable_type/optional.h +36 -0
  2731. executorch/include/executorch/runtime/core/portable_type/qint_types.h +83 -0
  2732. executorch/include/executorch/runtime/core/portable_type/scalar.h +123 -0
  2733. executorch/include/executorch/runtime/core/portable_type/scalar_type.h +154 -0
  2734. executorch/include/executorch/runtime/core/portable_type/string_view.h +29 -0
  2735. executorch/include/executorch/runtime/core/portable_type/tensor.h +175 -0
  2736. executorch/include/executorch/runtime/core/portable_type/tensor_impl.h +304 -0
  2737. executorch/include/executorch/runtime/core/portable_type/tensor_options.h +60 -0
  2738. executorch/include/executorch/runtime/core/result.h +268 -0
  2739. executorch/include/executorch/runtime/core/span.h +110 -0
  2740. executorch/include/executorch/runtime/core/tag.h +90 -0
  2741. executorch/include/executorch/runtime/core/tensor_layout.h +93 -0
  2742. executorch/include/executorch/runtime/core/tensor_shape_dynamism.h +39 -0
  2743. executorch/include/executorch/runtime/core/testing_util/error_matchers.h +303 -0
  2744. executorch/include/executorch/runtime/kernel/kernel_includes.h +23 -0
  2745. executorch/include/executorch/runtime/kernel/kernel_runtime_context.h +131 -0
  2746. executorch/include/executorch/runtime/kernel/operator_registry.h +298 -0
  2747. executorch/include/executorch/runtime/kernel/test/test_util.h +40 -0
  2748. executorch/include/executorch/runtime/kernel/thread_parallel_interface.h +107 -0
  2749. executorch/include/executorch/runtime/platform/abort.h +36 -0
  2750. executorch/include/executorch/runtime/platform/assert.h +124 -0
  2751. executorch/include/executorch/runtime/platform/clock.h +43 -0
  2752. executorch/include/executorch/runtime/platform/compat_unistd.h +75 -0
  2753. executorch/include/executorch/runtime/platform/compiler.h +214 -0
  2754. executorch/include/executorch/runtime/platform/log.h +216 -0
  2755. executorch/include/executorch/runtime/platform/platform.h +276 -0
  2756. executorch/include/executorch/runtime/platform/profiler.h +289 -0
  2757. executorch/include/executorch/runtime/platform/runtime.h +35 -0
  2758. executorch/include/executorch/runtime/platform/system.h +49 -0
  2759. executorch/include/executorch/runtime/platform/test/pal_spy.h +86 -0
  2760. executorch/include/executorch/runtime/platform/test/stub_platform.h +76 -0
  2761. executorch/include/executorch/runtime/platform/types.h +24 -0
  2762. executorch/kernels/quantized/__init__.py +21 -0
  2763. executorch/kernels/quantized/quantized.yaml +113 -0
  2764. executorch/kernels/quantized/quantized_ops_aot_lib.dll +0 -0
  2765. executorch/kernels/quantized/test/supported_features_def.yaml +1 -0
  2766. executorch/kernels/quantized/test/test_out_variants.py +100 -0
  2767. executorch/kernels/quantized/test/test_quant_dequant_per_token.py +149 -0
  2768. executorch/runtime/__init__.py +334 -0
  2769. executorch/runtime/kernel/test/functions.yaml +13 -0
  2770. executorch/runtime/test/test_runtime.py +106 -0
  2771. executorch/runtime/test/test_runtime_etdump_gen.py +163 -0
  2772. executorch/schema/program.fbs +489 -0
  2773. executorch/schema/scalar_type.fbs +43 -0
  2774. executorch/share/cmake/executorch-config.cmake +77 -0
  2775. executorch/util/activation_memory_profiler.py +177 -0
  2776. executorch/util/collect_env.py +748 -0
  2777. executorch/util/python_profiler.py +96 -0
  2778. executorch/version.py +4 -0
  2779. executorch-1.1.0.dist-info/METADATA +87 -0
  2780. executorch-1.1.0.dist-info/RECORD +2784 -0
  2781. executorch-1.1.0.dist-info/WHEEL +5 -0
  2782. executorch-1.1.0.dist-info/entry_points.txt +2 -0
  2783. executorch-1.1.0.dist-info/licenses/LICENSE +37 -0
  2784. executorch-1.1.0.dist-info/top_level.txt +7 -0
@@ -0,0 +1,2176 @@
1
+ # Copyright 2023 Google LLC
2
+ #
3
+ # This source code is licensed under the BSD-style license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ # SSSE3 / SSE4 MADD
7
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__ssse3_madd
8
+ init: xnn_init_f32_qc4w_minmax_scalar_params
9
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
10
+ k-block: 16
11
+ planes: 2
12
+ unsigned-inputs: True
13
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__ssse3_madd
14
+ init: xnn_init_f32_qc4w_minmax_scalar_params
15
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
16
+ k-block: 16
17
+ planes: 2
18
+ unsigned-inputs: True
19
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__ssse3_madd
20
+ init: xnn_init_f32_qc4w_minmax_scalar_params
21
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
22
+ k-block: 16
23
+ planes: 2
24
+ unsigned-inputs: True
25
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__ssse3_madd
26
+ init: xnn_init_f32_qc4w_minmax_scalar_params
27
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
28
+ k-block: 16
29
+ planes: 2
30
+ unsigned-inputs: True
31
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x4c8__ssse3_madd
32
+ init: xnn_init_f32_qc4w_minmax_scalar_params
33
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
34
+ k-block: 16
35
+ planes: 2
36
+ unsigned-inputs: True
37
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x4c8__ssse3_madd
38
+ init: xnn_init_f32_qc4w_minmax_scalar_params
39
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
40
+ k-block: 16
41
+ planes: 2
42
+ unsigned-inputs: True
43
+
44
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__ssse3_madd_prfm
45
+ init: xnn_init_f32_qc4w_minmax_scalar_params
46
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
47
+ k-block: 16
48
+ planes: 2
49
+ unsigned-inputs: True
50
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__ssse3_madd_prfm
51
+ init: xnn_init_f32_qc4w_minmax_scalar_params
52
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
53
+ k-block: 16
54
+ planes: 2
55
+ unsigned-inputs: True
56
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__ssse3_madd_prfm
57
+ init: xnn_init_f32_qc4w_minmax_scalar_params
58
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
59
+ k-block: 16
60
+ planes: 2
61
+ unsigned-inputs: True
62
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__ssse3_madd_prfm
63
+ init: xnn_init_f32_qc4w_minmax_scalar_params
64
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
65
+ k-block: 16
66
+ planes: 2
67
+ unsigned-inputs: True
68
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x4c8__ssse3_madd_prfm
69
+ init: xnn_init_f32_qc4w_minmax_scalar_params
70
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
71
+ k-block: 16
72
+ planes: 2
73
+ unsigned-inputs: True
74
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x4c8__ssse3_madd_prfm
75
+ init: xnn_init_f32_qc4w_minmax_scalar_params
76
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
77
+ k-block: 16
78
+ planes: 2
79
+ unsigned-inputs: True
80
+
81
+ # AVX256SKX MADD
82
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256skx_madd
83
+ init: xnn_init_f32_qc4w_minmax_scalar_params
84
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
85
+ k-block: 16
86
+ planes: 2
87
+ unsigned-inputs: True
88
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256skx_madd
89
+ init: xnn_init_f32_qc4w_minmax_scalar_params
90
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
91
+ k-block: 16
92
+ planes: 2
93
+ unsigned-inputs: True
94
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256skx_madd
95
+ init: xnn_init_f32_qc4w_minmax_scalar_params
96
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
97
+ k-block: 16
98
+ planes: 2
99
+ unsigned-inputs: True
100
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256skx_madd
101
+ init: xnn_init_f32_qc4w_minmax_scalar_params
102
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
103
+ k-block: 16
104
+ planes: 2
105
+ unsigned-inputs: True
106
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256skx_madd
107
+ init: xnn_init_f32_qc4w_minmax_scalar_params
108
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
109
+ k-block: 16
110
+ planes: 2
111
+ unsigned-inputs: True
112
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256skx_madd
113
+ init: xnn_init_f32_qc4w_minmax_scalar_params
114
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
115
+ k-block: 16
116
+ planes: 2
117
+ unsigned-inputs: True
118
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256skx_madd
119
+ init: xnn_init_f32_qc4w_minmax_scalar_params
120
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
121
+ k-block: 16
122
+ planes: 2
123
+ unsigned-inputs: True
124
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256skx_madd
125
+ init: xnn_init_f32_qc4w_minmax_scalar_params
126
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
127
+ k-block: 16
128
+ planes: 2
129
+ unsigned-inputs: True
130
+
131
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256skx_madd_prfm
132
+ init: xnn_init_f32_qc4w_minmax_scalar_params
133
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
134
+ k-block: 16
135
+ planes: 2
136
+ unsigned-inputs: True
137
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256skx_madd_prfm
138
+ init: xnn_init_f32_qc4w_minmax_scalar_params
139
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
140
+ k-block: 16
141
+ planes: 2
142
+ unsigned-inputs: True
143
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256skx_madd_prfm
144
+ init: xnn_init_f32_qc4w_minmax_scalar_params
145
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
146
+ k-block: 16
147
+ planes: 2
148
+ unsigned-inputs: True
149
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256skx_madd_prfm
150
+ init: xnn_init_f32_qc4w_minmax_scalar_params
151
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
152
+ k-block: 16
153
+ planes: 2
154
+ unsigned-inputs: True
155
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256skx_madd_prfm
156
+ init: xnn_init_f32_qc4w_minmax_scalar_params
157
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
158
+ k-block: 16
159
+ planes: 2
160
+ unsigned-inputs: True
161
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256skx_madd_prfm
162
+ init: xnn_init_f32_qc4w_minmax_scalar_params
163
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
164
+ k-block: 16
165
+ planes: 2
166
+ unsigned-inputs: True
167
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256skx_madd_prfm
168
+ init: xnn_init_f32_qc4w_minmax_scalar_params
169
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
170
+ k-block: 16
171
+ planes: 2
172
+ unsigned-inputs: True
173
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256skx_madd_prfm
174
+ init: xnn_init_f32_qc4w_minmax_scalar_params
175
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
176
+ k-block: 16
177
+ planes: 2
178
+ unsigned-inputs: True
179
+
180
+ # AVX2 MADD
181
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx2_madd
182
+ init: xnn_init_f32_qc4w_minmax_scalar_params
183
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
184
+ k-block: 16
185
+ planes: 2
186
+ unsigned-inputs: True
187
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avx2_madd
188
+ init: xnn_init_f32_qc4w_minmax_scalar_params
189
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
190
+ k-block: 16
191
+ planes: 2
192
+ unsigned-inputs: True
193
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avx2_madd
194
+ init: xnn_init_f32_qc4w_minmax_scalar_params
195
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
196
+ k-block: 16
197
+ planes: 2
198
+ unsigned-inputs: True
199
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avx2_madd
200
+ init: xnn_init_f32_qc4w_minmax_scalar_params
201
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
202
+ k-block: 16
203
+ planes: 2
204
+ unsigned-inputs: True
205
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx2_madd
206
+ init: xnn_init_f32_qc4w_minmax_scalar_params
207
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
208
+ k-block: 16
209
+ planes: 2
210
+ unsigned-inputs: True
211
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avx2_madd
212
+ init: xnn_init_f32_qc4w_minmax_scalar_params
213
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
214
+ k-block: 16
215
+ planes: 2
216
+ unsigned-inputs: True
217
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx2_madd
218
+ init: xnn_init_f32_qc4w_minmax_scalar_params
219
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
220
+ k-block: 16
221
+ planes: 2
222
+ unsigned-inputs: True
223
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx2_madd
224
+ init: xnn_init_f32_qc4w_minmax_scalar_params
225
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
226
+ k-block: 16
227
+ planes: 2
228
+ unsigned-inputs: True
229
+
230
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx2_madd_prfm
231
+ init: xnn_init_f32_qc4w_minmax_scalar_params
232
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
233
+ k-block: 16
234
+ planes: 2
235
+ unsigned-inputs: True
236
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avx2_madd_prfm
237
+ init: xnn_init_f32_qc4w_minmax_scalar_params
238
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
239
+ k-block: 16
240
+ planes: 2
241
+ unsigned-inputs: True
242
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avx2_madd_prfm
243
+ init: xnn_init_f32_qc4w_minmax_scalar_params
244
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
245
+ k-block: 16
246
+ planes: 2
247
+ unsigned-inputs: True
248
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avx2_madd_prfm
249
+ init: xnn_init_f32_qc4w_minmax_scalar_params
250
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
251
+ k-block: 16
252
+ planes: 2
253
+ unsigned-inputs: True
254
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx2_madd_prfm
255
+ init: xnn_init_f32_qc4w_minmax_scalar_params
256
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
257
+ k-block: 16
258
+ planes: 2
259
+ unsigned-inputs: True
260
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avx2_madd_prfm
261
+ init: xnn_init_f32_qc4w_minmax_scalar_params
262
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
263
+ k-block: 16
264
+ planes: 2
265
+ unsigned-inputs: True
266
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx2_madd_prfm
267
+ init: xnn_init_f32_qc4w_minmax_scalar_params
268
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
269
+ k-block: 16
270
+ planes: 2
271
+ unsigned-inputs: True
272
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx2_madd_prfm
273
+ init: xnn_init_f32_qc4w_minmax_scalar_params
274
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
275
+ k-block: 16
276
+ planes: 2
277
+ unsigned-inputs: True
278
+
279
+ # AVX512SKX MADD
280
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512skx_madd
281
+ init: xnn_init_f32_qc4w_minmax_scalar_params
282
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
283
+ k-block: 8
284
+ planes: 2
285
+ unsigned-inputs: True
286
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512skx_madd
287
+ init: xnn_init_f32_qc4w_minmax_scalar_params
288
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
289
+ k-block: 8
290
+ planes: 2
291
+ unsigned-inputs: True
292
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512skx_madd
293
+ init: xnn_init_f32_qc4w_minmax_scalar_params
294
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
295
+ k-block: 8
296
+ planes: 2
297
+ unsigned-inputs: True
298
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512skx_madd
299
+ init: xnn_init_f32_qc4w_minmax_scalar_params
300
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
301
+ k-block: 8
302
+ planes: 2
303
+ unsigned-inputs: True
304
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512skx_madd
305
+ init: xnn_init_f32_qc4w_minmax_scalar_params
306
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
307
+ k-block: 8
308
+ planes: 2
309
+ unsigned-inputs: True
310
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512skx_madd
311
+ init: xnn_init_f32_qc4w_minmax_scalar_params
312
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
313
+ k-block: 8
314
+ planes: 2
315
+ unsigned-inputs: True
316
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512skx_madd
317
+ init: xnn_init_f32_qc4w_minmax_scalar_params
318
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
319
+ k-block: 8
320
+ planes: 2
321
+ unsigned-inputs: True
322
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512skx_madd
323
+ init: xnn_init_f32_qc4w_minmax_scalar_params
324
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
325
+ k-block: 8
326
+ planes: 2
327
+ unsigned-inputs: True
328
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512skx_madd
329
+ init: xnn_init_f32_qc4w_minmax_scalar_params
330
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
331
+ k-block: 8
332
+ planes: 2
333
+ unsigned-inputs: True
334
+
335
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512skx_madd_prfm
336
+ init: xnn_init_f32_qc4w_minmax_scalar_params
337
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
338
+ k-block: 8
339
+ planes: 2
340
+ unsigned-inputs: True
341
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512skx_madd_prfm
342
+ init: xnn_init_f32_qc4w_minmax_scalar_params
343
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
344
+ k-block: 8
345
+ planes: 2
346
+ unsigned-inputs: True
347
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512skx_madd_prfm
348
+ init: xnn_init_f32_qc4w_minmax_scalar_params
349
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
350
+ k-block: 8
351
+ planes: 2
352
+ unsigned-inputs: True
353
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512skx_madd_prfm
354
+ init: xnn_init_f32_qc4w_minmax_scalar_params
355
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
356
+ k-block: 8
357
+ planes: 2
358
+ unsigned-inputs: True
359
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512skx_madd_prfm
360
+ init: xnn_init_f32_qc4w_minmax_scalar_params
361
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
362
+ k-block: 8
363
+ planes: 2
364
+ unsigned-inputs: True
365
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512skx_madd_prfm
366
+ init: xnn_init_f32_qc4w_minmax_scalar_params
367
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
368
+ k-block: 8
369
+ planes: 2
370
+ unsigned-inputs: True
371
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512skx_madd_prfm
372
+ init: xnn_init_f32_qc4w_minmax_scalar_params
373
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
374
+ k-block: 8
375
+ planes: 2
376
+ unsigned-inputs: True
377
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512skx_madd_prfm
378
+ init: xnn_init_f32_qc4w_minmax_scalar_params
379
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
380
+ k-block: 8
381
+ planes: 2
382
+ unsigned-inputs: True
383
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512skx_madd_prfm
384
+ init: xnn_init_f32_qc4w_minmax_scalar_params
385
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
386
+ k-block: 8
387
+ planes: 2
388
+ unsigned-inputs: True
389
+
390
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512skx_madd
391
+ init: xnn_init_f32_qc4w_minmax_scalar_params
392
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
393
+ k-block: 16
394
+ planes: 2
395
+ unsigned-inputs: True
396
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512skx_madd
397
+ init: xnn_init_f32_qc4w_minmax_scalar_params
398
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
399
+ k-block: 16
400
+ planes: 2
401
+ unsigned-inputs: True
402
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512skx_madd
403
+ init: xnn_init_f32_qc4w_minmax_scalar_params
404
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
405
+ k-block: 16
406
+ planes: 2
407
+ unsigned-inputs: True
408
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512skx_madd
409
+ init: xnn_init_f32_qc4w_minmax_scalar_params
410
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
411
+ k-block: 16
412
+ planes: 2
413
+ unsigned-inputs: True
414
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512skx_madd
415
+ init: xnn_init_f32_qc4w_minmax_scalar_params
416
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
417
+ k-block: 16
418
+ planes: 2
419
+ unsigned-inputs: True
420
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512skx_madd
421
+ init: xnn_init_f32_qc4w_minmax_scalar_params
422
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
423
+ k-block: 16
424
+ planes: 2
425
+ unsigned-inputs: True
426
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512skx_madd
427
+ init: xnn_init_f32_qc4w_minmax_scalar_params
428
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
429
+ k-block: 16
430
+ planes: 2
431
+ unsigned-inputs: True
432
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512skx_madd
433
+ init: xnn_init_f32_qc4w_minmax_scalar_params
434
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
435
+ k-block: 16
436
+ planes: 2
437
+ unsigned-inputs: True
438
+
439
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512skx_madd_prfm
440
+ init: xnn_init_f32_qc4w_minmax_scalar_params
441
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
442
+ k-block: 16
443
+ planes: 2
444
+ unsigned-inputs: True
445
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512skx_madd_prfm
446
+ init: xnn_init_f32_qc4w_minmax_scalar_params
447
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
448
+ k-block: 16
449
+ planes: 2
450
+ unsigned-inputs: True
451
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512skx_madd_prfm
452
+ init: xnn_init_f32_qc4w_minmax_scalar_params
453
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
454
+ k-block: 16
455
+ planes: 2
456
+ unsigned-inputs: True
457
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512skx_madd_prfm
458
+ init: xnn_init_f32_qc4w_minmax_scalar_params
459
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
460
+ k-block: 16
461
+ planes: 2
462
+ unsigned-inputs: True
463
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512skx_madd_prfm
464
+ init: xnn_init_f32_qc4w_minmax_scalar_params
465
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
466
+ k-block: 16
467
+ planes: 2
468
+ unsigned-inputs: True
469
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512skx_madd_prfm
470
+ init: xnn_init_f32_qc4w_minmax_scalar_params
471
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
472
+ k-block: 16
473
+ planes: 2
474
+ unsigned-inputs: True
475
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512skx_madd_prfm
476
+ init: xnn_init_f32_qc4w_minmax_scalar_params
477
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
478
+ k-block: 16
479
+ planes: 2
480
+ unsigned-inputs: True
481
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512skx_madd_prfm
482
+ init: xnn_init_f32_qc4w_minmax_scalar_params
483
+ pack: xnn_pack_qs8_qc4uw_gemm_goi_w
484
+ k-block: 16
485
+ planes: 2
486
+ unsigned-inputs: True
487
+
488
+ # AVX512AMX
489
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x64c4__avx512amx
490
+ init: xnn_init_f32_qc4w_minmax_scalar_params
491
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
492
+ k-block: 64
493
+ planes: 2
494
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x64c4__avx512amx
495
+ init: xnn_init_f32_qc4w_minmax_scalar_params
496
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
497
+ k-block: 64
498
+ planes: 2
499
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x64c4__avx512amx
500
+ init: xnn_init_f32_qc4w_minmax_scalar_params
501
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
502
+ k-block: 64
503
+ planes: 2
504
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x64c4__avx512amx_prfm
505
+ init: xnn_init_f32_qc4w_minmax_scalar_params
506
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
507
+ k-block: 64
508
+ planes: 2
509
+
510
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x32c4__avx512amx
511
+ init: xnn_init_f32_qc4w_minmax_scalar_params
512
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
513
+ k-block: 64
514
+ planes: 2
515
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x32c4__avx512amx
516
+ init: xnn_init_f32_qc4w_minmax_scalar_params
517
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
518
+ k-block: 64
519
+ planes: 2
520
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x32c4__avx512amx
521
+ init: xnn_init_f32_qc4w_minmax_scalar_params
522
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
523
+ k-block: 64
524
+ planes: 2
525
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x32c4__avx512amx_prfm
526
+ init: xnn_init_f32_qc4w_minmax_scalar_params
527
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
528
+ k-block: 64
529
+ planes: 2
530
+
531
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512amx
532
+ init: xnn_init_f32_qc4w_minmax_scalar_params
533
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
534
+ k-block: 64
535
+ planes: 2
536
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512amx
537
+ init: xnn_init_f32_qc4w_minmax_scalar_params
538
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
539
+ k-block: 64
540
+ planes: 2
541
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x16c4__avx512amx
542
+ init: xnn_init_f32_qc4w_minmax_scalar_params
543
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
544
+ k-block: 64
545
+ planes: 2
546
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_16x16c4__avx512amx_prfm
547
+ init: xnn_init_f32_qc4w_minmax_scalar_params
548
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
549
+ k-block: 64
550
+ planes: 2
551
+
552
+ # ARM NEONDOT
553
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld32_2
554
+ init: xnn_init_f32_qc4w_minmax_scalar_params
555
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
556
+ k-block: 4
557
+ planes: 1
558
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld32_2
559
+ init: xnn_init_f32_qc4w_minmax_scalar_params
560
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
561
+ k-block: 4
562
+ planes: 1
563
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld32_2
564
+ init: xnn_init_f32_qc4w_minmax_scalar_params
565
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
566
+ k-block: 4
567
+ planes: 1
568
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld32_2
569
+ init: xnn_init_f32_qc4w_minmax_scalar_params
570
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
571
+ k-block: 4
572
+ planes: 1
573
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld64_2
574
+ init: xnn_init_f32_qc4w_minmax_scalar_params
575
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
576
+ k-block: 8
577
+ planes: 1
578
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld64_2
579
+ init: xnn_init_f32_qc4w_minmax_scalar_params
580
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
581
+ k-block: 8
582
+ planes: 1
583
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld64_2
584
+ init: xnn_init_f32_qc4w_minmax_scalar_params
585
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
586
+ k-block: 8
587
+ planes: 1
588
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld64_2
589
+ init: xnn_init_f32_qc4w_minmax_scalar_params
590
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
591
+ k-block: 8
592
+ planes: 1
593
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld128_2
594
+ init: xnn_init_f32_qc4w_minmax_scalar_params
595
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
596
+ k-block: 16
597
+ planes: 1
598
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld128_2
599
+ init: xnn_init_f32_qc4w_minmax_scalar_params
600
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
601
+ k-block: 16
602
+ planes: 1
603
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld128_2
604
+ init: xnn_init_f32_qc4w_minmax_scalar_params
605
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
606
+ k-block: 16
607
+ planes: 1
608
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld128_2
609
+ init: xnn_init_f32_qc4w_minmax_scalar_params
610
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
611
+ k-block: 16
612
+ planes: 1
613
+
614
+
615
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld32_2
616
+ init: xnn_init_f32_qc4w_minmax_scalar_params
617
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
618
+ k-block: 4
619
+ planes: 1
620
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld32_2
621
+ init: xnn_init_f32_qc4w_minmax_scalar_params
622
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
623
+ k-block: 4
624
+ planes: 1
625
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld32_2
626
+ init: xnn_init_f32_qc4w_minmax_scalar_params
627
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
628
+ k-block: 4
629
+ planes: 1
630
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld32_2
631
+ init: xnn_init_f32_qc4w_minmax_scalar_params
632
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
633
+ k-block: 4
634
+ planes: 1
635
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld64_2
636
+ init: xnn_init_f32_qc4w_minmax_scalar_params
637
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
638
+ k-block: 8
639
+ planes: 1
640
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld64_2
641
+ init: xnn_init_f32_qc4w_minmax_scalar_params
642
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
643
+ k-block: 8
644
+ planes: 1
645
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld64_2
646
+ init: xnn_init_f32_qc4w_minmax_scalar_params
647
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
648
+ k-block: 8
649
+ planes: 1
650
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld64_2
651
+ init: xnn_init_f32_qc4w_minmax_scalar_params
652
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
653
+ k-block: 8
654
+ planes: 1
655
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld128_2
656
+ init: xnn_init_f32_qc4w_minmax_scalar_params
657
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
658
+ k-block: 16
659
+ planes: 1
660
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld128_2
661
+ init: xnn_init_f32_qc4w_minmax_scalar_params
662
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
663
+ k-block: 16
664
+ planes: 1
665
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld128_2
666
+ init: xnn_init_f32_qc4w_minmax_scalar_params
667
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
668
+ k-block: 16
669
+ planes: 1
670
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld128_2
671
+ init: xnn_init_f32_qc4w_minmax_scalar_params
672
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_aarch64
673
+ k-block: 16
674
+ planes: 1
675
+
676
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c4__neondot
677
+ init: xnn_init_f32_qc4w_minmax_scalar_params
678
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
679
+ k-block: 8
680
+ planes: 2
681
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__neondot
682
+ init: xnn_init_f32_qc4w_minmax_scalar_params
683
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
684
+ k-block: 8
685
+ planes: 2
686
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c4__neondot
687
+ init: xnn_init_f32_qc4w_minmax_scalar_params
688
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
689
+ k-block: 8
690
+ planes: 2
691
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c4__neondot
692
+ init: xnn_init_f32_qc4w_minmax_scalar_params
693
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
694
+ k-block: 8
695
+ planes: 2
696
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c4__neondot
697
+ init: xnn_init_f32_qc4w_minmax_scalar_params
698
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
699
+ k-block: 8
700
+ planes: 2
701
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c4__neondot
702
+ init: xnn_init_f32_qc4w_minmax_scalar_params
703
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
704
+ k-block: 8
705
+ planes: 2
706
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__neondot
707
+ init: xnn_init_f32_qc4w_minmax_scalar_params
708
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
709
+ k-block: 8
710
+ planes: 2
711
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c4__neondot
712
+ init: xnn_init_f32_qc4w_minmax_scalar_params
713
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
714
+ k-block: 8
715
+ planes: 2
716
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x16c4__neondot
717
+ init: xnn_init_f32_qc4w_minmax_scalar_params
718
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
719
+ k-block: 8
720
+ planes: 2
721
+
722
+ # ARM NEONI8MM
723
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__neoni8mm
724
+ init: xnn_init_f32_qc4w_minmax_scalar_params
725
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
726
+ k-block: 16
727
+ planes: 2
728
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__neoni8mm
729
+ init: xnn_init_f32_qc4w_minmax_scalar_params
730
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
731
+ k-block: 16
732
+ planes: 2
733
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x32c8__neoni8mm
734
+ init: xnn_init_f32_qc4w_minmax_scalar_params
735
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
736
+ k-block: 16
737
+ planes: 2
738
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__neoni8mm
739
+ init: xnn_init_f32_qc4w_minmax_scalar_params
740
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
741
+ k-block: 16
742
+ planes: 2
743
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c8__neoni8mm
744
+ init: xnn_init_f32_qc4w_minmax_scalar_params
745
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
746
+ k-block: 16
747
+ planes: 2
748
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x32c8__neoni8mm
749
+ init: xnn_init_f32_qc4w_minmax_scalar_params
750
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
751
+ k-block: 16
752
+ planes: 2
753
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__neoni8mm
754
+ init: xnn_init_f32_qc4w_minmax_scalar_params
755
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
756
+ k-block: 16
757
+ planes: 2
758
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c8__neoni8mm
759
+ init: xnn_init_f32_qc4w_minmax_scalar_params
760
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
761
+ k-block: 16
762
+ planes: 2
763
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x32c8__neoni8mm
764
+ init: xnn_init_f32_qc4w_minmax_scalar_params
765
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
766
+ k-block: 16
767
+ planes: 2
768
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__neoni8mm
769
+ init: xnn_init_f32_qc4w_minmax_scalar_params
770
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
771
+ k-block: 16
772
+ planes: 2
773
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c8__neoni8mm
774
+ init: xnn_init_f32_qc4w_minmax_scalar_params
775
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
776
+ k-block: 16
777
+ planes: 2
778
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x32c8__neoni8mm
779
+ init: xnn_init_f32_qc4w_minmax_scalar_params
780
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
781
+ k-block: 16
782
+ planes: 2
783
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__neoni8mm
784
+ init: xnn_init_f32_qc4w_minmax_scalar_params
785
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
786
+ k-block: 16
787
+ planes: 2
788
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__neoni8mm
789
+ init: xnn_init_f32_qc4w_minmax_scalar_params
790
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
791
+ k-block: 16
792
+ planes: 2
793
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x32c8__neoni8mm
794
+ init: xnn_init_f32_qc4w_minmax_scalar_params
795
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
796
+ k-block: 16
797
+ planes: 2
798
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__neoni8mm
799
+ init: xnn_init_f32_qc4w_minmax_scalar_params
800
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
801
+ k-block: 16
802
+ planes: 2
803
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x16c8__neoni8mm
804
+ init: xnn_init_f32_qc4w_minmax_scalar_params
805
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
806
+ k-block: 16
807
+ planes: 2
808
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x32c8__neoni8mm
809
+ init: xnn_init_f32_qc4w_minmax_scalar_params
810
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
811
+ k-block: 16
812
+ planes: 2
813
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__neoni8mm
814
+ init: xnn_init_f32_qc4w_minmax_scalar_params
815
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
816
+ k-block: 16
817
+ planes: 2
818
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__neoni8mm
819
+ init: xnn_init_f32_qc4w_minmax_scalar_params
820
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
821
+ k-block: 16
822
+ planes: 2
823
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x32c8__neoni8mm
824
+ init: xnn_init_f32_qc4w_minmax_scalar_params
825
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
826
+ k-block: 16
827
+ planes: 2
828
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__neoni8mm
829
+ init: xnn_init_f32_qc4w_minmax_scalar_params
830
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
831
+ k-block: 16
832
+ planes: 2
833
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__neoni8mm
834
+ init: xnn_init_f32_qc4w_minmax_scalar_params
835
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
836
+ k-block: 16
837
+ planes: 2
838
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x32c8__neoni8mm
839
+ init: xnn_init_f32_qc4w_minmax_scalar_params
840
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
841
+ k-block: 16
842
+ planes: 2
843
+
844
+ # ARM NEON
845
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16__neon_mlal_lane
846
+ init: xnn_init_f32_qc4w_minmax_scalar_params
847
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
848
+ k-block: 8
849
+ planes: 2
850
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16__neon_mlal_lane_prfm
851
+ init: xnn_init_f32_qc4w_minmax_scalar_params
852
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
853
+ k-block: 8
854
+ planes: 2
855
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16__neon_mlal_lane
856
+ init: xnn_init_f32_qc4w_minmax_scalar_params
857
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
858
+ k-block: 8
859
+ planes: 2
860
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16__neon_mlal_lane_prfm
861
+ init: xnn_init_f32_qc4w_minmax_scalar_params
862
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
863
+ k-block: 8
864
+ planes: 2
865
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16__neon_mlal_lane
866
+ init: xnn_init_f32_qc4w_minmax_scalar_params
867
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
868
+ k-block: 8
869
+ planes: 2
870
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16__neon_mlal_lane_prfm
871
+ init: xnn_init_f32_qc4w_minmax_scalar_params
872
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
873
+ k-block: 8
874
+ planes: 2
875
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16__neon_mlal_lane
876
+ init: xnn_init_f32_qc4w_minmax_scalar_params
877
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
878
+ k-block: 8
879
+ planes: 2
880
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16__neon_mlal_lane_prfm
881
+ init: xnn_init_f32_qc4w_minmax_scalar_params
882
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
883
+ k-block: 8
884
+ planes: 2
885
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x16__neon_mlal_lane
886
+ init: xnn_init_f32_qc4w_minmax_scalar_params
887
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
888
+ k-block: 8
889
+ planes: 2
890
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x16__neon_mlal_lane_prfm
891
+ init: xnn_init_f32_qc4w_minmax_scalar_params
892
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
893
+ k-block: 8
894
+ planes: 2
895
+
896
+ # ARM32 NEON
897
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8__asm_aarch32_neonmlal_ld64_2
898
+ init: xnn_init_f32_qc4w_minmax_scalar_params
899
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
900
+ k-block: 8
901
+ planes: 2
902
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8__asm_aarch32_neonmlal_ld64_2
903
+ init: xnn_init_f32_qc4w_minmax_scalar_params
904
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
905
+ k-block: 8
906
+ planes: 2
907
+
908
+ # AVX512SKX
909
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512skx
910
+ init: xnn_init_f32_qc4w_minmax_scalar_params
911
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
912
+ k-block: 16
913
+ planes: 2
914
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512skx
915
+ init: xnn_init_f32_qc4w_minmax_scalar_params
916
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
917
+ k-block: 16
918
+ planes: 2
919
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512skx
920
+ init: xnn_init_f32_qc4w_minmax_scalar_params
921
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
922
+ k-block: 16
923
+ planes: 2
924
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512skx
925
+ init: xnn_init_f32_qc4w_minmax_scalar_params
926
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
927
+ k-block: 16
928
+ planes: 2
929
+
930
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512skx_prfm
931
+ init: xnn_init_f32_qc4w_minmax_scalar_params
932
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
933
+ k-block: 16
934
+ planes: 2
935
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512skx_prfm
936
+ init: xnn_init_f32_qc4w_minmax_scalar_params
937
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
938
+ k-block: 16
939
+ planes: 2
940
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512skx_prfm
941
+ init: xnn_init_f32_qc4w_minmax_scalar_params
942
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
943
+ k-block: 16
944
+ planes: 2
945
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512skx_prfm
946
+ init: xnn_init_f32_qc4w_minmax_scalar_params
947
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
948
+ k-block: 16
949
+ planes: 2
950
+
951
+ # AVX512 VNNI
952
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512vnni
953
+ init: xnn_init_f32_qc4w_minmax_scalar_params
954
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
955
+ k-block: 8
956
+ planes: 2
957
+ unsigned-inputs: True
958
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512vnni
959
+ init: xnn_init_f32_qc4w_minmax_scalar_params
960
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
961
+ k-block: 8
962
+ planes: 2
963
+ unsigned-inputs: True
964
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512vnni
965
+ init: xnn_init_f32_qc4w_minmax_scalar_params
966
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
967
+ k-block: 8
968
+ planes: 2
969
+ unsigned-inputs: True
970
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512vnni
971
+ init: xnn_init_f32_qc4w_minmax_scalar_params
972
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
973
+ k-block: 8
974
+ planes: 2
975
+ unsigned-inputs: True
976
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512vnni
977
+ init: xnn_init_f32_qc4w_minmax_scalar_params
978
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
979
+ k-block: 8
980
+ planes: 2
981
+ unsigned-inputs: True
982
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512vnni
983
+ init: xnn_init_f32_qc4w_minmax_scalar_params
984
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
985
+ k-block: 8
986
+ planes: 2
987
+ unsigned-inputs: True
988
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512vnni
989
+ init: xnn_init_f32_qc4w_minmax_scalar_params
990
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
991
+ k-block: 8
992
+ planes: 2
993
+ unsigned-inputs: True
994
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512vnni
995
+ init: xnn_init_f32_qc4w_minmax_scalar_params
996
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
997
+ k-block: 8
998
+ planes: 2
999
+ unsigned-inputs: True
1000
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512vnni
1001
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1002
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1003
+ k-block: 8
1004
+ planes: 2
1005
+ unsigned-inputs: True
1006
+
1007
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512vnni_prfm
1008
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1009
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1010
+ k-block: 8
1011
+ planes: 2
1012
+ unsigned-inputs: True
1013
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512vnni_prfm
1014
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1015
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1016
+ k-block: 8
1017
+ planes: 2
1018
+ unsigned-inputs: True
1019
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512vnni_prfm
1020
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1021
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1022
+ k-block: 8
1023
+ planes: 2
1024
+ unsigned-inputs: True
1025
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512vnni_prfm
1026
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1027
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1028
+ k-block: 8
1029
+ planes: 2
1030
+ unsigned-inputs: True
1031
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512vnni_prfm
1032
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1033
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1034
+ k-block: 8
1035
+ planes: 2
1036
+ unsigned-inputs: True
1037
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512vnni_prfm
1038
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1039
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1040
+ k-block: 8
1041
+ planes: 2
1042
+ unsigned-inputs: True
1043
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512vnni_prfm
1044
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1045
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1046
+ k-block: 8
1047
+ planes: 2
1048
+ unsigned-inputs: True
1049
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512vnni_prfm
1050
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1051
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1052
+ k-block: 8
1053
+ planes: 2
1054
+ unsigned-inputs: True
1055
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512vnni_prfm
1056
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1057
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1058
+ k-block: 8
1059
+ planes: 2
1060
+ unsigned-inputs: True
1061
+
1062
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512vnni
1063
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1064
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1065
+ k-block: 16
1066
+ planes: 2
1067
+ unsigned-inputs: True
1068
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512vnni
1069
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1070
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1071
+ k-block: 16
1072
+ planes: 2
1073
+ unsigned-inputs: True
1074
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512vnni
1075
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1076
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1077
+ k-block: 16
1078
+ planes: 2
1079
+ unsigned-inputs: True
1080
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512vnni
1081
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1082
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1083
+ k-block: 16
1084
+ planes: 2
1085
+ unsigned-inputs: True
1086
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512vnni
1087
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1088
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1089
+ k-block: 16
1090
+ planes: 2
1091
+ unsigned-inputs: True
1092
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512vnni
1093
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1094
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1095
+ k-block: 16
1096
+ planes: 2
1097
+ unsigned-inputs: True
1098
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512vnni
1099
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1100
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1101
+ k-block: 16
1102
+ planes: 2
1103
+ unsigned-inputs: True
1104
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512vnni
1105
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1106
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1107
+ k-block: 16
1108
+ planes: 2
1109
+ unsigned-inputs: True
1110
+
1111
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512vnni_prfm
1112
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1113
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1114
+ k-block: 16
1115
+ planes: 2
1116
+ unsigned-inputs: True
1117
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512vnni_prfm
1118
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1119
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1120
+ k-block: 16
1121
+ planes: 2
1122
+ unsigned-inputs: True
1123
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512vnni_prfm
1124
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1125
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1126
+ k-block: 16
1127
+ planes: 2
1128
+ unsigned-inputs: True
1129
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512vnni_prfm
1130
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1131
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1132
+ k-block: 16
1133
+ planes: 2
1134
+ unsigned-inputs: True
1135
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512vnni_prfm
1136
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1137
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1138
+ k-block: 16
1139
+ planes: 2
1140
+ unsigned-inputs: True
1141
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512vnni_prfm
1142
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1143
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1144
+ k-block: 16
1145
+ planes: 2
1146
+ unsigned-inputs: True
1147
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512vnni_prfm
1148
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1149
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1150
+ k-block: 16
1151
+ planes: 2
1152
+ unsigned-inputs: True
1153
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512vnni_prfm
1154
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1155
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1156
+ k-block: 16
1157
+ planes: 2
1158
+ unsigned-inputs: True
1159
+
1160
+ # AVX512 VNNI GFNI
1161
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512vnnigfni
1162
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1163
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1164
+ k-block: 8
1165
+ planes: 2
1166
+ unsigned-inputs: True
1167
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512vnnigfni
1168
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1169
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1170
+ k-block: 8
1171
+ planes: 2
1172
+ unsigned-inputs: True
1173
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512vnnigfni
1174
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1175
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1176
+ k-block: 8
1177
+ planes: 2
1178
+ unsigned-inputs: True
1179
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512vnnigfni
1180
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1181
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1182
+ k-block: 8
1183
+ planes: 2
1184
+ unsigned-inputs: True
1185
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512vnnigfni
1186
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1187
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1188
+ k-block: 8
1189
+ planes: 2
1190
+ unsigned-inputs: True
1191
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512vnnigfni
1192
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1193
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1194
+ k-block: 8
1195
+ planes: 2
1196
+ unsigned-inputs: True
1197
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512vnnigfni
1198
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1199
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1200
+ k-block: 8
1201
+ planes: 2
1202
+ unsigned-inputs: True
1203
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512vnnigfni
1204
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1205
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1206
+ k-block: 8
1207
+ planes: 2
1208
+ unsigned-inputs: True
1209
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512vnnigfni
1210
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1211
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1212
+ k-block: 8
1213
+ planes: 2
1214
+ unsigned-inputs: True
1215
+
1216
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c4__avx512vnnigfni_prfm
1217
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1218
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1219
+ k-block: 8
1220
+ planes: 2
1221
+ unsigned-inputs: True
1222
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c4__avx512vnnigfni_prfm
1223
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1224
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1225
+ k-block: 8
1226
+ planes: 2
1227
+ unsigned-inputs: True
1228
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c4__avx512vnnigfni_prfm
1229
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1230
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1231
+ k-block: 8
1232
+ planes: 2
1233
+ unsigned-inputs: True
1234
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c4__avx512vnnigfni_prfm
1235
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1236
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1237
+ k-block: 8
1238
+ planes: 2
1239
+ unsigned-inputs: True
1240
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c4__avx512vnnigfni_prfm
1241
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1242
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1243
+ k-block: 8
1244
+ planes: 2
1245
+ unsigned-inputs: True
1246
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c4__avx512vnnigfni_prfm
1247
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1248
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1249
+ k-block: 8
1250
+ planes: 2
1251
+ unsigned-inputs: True
1252
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c4__avx512vnnigfni_prfm
1253
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1254
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1255
+ k-block: 8
1256
+ planes: 2
1257
+ unsigned-inputs: True
1258
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c4__avx512vnnigfni_prfm
1259
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1260
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1261
+ k-block: 8
1262
+ planes: 2
1263
+ unsigned-inputs: True
1264
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c4__avx512vnnigfni_prfm
1265
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1266
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1267
+ k-block: 8
1268
+ planes: 2
1269
+ unsigned-inputs: True
1270
+
1271
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512vnnigfni
1272
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1273
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1274
+ k-block: 16
1275
+ planes: 2
1276
+ unsigned-inputs: True
1277
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512vnnigfni
1278
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1279
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1280
+ k-block: 16
1281
+ planes: 2
1282
+ unsigned-inputs: True
1283
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512vnnigfni
1284
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1285
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1286
+ k-block: 16
1287
+ planes: 2
1288
+ unsigned-inputs: True
1289
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512vnnigfni
1290
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1291
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1292
+ k-block: 16
1293
+ planes: 2
1294
+ unsigned-inputs: True
1295
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512vnnigfni
1296
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1297
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1298
+ k-block: 16
1299
+ planes: 2
1300
+ unsigned-inputs: True
1301
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512vnnigfni
1302
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1303
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1304
+ k-block: 16
1305
+ planes: 2
1306
+ unsigned-inputs: True
1307
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512vnnigfni
1308
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1309
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1310
+ k-block: 16
1311
+ planes: 2
1312
+ unsigned-inputs: True
1313
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512vnnigfni
1314
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1315
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1316
+ k-block: 16
1317
+ planes: 2
1318
+ unsigned-inputs: True
1319
+
1320
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__avx512vnnigfni_prfm
1321
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1322
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1323
+ k-block: 16
1324
+ planes: 2
1325
+ unsigned-inputs: True
1326
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__avx512vnnigfni_prfm
1327
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1328
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1329
+ k-block: 16
1330
+ planes: 2
1331
+ unsigned-inputs: True
1332
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__avx512vnnigfni_prfm
1333
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1334
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1335
+ k-block: 16
1336
+ planes: 2
1337
+ unsigned-inputs: True
1338
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__avx512vnnigfni_prfm
1339
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1340
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1341
+ k-block: 16
1342
+ planes: 2
1343
+ unsigned-inputs: True
1344
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__avx512vnnigfni_prfm
1345
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1346
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1347
+ k-block: 16
1348
+ planes: 2
1349
+ unsigned-inputs: True
1350
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__avx512vnnigfni_prfm
1351
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1352
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1353
+ k-block: 16
1354
+ planes: 2
1355
+ unsigned-inputs: True
1356
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x16c8__avx512vnnigfni_prfm
1357
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1358
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1359
+ k-block: 16
1360
+ planes: 2
1361
+ unsigned-inputs: True
1362
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x16c8__avx512vnnigfni_prfm
1363
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1364
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1365
+ k-block: 16
1366
+ planes: 2
1367
+ unsigned-inputs: True
1368
+
1369
+ # AVX256 VNNI
1370
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256vnni
1371
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1372
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1373
+ k-block: 16
1374
+ planes: 2
1375
+ unsigned-inputs: True
1376
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256vnni
1377
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1378
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1379
+ k-block: 16
1380
+ planes: 2
1381
+ unsigned-inputs: True
1382
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256vnni
1383
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1384
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1385
+ k-block: 16
1386
+ planes: 2
1387
+ unsigned-inputs: True
1388
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256vnni
1389
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1390
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1391
+ k-block: 16
1392
+ planes: 2
1393
+ unsigned-inputs: True
1394
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256vnni
1395
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1396
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1397
+ k-block: 16
1398
+ planes: 2
1399
+ unsigned-inputs: True
1400
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256vnni
1401
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1402
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1403
+ k-block: 16
1404
+ planes: 2
1405
+ unsigned-inputs: True
1406
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256vnni
1407
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1408
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1409
+ k-block: 16
1410
+ planes: 2
1411
+ unsigned-inputs: True
1412
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256vnni
1413
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1414
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1415
+ k-block: 16
1416
+ planes: 2
1417
+ unsigned-inputs: True
1418
+
1419
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256vnni_prfm
1420
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1421
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1422
+ k-block: 16
1423
+ planes: 2
1424
+ unsigned-inputs: True
1425
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256vnni_prfm
1426
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1427
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1428
+ k-block: 16
1429
+ planes: 2
1430
+ unsigned-inputs: True
1431
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256vnni_prfm
1432
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1433
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1434
+ k-block: 16
1435
+ planes: 2
1436
+ unsigned-inputs: True
1437
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256vnni_prfm
1438
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1439
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1440
+ k-block: 16
1441
+ planes: 2
1442
+ unsigned-inputs: True
1443
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256vnni_prfm
1444
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1445
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1446
+ k-block: 16
1447
+ planes: 2
1448
+ unsigned-inputs: True
1449
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256vnni_prfm
1450
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1451
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1452
+ k-block: 16
1453
+ planes: 2
1454
+ unsigned-inputs: True
1455
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256vnni_prfm
1456
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1457
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1458
+ k-block: 16
1459
+ planes: 2
1460
+ unsigned-inputs: True
1461
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256vnni_prfm
1462
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1463
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1464
+ k-block: 16
1465
+ planes: 2
1466
+ unsigned-inputs: True
1467
+
1468
+ # AVX256 VNNI GFNI
1469
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256vnnigfni
1470
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1471
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1472
+ k-block: 16
1473
+ planes: 2
1474
+ unsigned-inputs: True
1475
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256vnnigfni
1476
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1477
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1478
+ k-block: 16
1479
+ planes: 2
1480
+ unsigned-inputs: True
1481
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256vnnigfni
1482
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1483
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1484
+ k-block: 16
1485
+ planes: 2
1486
+ unsigned-inputs: True
1487
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256vnnigfni
1488
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1489
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1490
+ k-block: 16
1491
+ planes: 2
1492
+ unsigned-inputs: True
1493
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256vnnigfni
1494
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1495
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1496
+ k-block: 16
1497
+ planes: 2
1498
+ unsigned-inputs: True
1499
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256vnnigfni
1500
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1501
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1502
+ k-block: 16
1503
+ planes: 2
1504
+ unsigned-inputs: True
1505
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256vnnigfni
1506
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1507
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1508
+ k-block: 16
1509
+ planes: 2
1510
+ unsigned-inputs: True
1511
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256vnnigfni
1512
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1513
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1514
+ k-block: 16
1515
+ planes: 2
1516
+ unsigned-inputs: True
1517
+
1518
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256vnnigfni_prfm
1519
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1520
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1521
+ k-block: 16
1522
+ planes: 2
1523
+ unsigned-inputs: True
1524
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256vnnigfni_prfm
1525
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1526
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1527
+ k-block: 16
1528
+ planes: 2
1529
+ unsigned-inputs: True
1530
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256vnnigfni_prfm
1531
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1532
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1533
+ k-block: 16
1534
+ planes: 2
1535
+ unsigned-inputs: True
1536
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256vnnigfni_prfm
1537
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1538
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1539
+ k-block: 16
1540
+ planes: 2
1541
+ unsigned-inputs: True
1542
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x8c8__avx256vnnigfni_prfm
1543
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1544
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1545
+ k-block: 16
1546
+ planes: 2
1547
+ unsigned-inputs: True
1548
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x8c8__avx256vnnigfni_prfm
1549
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1550
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1551
+ k-block: 16
1552
+ planes: 2
1553
+ unsigned-inputs: True
1554
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_12x8c8__avx256vnnigfni_prfm
1555
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1556
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1557
+ k-block: 16
1558
+ planes: 2
1559
+ unsigned-inputs: True
1560
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_14x8c8__avx256vnnigfni_prfm
1561
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1562
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1563
+ k-block: 16
1564
+ planes: 2
1565
+ unsigned-inputs: True
1566
+
1567
+ # AVXVNNI
1568
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avxvnni
1569
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1570
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1571
+ k-block: 16
1572
+ planes: 2
1573
+ unsigned-inputs: True
1574
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avxvnni
1575
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1576
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1577
+ k-block: 16
1578
+ planes: 2
1579
+ unsigned-inputs: True
1580
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avxvnni
1581
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1582
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1583
+ k-block: 16
1584
+ planes: 2
1585
+ unsigned-inputs: True
1586
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avxvnni
1587
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1588
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1589
+ k-block: 16
1590
+ planes: 2
1591
+ unsigned-inputs: True
1592
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avxvnni
1593
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1594
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1595
+ k-block: 16
1596
+ planes: 2
1597
+ unsigned-inputs: True
1598
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avxvnni
1599
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1600
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1601
+ k-block: 16
1602
+ planes: 2
1603
+ unsigned-inputs: True
1604
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avxvnni
1605
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1606
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1607
+ k-block: 16
1608
+ planes: 2
1609
+ unsigned-inputs: True
1610
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avxvnni
1611
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1612
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1613
+ k-block: 16
1614
+ planes: 2
1615
+ unsigned-inputs: True
1616
+
1617
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avxvnni_prfm
1618
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1619
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1620
+ k-block: 16
1621
+ planes: 2
1622
+ unsigned-inputs: True
1623
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avxvnni_prfm
1624
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1625
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1626
+ k-block: 16
1627
+ planes: 2
1628
+ unsigned-inputs: True
1629
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avxvnni_prfm
1630
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1631
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1632
+ k-block: 16
1633
+ planes: 2
1634
+ unsigned-inputs: True
1635
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avxvnni_prfm
1636
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1637
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1638
+ k-block: 16
1639
+ planes: 2
1640
+ unsigned-inputs: True
1641
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avxvnni_prfm
1642
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1643
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1644
+ k-block: 16
1645
+ planes: 2
1646
+ unsigned-inputs: True
1647
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avxvnni_prfm
1648
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1649
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1650
+ k-block: 16
1651
+ planes: 2
1652
+ unsigned-inputs: True
1653
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avxvnni_prfm
1654
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1655
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1656
+ k-block: 16
1657
+ planes: 2
1658
+ unsigned-inputs: True
1659
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avxvnni_prfm
1660
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1661
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1662
+ k-block: 16
1663
+ planes: 2
1664
+ unsigned-inputs: True
1665
+
1666
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x16c8__asm_amd64_avx512vnni
1667
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1668
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1669
+ k-block: 8
1670
+ planes: 1
1671
+ unsigned-inputs: True
1672
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x16c8__asm_amd64_avx512vnni
1673
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1674
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1675
+ k-block: 8
1676
+ planes: 1
1677
+ unsigned-inputs: True
1678
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x16c8__asm_amd64_avx512vnni
1679
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1680
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1681
+ k-block: 8
1682
+ planes: 1
1683
+ unsigned-inputs: True
1684
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x16c8__asm_amd64_avx512vnni
1685
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1686
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1687
+ k-block: 8
1688
+ planes: 1
1689
+ unsigned-inputs: True
1690
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x16c8__asm_amd64_avx512vnni
1691
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1692
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1693
+ k-block: 8
1694
+ planes: 1
1695
+ unsigned-inputs: True
1696
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x16c8__asm_amd64_avx512vnni
1697
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1698
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1699
+ k-block: 8
1700
+ planes: 1
1701
+ unsigned-inputs: True
1702
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x16c8__asm_amd64_avx512vnni
1703
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1704
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1705
+ k-block: 8
1706
+ planes: 1
1707
+ unsigned-inputs: True
1708
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x16c8__asm_amd64_avx512vnni
1709
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1710
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1711
+ k-block: 8
1712
+ planes: 1
1713
+ unsigned-inputs: True
1714
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x16c8__asm_amd64_avx512vnni
1715
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1716
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1717
+ k-block: 8
1718
+ planes: 1
1719
+ unsigned-inputs: True
1720
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x16c8__asm_amd64_avx512vnni
1721
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1722
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1723
+ k-block: 8
1724
+ planes: 1
1725
+ unsigned-inputs: True
1726
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_11x16c8__asm_amd64_avx512vnni
1727
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1728
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1729
+ k-block: 8
1730
+ planes: 1
1731
+ unsigned-inputs: True
1732
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x32c4__asm_amd64_avx512vnni
1733
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1734
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1735
+ k-block: 4
1736
+ planes: 1
1737
+ unsigned-inputs: True
1738
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x32c4__asm_amd64_avx512vnni
1739
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1740
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1741
+ k-block: 4
1742
+ planes: 1
1743
+ unsigned-inputs: True
1744
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x32c4__asm_amd64_avx512vnni
1745
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1746
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1747
+ k-block: 4
1748
+ planes: 1
1749
+ unsigned-inputs: True
1750
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x32c4__asm_amd64_avx512vnni
1751
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1752
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1753
+ k-block: 4
1754
+ planes: 1
1755
+ unsigned-inputs: True
1756
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x32c4__asm_amd64_avx512vnni
1757
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1758
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1759
+ k-block: 4
1760
+ planes: 1
1761
+ unsigned-inputs: True
1762
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x32c4__asm_amd64_avx512vnni
1763
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1764
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1765
+ k-block: 4
1766
+ planes: 1
1767
+ unsigned-inputs: True
1768
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x32c4__asm_amd64_avx512vnni
1769
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1770
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1771
+ k-block: 4
1772
+ planes: 1
1773
+ unsigned-inputs: True
1774
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x32c4__asm_amd64_avx512vnni
1775
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1776
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1777
+ k-block: 4
1778
+ planes: 1
1779
+ unsigned-inputs: True
1780
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_9x32c4__asm_amd64_avx512vnni
1781
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1782
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1783
+ k-block: 4
1784
+ planes: 1
1785
+ unsigned-inputs: True
1786
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_10x32c4__asm_amd64_avx512vnni
1787
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1788
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1789
+ k-block: 4
1790
+ planes: 1
1791
+ unsigned-inputs: True
1792
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_11x32c4__asm_amd64_avx512vnni
1793
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1794
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1795
+ k-block: 4
1796
+ planes: 1
1797
+ unsigned-inputs: True
1798
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x64c4__asm_amd64_avx512vnni
1799
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1800
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1801
+ k-block: 4
1802
+ planes: 1
1803
+ unsigned-inputs: True
1804
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x64c4__asm_amd64_avx512vnni
1805
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1806
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1807
+ k-block: 4
1808
+ planes: 1
1809
+ unsigned-inputs: True
1810
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x64c4__asm_amd64_avx512vnni
1811
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1812
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1813
+ k-block: 4
1814
+ planes: 1
1815
+ unsigned-inputs: True
1816
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x64c4__asm_amd64_avx512vnni
1817
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1818
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1819
+ k-block: 4
1820
+ planes: 1
1821
+ unsigned-inputs: True
1822
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x64c4__asm_amd64_avx512vnni
1823
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1824
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1825
+ k-block: 4
1826
+ planes: 1
1827
+ unsigned-inputs: True
1828
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x32c8__asm_amd64_avx512vnni
1829
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1830
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1831
+ k-block: 8
1832
+ planes: 1
1833
+ unsigned-inputs: True
1834
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x32c8__asm_amd64_avx512vnni
1835
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1836
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1837
+ k-block: 8
1838
+ planes: 1
1839
+ unsigned-inputs: True
1840
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x32c8__asm_amd64_avx512vnni
1841
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1842
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1843
+ k-block: 8
1844
+ planes: 1
1845
+ unsigned-inputs: True
1846
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x32c8__asm_amd64_avx512vnni
1847
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1848
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1849
+ k-block: 8
1850
+ planes: 1
1851
+ unsigned-inputs: True
1852
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x32c8__asm_amd64_avx512vnni
1853
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1854
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w_non_planar_avx512
1855
+ k-block: 8
1856
+ planes: 1
1857
+ unsigned-inputs: True
1858
+
1859
+ # x86 AVX2
1860
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx2
1861
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1862
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1863
+ k-block: 16
1864
+ planes: 2
1865
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avx2
1866
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1867
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1868
+ k-block: 16
1869
+ planes: 2
1870
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avx2
1871
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1872
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1873
+ k-block: 16
1874
+ planes: 2
1875
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avx2
1876
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1877
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1878
+ k-block: 16
1879
+ planes: 2
1880
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx2
1881
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1882
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1883
+ k-block: 16
1884
+ planes: 2
1885
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avx2
1886
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1887
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1888
+ k-block: 16
1889
+ planes: 2
1890
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx2
1891
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1892
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1893
+ k-block: 16
1894
+ planes: 2
1895
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx2
1896
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1897
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1898
+ k-block: 16
1899
+ planes: 2
1900
+
1901
+ # x86 AVX256SKX
1902
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8c8__avx256skx
1903
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1904
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1905
+ k-block: 16
1906
+ planes: 2
1907
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8c8__avx256skx
1908
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1909
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1910
+ k-block: 16
1911
+ planes: 2
1912
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x8c8__avx256skx
1913
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1914
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1915
+ k-block: 16
1916
+ planes: 2
1917
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x8c8__avx256skx
1918
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1919
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1920
+ k-block: 16
1921
+ planes: 2
1922
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x8c8__avx256skx
1923
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1924
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1925
+ k-block: 16
1926
+ planes: 2
1927
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x8c8__avx256skx
1928
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1929
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1930
+ k-block: 16
1931
+ planes: 2
1932
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x8c8__avx256skx
1933
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1934
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1935
+ k-block: 16
1936
+ planes: 2
1937
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x8c8__avx256skx
1938
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1939
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1940
+ k-block: 16
1941
+ planes: 2
1942
+
1943
+ # AVX
1944
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__avx_ld128
1945
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1946
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1947
+ k-block: 16
1948
+ planes: 2
1949
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__avx_ld128
1950
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1951
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1952
+ k-block: 16
1953
+ planes: 2
1954
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__avx_ld128
1955
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1956
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1957
+ k-block: 16
1958
+ planes: 2
1959
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__avx_ld128
1960
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1961
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1962
+ k-block: 16
1963
+ planes: 2
1964
+
1965
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__avx_ld64
1966
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1967
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1968
+ k-block: 16
1969
+ planes: 2
1970
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__avx_ld64
1971
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1972
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1973
+ k-block: 16
1974
+ planes: 2
1975
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__avx_ld64
1976
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1977
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1978
+ k-block: 16
1979
+ planes: 2
1980
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__avx_ld64
1981
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1982
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1983
+ k-block: 16
1984
+ planes: 2
1985
+
1986
+ # SSE4
1987
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__sse41_ld128
1988
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1989
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1990
+ k-block: 16
1991
+ planes: 2
1992
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__sse41_ld128
1993
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1994
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
1995
+ k-block: 16
1996
+ planes: 2
1997
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__sse41_ld128
1998
+ init: xnn_init_f32_qc4w_minmax_scalar_params
1999
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2000
+ k-block: 16
2001
+ planes: 2
2002
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__sse41_ld128
2003
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2004
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2005
+ k-block: 16
2006
+ planes: 2
2007
+
2008
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__sse41_ld64
2009
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2010
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2011
+ k-block: 16
2012
+ planes: 2
2013
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__sse41_ld64
2014
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2015
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2016
+ k-block: 16
2017
+ planes: 2
2018
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__sse41_ld64
2019
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2020
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2021
+ k-block: 16
2022
+ planes: 2
2023
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__sse41_ld64
2024
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2025
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2026
+ k-block: 16
2027
+ planes: 2
2028
+
2029
+ # SSE2
2030
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__sse2_ld128
2031
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2032
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2033
+ k-block: 16
2034
+ planes: 2
2035
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__sse2_ld128
2036
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2037
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2038
+ k-block: 16
2039
+ planes: 2
2040
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__sse2_ld128
2041
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2042
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2043
+ k-block: 16
2044
+ planes: 2
2045
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__sse2_ld128
2046
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2047
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2048
+ k-block: 16
2049
+ planes: 2
2050
+
2051
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__sse2_ld64
2052
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2053
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2054
+ k-block: 16
2055
+ planes: 2
2056
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__sse2_ld64
2057
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2058
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2059
+ k-block: 16
2060
+ planes: 2
2061
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__sse2_ld64
2062
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2063
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2064
+ k-block: 16
2065
+ planes: 2
2066
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__sse2_ld64
2067
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2068
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2069
+ k-block: 16
2070
+ planes: 2
2071
+
2072
+ # RISC-V Vector
2073
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4v__rvv
2074
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2075
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2076
+ k-block: 2
2077
+ planes: 2
2078
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4v__rvv
2079
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2080
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2081
+ k-block: 2
2082
+ planes: 2
2083
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4v__rvv
2084
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2085
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2086
+ k-block: 2
2087
+ planes: 2
2088
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4v__rvv
2089
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2090
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2091
+ k-block: 2
2092
+ planes: 2
2093
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_5x4v__rvv
2094
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2095
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2096
+ k-block: 2
2097
+ planes: 2
2098
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_6x4v__rvv
2099
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2100
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2101
+ k-block: 2
2102
+ planes: 2
2103
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_7x4v__rvv
2104
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2105
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2106
+ k-block: 2
2107
+ planes: 2
2108
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_8x4v__rvv
2109
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2110
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2111
+ k-block: 2
2112
+ planes: 2
2113
+
2114
+ # WAsmSIMD
2115
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4c8__wasmsimd_dot16x2_ld64
2116
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2117
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2118
+ k-block: 16
2119
+ planes: 2
2120
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4c8__wasmsimd_dot16x2_ld64
2121
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2122
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2123
+ k-block: 16
2124
+ planes: 2
2125
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_3x4c8__wasmsimd_dot16x2_ld64
2126
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2127
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2128
+ k-block: 16
2129
+ planes: 2
2130
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4c8__wasmsimd_dot16x2_ld64
2131
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2132
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2133
+ k-block: 16
2134
+ planes: 2
2135
+
2136
+ # Scalar
2137
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x1__scalar
2138
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2139
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2140
+ k-block: 2
2141
+ planes: 2
2142
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x2__scalar
2143
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2144
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2145
+ k-block: 2
2146
+ planes: 2
2147
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x4__scalar
2148
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2149
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2150
+ k-block: 2
2151
+ planes: 2
2152
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_1x8__scalar
2153
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2154
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2155
+ k-block: 2
2156
+ planes: 2
2157
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x2__scalar
2158
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2159
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2160
+ k-block: 2
2161
+ planes: 2
2162
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x4__scalar
2163
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2164
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2165
+ k-block: 2
2166
+ planes: 2
2167
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_2x8__scalar
2168
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2169
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2170
+ k-block: 2
2171
+ planes: 2
2172
+ - name: xnn_qd8_f32_qc4w_gemm_minmax_ukernel_4x4__scalar
2173
+ init: xnn_init_f32_qc4w_minmax_scalar_params
2174
+ pack: xnn_pack_qs8_qc4w_gemm_goi_w
2175
+ k-block: 2
2176
+ planes: 2