executorch 1.4.0__cp314-cp314-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 (4120) hide show
  1. executorch/backends/__init__.py +0 -0
  2. executorch/backends/aoti/aoti_backend.py +360 -0
  3. executorch/backends/aoti/aoti_partitioner.py +141 -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 +955 -0
  7. executorch/backends/apple/coreml/compiler/enumerated_shape_utils.py +244 -0
  8. executorch/backends/apple/coreml/compiler/torch_ops.py +240 -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 +382 -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_multifunction.py +334 -0
  23. executorch/backends/apple/coreml/test/test_coreml_partitioner.py +536 -0
  24. executorch/backends/apple/coreml/test/test_coreml_quantizer.py +172 -0
  25. executorch/backends/apple/coreml/test/test_coreml_recipes.py +552 -0
  26. executorch/backends/apple/coreml/test/test_coreml_utils.py +19 -0
  27. executorch/backends/apple/coreml/test/test_enumerated_shapes.py +112 -0
  28. executorch/backends/apple/coreml/test/test_torch_ops.py +360 -0
  29. executorch/backends/apple/coreml/test/tester.py +121 -0
  30. executorch/backends/apple/metal/metal_backend.py +118 -0
  31. executorch/backends/apple/metal/metal_partitioner.py +25 -0
  32. executorch/backends/apple/metal/ops/__init__.py +5 -0
  33. executorch/backends/apple/metal/ops/gated_delta_rule.py +92 -0
  34. executorch/backends/apple/metal/ops/gather_qmv.py +117 -0
  35. executorch/backends/apple/metal/passes/__init__.py +11 -0
  36. executorch/backends/apple/metal/passes/decompose_linear_pass.py +115 -0
  37. executorch/backends/apple/metal/tests/__init__.py +5 -0
  38. executorch/backends/apple/metal/tests/test_metal_backend.py +79 -0
  39. executorch/backends/apple/metal/tests/test_metal_partitioner.py +172 -0
  40. executorch/backends/apple/metal/tests/test_modules.py +1404 -0
  41. executorch/backends/apple/mps/__init__.py +19 -0
  42. executorch/backends/apple/mps/mps_preprocess.py +329 -0
  43. executorch/backends/apple/mps/operators/__init__.py +77 -0
  44. executorch/backends/apple/mps/operators/activation_ops.py +99 -0
  45. executorch/backends/apple/mps/operators/binary_ops.py +156 -0
  46. executorch/backends/apple/mps/operators/clamp_ops.py +60 -0
  47. executorch/backends/apple/mps/operators/constant_ops.py +128 -0
  48. executorch/backends/apple/mps/operators/convolution_ops.py +70 -0
  49. executorch/backends/apple/mps/operators/indexing_ops.py +225 -0
  50. executorch/backends/apple/mps/operators/linear_algebra_ops.py +52 -0
  51. executorch/backends/apple/mps/operators/node_visitor.py +473 -0
  52. executorch/backends/apple/mps/operators/normalization_ops.py +97 -0
  53. executorch/backends/apple/mps/operators/op_clone.py +54 -0
  54. executorch/backends/apple/mps/operators/op_getitem.py +29 -0
  55. executorch/backends/apple/mps/operators/op_quant_dequant.py +142 -0
  56. executorch/backends/apple/mps/operators/op_skip_ops.py +24 -0
  57. executorch/backends/apple/mps/operators/pad_ops.py +37 -0
  58. executorch/backends/apple/mps/operators/pooling_ops.py +142 -0
  59. executorch/backends/apple/mps/operators/range_ops.py +53 -0
  60. executorch/backends/apple/mps/operators/reduce_ops.py +39 -0
  61. executorch/backends/apple/mps/operators/shape_ops.py +263 -0
  62. executorch/backends/apple/mps/operators/unary_ops.py +130 -0
  63. executorch/backends/apple/mps/partition/__init__.py +20 -0
  64. executorch/backends/apple/mps/partition/mps_partitioner.py +159 -0
  65. executorch/backends/apple/mps/serialization/mps_graph_schema.py +817 -0
  66. executorch/backends/apple/mps/serialization/mps_graph_serialize.py +34 -0
  67. executorch/backends/apple/mps/serialization/schema.fbs +523 -0
  68. executorch/backends/apple/mps/test/test_mps.py +2507 -0
  69. executorch/backends/apple/mps/test/test_mps_binary_ops.py +296 -0
  70. executorch/backends/apple/mps/test/test_mps_deprecation.py +125 -0
  71. executorch/backends/apple/mps/test/test_mps_indexing_ops.py +264 -0
  72. executorch/backends/apple/mps/test/test_mps_linear.py +523 -0
  73. executorch/backends/apple/mps/test/test_mps_models.py +416 -0
  74. executorch/backends/apple/mps/test/test_mps_unary_ops.py +26 -0
  75. executorch/backends/apple/mps/test/test_mps_utils.py +326 -0
  76. executorch/backends/apple/mps/utils/mps_utils.py +82 -0
  77. executorch/backends/apple/mps/utils/quant_utils.py +41 -0
  78. executorch/backends/arm/__init__.py +55 -0
  79. executorch/backends/arm/_passes/__init__.py +213 -0
  80. executorch/backends/arm/_passes/_debug_passes.py +59 -0
  81. executorch/backends/arm/_passes/accumulate_index_put_pass.py +65 -0
  82. executorch/backends/arm/_passes/arm_pass.py +294 -0
  83. executorch/backends/arm/_passes/arm_pass_manager.py +779 -0
  84. executorch/backends/arm/_passes/arm_pass_utils.py +427 -0
  85. executorch/backends/arm/_passes/aten_to_tosa_activation_functions.py +148 -0
  86. executorch/backends/arm/_passes/aten_to_tosa_data_layout.py +98 -0
  87. executorch/backends/arm/_passes/aten_to_tosa_tensor_operators.py +118 -0
  88. executorch/backends/arm/_passes/broadcast_args_pass.py +90 -0
  89. executorch/backends/arm/_passes/canonicalize_gather_pass.py +203 -0
  90. executorch/backends/arm/_passes/canonicalize_view_copy_permute_pass.py +372 -0
  91. executorch/backends/arm/_passes/cast_int64_pass.py +99 -0
  92. executorch/backends/arm/_passes/cast_to_int32_pass.py +69 -0
  93. executorch/backends/arm/_passes/constant_folding_pass.py +81 -0
  94. executorch/backends/arm/_passes/control_flow_const_inline.py +78 -0
  95. executorch/backends/arm/_passes/conv1d_unsqueeze_pass.py +113 -0
  96. executorch/backends/arm/_passes/convert_elu_params.py +88 -0
  97. executorch/backends/arm/_passes/convert_expand_copy_to_repeat.py +80 -0
  98. executorch/backends/arm/_passes/convert_full_like_to_full_pass.py +49 -0
  99. executorch/backends/arm/_passes/convert_int64_const_ops_to_int32.py +81 -0
  100. executorch/backends/arm/_passes/convert_int64_output_ops_to_int32.py +199 -0
  101. executorch/backends/arm/_passes/convert_minmax_pass.py +166 -0
  102. executorch/backends/arm/_passes/convert_permute_singleton_to_view_pass.py +65 -0
  103. executorch/backends/arm/_passes/convert_split_to_slice.py +134 -0
  104. executorch/backends/arm/_passes/convert_squeezes_to_view.py +40 -0
  105. executorch/backends/arm/_passes/convert_to_clamp_pass.py +47 -0
  106. executorch/backends/arm/_passes/decompose_acosh_pass.py +75 -0
  107. executorch/backends/arm/_passes/decompose_adaptive_avg_pool2d_pass.py +462 -0
  108. executorch/backends/arm/_passes/decompose_adaptive_max_pool2d_pass.py +203 -0
  109. executorch/backends/arm/_passes/decompose_add_sub_alpha_pass.py +102 -0
  110. executorch/backends/arm/_passes/decompose_addmm_pass.py +75 -0
  111. executorch/backends/arm/_passes/decompose_any_pass.py +122 -0
  112. executorch/backends/arm/_passes/decompose_as_strided_copy_pass.py +116 -0
  113. executorch/backends/arm/_passes/decompose_asin_and_acos_pass.py +223 -0
  114. executorch/backends/arm/_passes/decompose_asinh_pass.py +72 -0
  115. executorch/backends/arm/_passes/decompose_atan_pass.py +139 -0
  116. executorch/backends/arm/_passes/decompose_atanh_pass.py +84 -0
  117. executorch/backends/arm/_passes/decompose_avg_pool2d_pass.py +178 -0
  118. executorch/backends/arm/_passes/decompose_batch_norm_no_stats.py +235 -0
  119. executorch/backends/arm/_passes/decompose_cosh_pass.py +69 -0
  120. executorch/backends/arm/_passes/decompose_cosine_similarity_pass.py +98 -0
  121. executorch/backends/arm/_passes/decompose_cumsum_pass.py +167 -0
  122. executorch/backends/arm/_passes/decompose_div_pass.py +59 -0
  123. executorch/backends/arm/_passes/decompose_div_tensor_mode.py +283 -0
  124. executorch/backends/arm/_passes/decompose_dynamic_adaptive_avg_pool2d_pass.py +57 -0
  125. executorch/backends/arm/_passes/decompose_dynamic_full_pass.py +56 -0
  126. executorch/backends/arm/_passes/decompose_einsum_pass.py +66 -0
  127. executorch/backends/arm/_passes/decompose_elu_pass.py +187 -0
  128. executorch/backends/arm/_passes/decompose_embedding_pass.py +132 -0
  129. executorch/backends/arm/_passes/decompose_erfinv_pass.py +374 -0
  130. executorch/backends/arm/_passes/decompose_expm1_pass.py +160 -0
  131. executorch/backends/arm/_passes/decompose_flip_pass.py +35 -0
  132. executorch/backends/arm/_passes/decompose_floor_divide_pass.py +76 -0
  133. executorch/backends/arm/_passes/decompose_gelu_pass.py +144 -0
  134. executorch/backends/arm/_passes/decompose_glu_pass.py +84 -0
  135. executorch/backends/arm/_passes/decompose_grouped_conv_pass.py +319 -0
  136. executorch/backends/arm/_passes/decompose_groupnorm_pass.py +223 -0
  137. executorch/backends/arm/_passes/decompose_gru_pass.py +337 -0
  138. executorch/backends/arm/_passes/decompose_index_copy_pass.py +33 -0
  139. executorch/backends/arm/_passes/decompose_index_select_to_gather_pass.py +182 -0
  140. executorch/backends/arm/_passes/decompose_index_tensor_to_gather_pass.py +400 -0
  141. executorch/backends/arm/_passes/decompose_int_pow_pass.py +87 -0
  142. executorch/backends/arm/_passes/decompose_layernorm_pass.py +203 -0
  143. executorch/backends/arm/_passes/decompose_leaky_relu_pass.py +80 -0
  144. executorch/backends/arm/_passes/decompose_linalg_vector_norm_pass.py +93 -0
  145. executorch/backends/arm/_passes/decompose_linear_pass.py +117 -0
  146. executorch/backends/arm/_passes/decompose_log1p_pass.py +96 -0
  147. executorch/backends/arm/_passes/decompose_logit_pass.py +119 -0
  148. executorch/backends/arm/_passes/decompose_lstm_pass.py +378 -0
  149. executorch/backends/arm/_passes/decompose_masked_fill_pass.py +60 -0
  150. executorch/backends/arm/_passes/decompose_matmul.py +47 -0
  151. executorch/backends/arm/_passes/decompose_maxpool2d_with_dilation_pass.py +242 -0
  152. executorch/backends/arm/_passes/decompose_meandim_pass.py +263 -0
  153. executorch/backends/arm/_passes/decompose_ne_pass.py +75 -0
  154. executorch/backends/arm/_passes/decompose_permute_for_u55_pass.py +370 -0
  155. executorch/backends/arm/_passes/decompose_quant_nodes.py +161 -0
  156. executorch/backends/arm/_passes/decompose_remainder_pass.py +74 -0
  157. executorch/backends/arm/_passes/decompose_rnn_pass.py +300 -0
  158. executorch/backends/arm/_passes/decompose_round_pass.py +85 -0
  159. executorch/backends/arm/_passes/decompose_sdpa_pass.py +41 -0
  160. executorch/backends/arm/_passes/decompose_select.py +80 -0
  161. executorch/backends/arm/_passes/decompose_select_scatter_pass.py +146 -0
  162. executorch/backends/arm/_passes/decompose_sign_pass.py +83 -0
  163. executorch/backends/arm/_passes/decompose_sinh_pass.py +74 -0
  164. executorch/backends/arm/_passes/decompose_slice_scatter_pass.py +201 -0
  165. executorch/backends/arm/_passes/decompose_softmax_pass.py +119 -0
  166. executorch/backends/arm/_passes/decompose_sqrt_pass.py +46 -0
  167. executorch/backends/arm/_passes/decompose_strided_slice_copy_pass.py +147 -0
  168. executorch/backends/arm/_passes/decompose_sum_pass.py +94 -0
  169. executorch/backends/arm/_passes/decompose_tan_pass.py +44 -0
  170. executorch/backends/arm/_passes/decompose_tosa_unsupported_clamp_pass.py +99 -0
  171. executorch/backends/arm/_passes/decompose_tril_pass.py +112 -0
  172. executorch/backends/arm/_passes/decompose_unfold_to_gather_pass.py +372 -0
  173. executorch/backends/arm/_passes/decompose_unsupported_bilinear_resize_pass.py +159 -0
  174. executorch/backends/arm/_passes/decompose_var_pass.py +107 -0
  175. executorch/backends/arm/_passes/decompose_where_scalar_other_pass.py +62 -0
  176. executorch/backends/arm/_passes/decorate_fp32_to_int32_casting_pass.py +90 -0
  177. executorch/backends/arm/_passes/deduplicate_get_attr_pass.py +96 -0
  178. executorch/backends/arm/_passes/dim_maps.py +959 -0
  179. executorch/backends/arm/_passes/ensure_unique_output_nodes_pass.py +82 -0
  180. executorch/backends/arm/_passes/exir_to_tosa_pass.py +136 -0
  181. executorch/backends/arm/_passes/fold_qdq_with_annotated_qparams_pass.py +442 -0
  182. executorch/backends/arm/_passes/fold_scalar_mul_into_conv_pass.py +335 -0
  183. executorch/backends/arm/_passes/fuse_batch_norm2d_pass.py +246 -0
  184. executorch/backends/arm/_passes/fuse_consecutive_concat_shapes.py +64 -0
  185. executorch/backends/arm/_passes/fuse_consecutive_rescales_pass.py +175 -0
  186. executorch/backends/arm/_passes/fuse_consecutive_slices_pass.py +112 -0
  187. executorch/backends/arm/_passes/fuse_constant_ops_pass.py +362 -0
  188. executorch/backends/arm/_passes/fuse_duplicate_users_pass.py +170 -0
  189. executorch/backends/arm/_passes/fuse_equal_placeholders_pass.py +125 -0
  190. executorch/backends/arm/_passes/fuse_identical_input_transforms_pass.py +401 -0
  191. executorch/backends/arm/_passes/fuse_quantized_activation_pass.py +82 -0
  192. executorch/backends/arm/_passes/fuse_view_copy_transform_pass.py +14 -0
  193. executorch/backends/arm/_passes/get_decomposition_pass.py +149 -0
  194. executorch/backends/arm/_passes/insert_const_shapes.py +78 -0
  195. executorch/backends/arm/_passes/insert_data_layout_casts_pass.py +134 -0
  196. executorch/backends/arm/_passes/insert_dynamic_padding.py +101 -0
  197. executorch/backends/arm/_passes/insert_int32_casts_after_int64_placeholders.py +129 -0
  198. executorch/backends/arm/_passes/insert_rescales_pass.py +667 -0
  199. executorch/backends/arm/_passes/insert_table_ops.py +345 -0
  200. executorch/backends/arm/_passes/match_arg_dtype_pass.py +105 -0
  201. executorch/backends/arm/_passes/match_arg_ranks_pass.py +116 -0
  202. executorch/backends/arm/_passes/mm_to_bmm_pass.py +114 -0
  203. executorch/backends/arm/_passes/normalize_delegate_io_layout_pass.py +138 -0
  204. executorch/backends/arm/_passes/normalize_index_put_bool_index_tensor_pass.py +102 -0
  205. executorch/backends/arm/_passes/normalize_index_put_none_indices_pass.py +144 -0
  206. executorch/backends/arm/_passes/normalize_while_initial_args_pass.py +115 -0
  207. executorch/backends/arm/_passes/promote_bool_operands_pass.py +84 -0
  208. executorch/backends/arm/_passes/propagate_view_copy_permute_pass.py +751 -0
  209. executorch/backends/arm/_passes/quant_args.py +131 -0
  210. executorch/backends/arm/_passes/remove_getitem_pass.py +14 -0
  211. executorch/backends/arm/_passes/remove_graph_asserts_pass.py +18 -0
  212. executorch/backends/arm/_passes/remove_noop_pass.py +43 -0
  213. executorch/backends/arm/_passes/remove_permutes_around_elementwise_tosa_ops.py +42 -0
  214. executorch/backends/arm/_passes/replace_inf_and_limit_values_pass.py +81 -0
  215. executorch/backends/arm/_passes/replace_scalar_with_tensor_pass.py +139 -0
  216. executorch/backends/arm/_passes/rewrite_adaptive_avg_pool2d.py +170 -0
  217. executorch/backends/arm/_passes/rewrite_avg_pool2d_pass.py +108 -0
  218. executorch/backends/arm/_passes/rewrite_bool_bitwise_to_logical_pass.py +50 -0
  219. executorch/backends/arm/_passes/rewrite_bool_to_fp32_cast_via_int8_pass.py +77 -0
  220. executorch/backends/arm/_passes/rewrite_conv_pass.py +699 -0
  221. executorch/backends/arm/_passes/rewrite_high_rank_singleton_permute_pass.py +114 -0
  222. executorch/backends/arm/_passes/rewrite_index_put_pass.py +200 -0
  223. executorch/backends/arm/_passes/rewrite_inplace_arithmetic_pass.py +41 -0
  224. executorch/backends/arm/_passes/rewrite_le_lt_to_ge_gt_pass.py +44 -0
  225. executorch/backends/arm/_passes/rewrite_matmul.py +125 -0
  226. executorch/backends/arm/_passes/rewrite_max_pool2d_pass.py +189 -0
  227. executorch/backends/arm/_passes/rewrite_mxfp_conv2d.py +407 -0
  228. executorch/backends/arm/_passes/rewrite_mxfp_linear.py +390 -0
  229. executorch/backends/arm/_passes/rewrite_pad.py +177 -0
  230. executorch/backends/arm/_passes/rewrite_slice.py +75 -0
  231. executorch/backends/arm/_passes/rewrite_upsample.py +267 -0
  232. executorch/backends/arm/_passes/scalars_to_attribute_pass.py +144 -0
  233. executorch/backends/arm/_passes/size_adjust_input_pass.py +287 -0
  234. executorch/backends/arm/_passes/symbolic_to_tosa_shape_pass.py +26 -0
  235. executorch/backends/arm/_passes/symbolic_value_range.py +189 -0
  236. executorch/backends/arm/_passes/unsqueeze_before_repeat_pass.py +66 -0
  237. executorch/backends/arm/_passes/unsqueeze_scalar_placeholders_pass.py +101 -0
  238. executorch/backends/arm/ao_ext/__init__.py +12 -0
  239. executorch/backends/arm/ao_ext/mxfp.py +137 -0
  240. executorch/backends/arm/ao_ext/mxfp_tosa_lib.py +12 -0
  241. executorch/backends/arm/ao_ext/mxfp_transform.py +27 -0
  242. executorch/backends/arm/ao_ext/ops/__init__.py +12 -0
  243. executorch/backends/arm/ao_ext/ops/mxfp_conv2d_op.py +325 -0
  244. executorch/backends/arm/ao_ext/ops/mxfp_linear_op.py +236 -0
  245. executorch/backends/arm/arm_vela.py +144 -0
  246. executorch/backends/arm/cmsis_pack/scripts/generate_components.py +462 -0
  247. executorch/backends/arm/cmsis_pack/scripts/generate_register_all_kernels.py +1215 -0
  248. executorch/backends/arm/cmsis_pack/test/validate_pack.py +85 -0
  249. executorch/backends/arm/common/__init__.py +4 -0
  250. executorch/backends/arm/common/annotation_meta.py +39 -0
  251. executorch/backends/arm/common/arm_compile_spec.py +385 -0
  252. executorch/backends/arm/common/as_strided_utils.py +72 -0
  253. executorch/backends/arm/common/debug.py +79 -0
  254. executorch/backends/arm/common/pipeline_config.py +109 -0
  255. executorch/backends/arm/common/type.py +28 -0
  256. executorch/backends/arm/constants.py +52 -0
  257. executorch/backends/arm/debug/__init__.py +4 -0
  258. executorch/backends/arm/debug/schema.py +145 -0
  259. executorch/backends/arm/ethosu/__init__.py +11 -0
  260. executorch/backends/arm/ethosu/backend.py +115 -0
  261. executorch/backends/arm/ethosu/compile_spec.py +154 -0
  262. executorch/backends/arm/ethosu/partitioner.py +41 -0
  263. executorch/backends/arm/operator_support/__init__.py +30 -0
  264. executorch/backends/arm/operator_support/as_strided_copy_support.py +113 -0
  265. executorch/backends/arm/operator_support/bool_bitwise_support.py +39 -0
  266. executorch/backends/arm/operator_support/clone_dim_order_support.py +77 -0
  267. executorch/backends/arm/operator_support/control_flow_support.py +194 -0
  268. executorch/backends/arm/operator_support/convolution_support.py +321 -0
  269. executorch/backends/arm/operator_support/embedding_support.py +56 -0
  270. executorch/backends/arm/operator_support/ethos_u55_support.py +306 -0
  271. executorch/backends/arm/operator_support/gather_support.py +166 -0
  272. executorch/backends/arm/operator_support/index_put_support.py +86 -0
  273. executorch/backends/arm/operator_support/index_select_support.py +128 -0
  274. executorch/backends/arm/operator_support/index_tensor_support.py +193 -0
  275. executorch/backends/arm/operator_support/minmax_support.py +59 -0
  276. executorch/backends/arm/operator_support/pool_2d_support.py +266 -0
  277. executorch/backends/arm/operator_support/reduce_sum_support.py +71 -0
  278. executorch/backends/arm/operator_support/right_shift_support.py +47 -0
  279. executorch/backends/arm/operator_support/slice_copy_support.py +119 -0
  280. executorch/backends/arm/operator_support/sym_size_int_support.py +25 -0
  281. executorch/backends/arm/operator_support/to_dim_order_copy_support.py +119 -0
  282. executorch/backends/arm/operator_support/tosa_profile_supported_op_lists.py +285 -0
  283. executorch/backends/arm/operator_support/tosa_supported_operators.py +1154 -0
  284. executorch/backends/arm/operator_support/unfold_copy_support.py +146 -0
  285. executorch/backends/arm/operator_support/upsample_support.py +91 -0
  286. executorch/backends/arm/operator_support/where_support.py +76 -0
  287. executorch/backends/arm/operators/__init__.py +79 -0
  288. executorch/backends/arm/operators/node_visitor.py +261 -0
  289. executorch/backends/arm/operators/op_amax.py +80 -0
  290. executorch/backends/arm/operators/op_amin.py +79 -0
  291. executorch/backends/arm/operators/op_any.py +59 -0
  292. executorch/backends/arm/operators/op_cond_if.py +67 -0
  293. executorch/backends/arm/operators/op_flip.py +77 -0
  294. executorch/backends/arm/operators/op_sum.py +58 -0
  295. executorch/backends/arm/operators/op_to_dim_order_copy.py +47 -0
  296. executorch/backends/arm/operators/op_tosa_abs.py +26 -0
  297. executorch/backends/arm/operators/op_tosa_add.py +26 -0
  298. executorch/backends/arm/operators/op_tosa_argmax.py +63 -0
  299. executorch/backends/arm/operators/op_tosa_avg_pool2d.py +73 -0
  300. executorch/backends/arm/operators/op_tosa_avg_pool2d_adaptive.py +71 -0
  301. executorch/backends/arm/operators/op_tosa_binary_ops.py +93 -0
  302. executorch/backends/arm/operators/op_tosa_bitwise_not.py +30 -0
  303. executorch/backends/arm/operators/op_tosa_cast_to_block_scaled.py +141 -0
  304. executorch/backends/arm/operators/op_tosa_ceil.py +30 -0
  305. executorch/backends/arm/operators/op_tosa_clamp.py +71 -0
  306. executorch/backends/arm/operators/op_tosa_clz.py +30 -0
  307. executorch/backends/arm/operators/op_tosa_concat.py +73 -0
  308. executorch/backends/arm/operators/op_tosa_conv2d.py +140 -0
  309. executorch/backends/arm/operators/op_tosa_conv2d_block_scaled.py +114 -0
  310. executorch/backends/arm/operators/op_tosa_conv3d.py +23 -0
  311. executorch/backends/arm/operators/op_tosa_cos.py +30 -0
  312. executorch/backends/arm/operators/op_tosa_custom.py +186 -0
  313. executorch/backends/arm/operators/op_tosa_depthwise_conv2d.py +25 -0
  314. executorch/backends/arm/operators/op_tosa_eq.py +29 -0
  315. executorch/backends/arm/operators/op_tosa_erf.py +30 -0
  316. executorch/backends/arm/operators/op_tosa_exp.py +30 -0
  317. executorch/backends/arm/operators/op_tosa_fft.py +76 -0
  318. executorch/backends/arm/operators/op_tosa_floor.py +30 -0
  319. executorch/backends/arm/operators/op_tosa_gather.py +90 -0
  320. executorch/backends/arm/operators/op_tosa_ge.py +31 -0
  321. executorch/backends/arm/operators/op_tosa_gt.py +31 -0
  322. executorch/backends/arm/operators/op_tosa_identity.py +38 -0
  323. executorch/backends/arm/operators/op_tosa_log.py +30 -0
  324. executorch/backends/arm/operators/op_tosa_logical_not.py +26 -0
  325. executorch/backends/arm/operators/op_tosa_matmul.py +98 -0
  326. executorch/backends/arm/operators/op_tosa_matmul_t_block_scaled.py +100 -0
  327. executorch/backends/arm/operators/op_tosa_max_pool2d.py +71 -0
  328. executorch/backends/arm/operators/op_tosa_max_pool2d_adaptive.py +60 -0
  329. executorch/backends/arm/operators/op_tosa_maximum.py +27 -0
  330. executorch/backends/arm/operators/op_tosa_minimum.py +27 -0
  331. executorch/backends/arm/operators/op_tosa_mul.py +60 -0
  332. executorch/backends/arm/operators/op_tosa_neg.py +81 -0
  333. executorch/backends/arm/operators/op_tosa_pad.py +78 -0
  334. executorch/backends/arm/operators/op_tosa_pow.py +30 -0
  335. executorch/backends/arm/operators/op_tosa_reciprocal.py +30 -0
  336. executorch/backends/arm/operators/op_tosa_rescale.py +265 -0
  337. executorch/backends/arm/operators/op_tosa_reshape.py +72 -0
  338. executorch/backends/arm/operators/op_tosa_resize.py +57 -0
  339. executorch/backends/arm/operators/op_tosa_reverse.py +64 -0
  340. executorch/backends/arm/operators/op_tosa_rshift_tensor.py +57 -0
  341. executorch/backends/arm/operators/op_tosa_rsqrt.py +30 -0
  342. executorch/backends/arm/operators/op_tosa_scatter.py +77 -0
  343. executorch/backends/arm/operators/op_tosa_shapes.py +257 -0
  344. executorch/backends/arm/operators/op_tosa_sigmoid.py +30 -0
  345. executorch/backends/arm/operators/op_tosa_sin.py +30 -0
  346. executorch/backends/arm/operators/op_tosa_slice.py +69 -0
  347. executorch/backends/arm/operators/op_tosa_sub.py +26 -0
  348. executorch/backends/arm/operators/op_tosa_table.py +68 -0
  349. executorch/backends/arm/operators/op_tosa_tanh.py +30 -0
  350. executorch/backends/arm/operators/op_tosa_tile.py +68 -0
  351. executorch/backends/arm/operators/op_tosa_transpose.py +71 -0
  352. executorch/backends/arm/operators/op_tosa_transpose_conv2d.py +132 -0
  353. executorch/backends/arm/operators/op_where.py +69 -0
  354. executorch/backends/arm/operators/op_while.py +105 -0
  355. executorch/backends/arm/operators/operator_validation_utils.py +209 -0
  356. executorch/backends/arm/operators/ops_quant_utils.py +36 -0
  357. executorch/backends/arm/operators/simple_node_visitor.py +70 -0
  358. executorch/backends/arm/process_node.py +326 -0
  359. executorch/backends/arm/quantizer/__init__.py +37 -0
  360. executorch/backends/arm/quantizer/arm_quantizer.py +1453 -0
  361. executorch/backends/arm/quantizer/arm_quantizer_utils.py +768 -0
  362. executorch/backends/arm/quantizer/quantization_annotator.py +1084 -0
  363. executorch/backends/arm/quantizer/quantization_config.py +424 -0
  364. executorch/backends/arm/quantizer/quantizer_support.py +246 -0
  365. executorch/backends/arm/scripts/aot_arm_compiler.py +1194 -0
  366. executorch/backends/arm/scripts/docgen/docgen.py +271 -0
  367. executorch/backends/arm/scripts/etdump_to_chrome_trace.py +109 -0
  368. executorch/backends/arm/scripts/evaluate_model.py +395 -0
  369. executorch/backends/arm/scripts/generate_grid_sampler_spirv.py +81 -0
  370. executorch/backends/arm/scripts/get_ethosu_scratch_from_pte.py +77 -0
  371. executorch/backends/arm/scripts/public_api_manifest/__init__.py +4 -0
  372. executorch/backends/arm/scripts/public_api_manifest/generate_public_api_manifest.py +155 -0
  373. executorch/backends/arm/scripts/public_api_manifest/validate_public_api_manifest.py +358 -0
  374. executorch/backends/arm/test/_custom_vgf_test_utils.py +999 -0
  375. executorch/backends/arm/test/common.py +357 -0
  376. executorch/backends/arm/test/conftest.py +149 -0
  377. executorch/backends/arm/test/deprecation/test_arm_compile_spec_deprecation.py +46 -0
  378. executorch/backends/arm/test/misc/test_bn_relu_folding_qat.py +124 -0
  379. executorch/backends/arm/test/misc/test_call_operator_submodule.py +72 -0
  380. executorch/backends/arm/test/misc/test_compile_spec.py +125 -0
  381. executorch/backends/arm/test/misc/test_const_shape.py +58 -0
  382. executorch/backends/arm/test/misc/test_conv_relu_residual_add.py +108 -0
  383. executorch/backends/arm/test/misc/test_convolution_operator_support.py +218 -0
  384. executorch/backends/arm/test/misc/test_count_tosa_ops.py +41 -0
  385. executorch/backends/arm/test/misc/test_custom_partition.py +183 -0
  386. executorch/backends/arm/test/misc/test_custom_shader_payload.py +371 -0
  387. executorch/backends/arm/test/misc/test_custom_shader_payloads.py +178 -0
  388. executorch/backends/arm/test/misc/test_debug_feats.py +416 -0
  389. executorch/backends/arm/test/misc/test_debug_hook.py +186 -0
  390. executorch/backends/arm/test/misc/test_dim_order.py +122 -0
  391. executorch/backends/arm/test/misc/test_dw_convs_with_shared_weights.py +46 -0
  392. executorch/backends/arm/test/misc/test_evaluate_model.py +72 -0
  393. executorch/backends/arm/test/misc/test_extract_io_params_tosa.py +115 -0
  394. executorch/backends/arm/test/misc/test_high_rank_permute_view_invariants.py +186 -0
  395. executorch/backends/arm/test/misc/test_int64.py +112 -0
  396. executorch/backends/arm/test/misc/test_lifted_tensor.py +146 -0
  397. executorch/backends/arm/test/misc/test_mixed_fp_bf16_partition.py +123 -0
  398. executorch/backends/arm/test/misc/test_mixed_type_lowering.py +83 -0
  399. executorch/backends/arm/test/misc/test_model_evaluator.py +54 -0
  400. executorch/backends/arm/test/misc/test_multiple_delegates.py +71 -0
  401. executorch/backends/arm/test/misc/test_multiple_outputs.py +70 -0
  402. executorch/backends/arm/test/misc/test_mxfp_conv2d_ao.py +318 -0
  403. executorch/backends/arm/test/misc/test_mxfp_linear_ao.py +207 -0
  404. executorch/backends/arm/test/misc/test_non_persistent_buffers.py +45 -0
  405. executorch/backends/arm/test/misc/test_partition_cycle_detection.py +92 -0
  406. executorch/backends/arm/test/misc/test_partition_decomposed_quantized_ops.py +188 -0
  407. executorch/backends/arm/test/misc/test_pass_pipeline_config.py +210 -0
  408. executorch/backends/arm/test/misc/test_pass_required_order.py +97 -0
  409. executorch/backends/arm/test/misc/test_post_quant_device_switch.py +232 -0
  410. executorch/backends/arm/test/misc/test_process_node.py +172 -0
  411. executorch/backends/arm/test/misc/test_public_api_manifest.py +117 -0
  412. executorch/backends/arm/test/misc/test_qat_training_loop.py +104 -0
  413. executorch/backends/arm/test/misc/test_quant_custom_meta.py +110 -0
  414. executorch/backends/arm/test/misc/test_rescale_range.py +206 -0
  415. executorch/backends/arm/test/misc/test_reshape_permute_5d_regression.py +189 -0
  416. executorch/backends/arm/test/misc/test_runner_utils.py +231 -0
  417. executorch/backends/arm/test/misc/test_save_exported_model.py +64 -0
  418. executorch/backends/arm/test/misc/test_shared_qspecs.py +689 -0
  419. executorch/backends/arm/test/misc/test_tosa_data_layout_visitors.py +61 -0
  420. executorch/backends/arm/test/misc/test_tosa_dialect_activation.py +195 -0
  421. executorch/backends/arm/test/misc/test_tosa_dialect_argmax.py +43 -0
  422. executorch/backends/arm/test/misc/test_tosa_dialect_fft.py +121 -0
  423. executorch/backends/arm/test/misc/test_tosa_dialect_max_pool2d_adaptive.py +128 -0
  424. executorch/backends/arm/test/misc/test_tosa_dialect_scatter.py +38 -0
  425. executorch/backends/arm/test/misc/test_tosa_dialect_unary_ops.py +394 -0
  426. executorch/backends/arm/test/misc/test_tosa_operator_support.py +89 -0
  427. executorch/backends/arm/test/misc/test_tosa_shape_node_visitors.py +583 -0
  428. executorch/backends/arm/test/misc/test_tosa_shape_support.py +170 -0
  429. executorch/backends/arm/test/misc/test_tosa_spec.py +227 -0
  430. executorch/backends/arm/test/misc/test_transpose_counts.py +580 -0
  431. executorch/backends/arm/test/misc/test_validate_public_api_manifest.py +262 -0
  432. executorch/backends/arm/test/misc/test_vgf_backend.py +332 -0
  433. executorch/backends/arm/test/misc/test_vgf_check_env.py +442 -0
  434. executorch/backends/arm/test/misc/test_vgf_smoke.py +61 -0
  435. executorch/backends/arm/test/misc/tosa_dialect/test_data_layout_ops.py +180 -0
  436. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_avg_pool2d_adaptive.py +324 -0
  437. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_conv2d.py +220 -0
  438. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dialect_binary_ops.py +439 -0
  439. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dialect_cast_to_block_scaled.py +106 -0
  440. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dialect_conversion_ops.py +35 -0
  441. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dialect_mxfp_conv2d.py +91 -0
  442. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dialect_mxfp_linear.py +90 -0
  443. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_dw_conv2d.py +227 -0
  444. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_gather.py +44 -0
  445. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_identity.py +34 -0
  446. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_reduction_ops.py +134 -0
  447. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_rescale.py +60 -0
  448. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_resize.py +154 -0
  449. executorch/backends/arm/test/misc/tosa_dialect/test_tosa_shape_ops.py +815 -0
  450. executorch/backends/arm/test/models/Gemma3n/gemma3n_test_config.py +37 -0
  451. executorch/backends/arm/test/models/Gemma3n/test_gemma3nModel.py +811 -0
  452. executorch/backends/arm/test/models/Qwen3_VL/qwen3_vl_test_config.py +64 -0
  453. executorch/backends/arm/test/models/Qwen3_VL/test_qwen3_vl_layers.py +628 -0
  454. executorch/backends/arm/test/models/Qwen3_VL/test_qwen3_vl_model.py +407 -0
  455. executorch/backends/arm/test/models/phi3/phi3_module_test_configs.py +24 -0
  456. executorch/backends/arm/test/models/phi3/test_phi3_layers.py +277 -0
  457. executorch/backends/arm/test/models/stable_diffusion/stable_diffusion_module_test_configs.py +113 -0
  458. executorch/backends/arm/test/models/stable_diffusion/test_CLIPTextModelWithProjection.py +166 -0
  459. executorch/backends/arm/test/models/stable_diffusion/test_SD3Transformer2DModel.py +188 -0
  460. executorch/backends/arm/test/models/stable_diffusion/test_T5EncoderModel.py +165 -0
  461. executorch/backends/arm/test/models/stable_diffusion/test_vae_AutoencoderKL.py +121 -0
  462. executorch/backends/arm/test/models/test_T5ForConditionalGeneration_arm.py +170 -0
  463. executorch/backends/arm/test/models/test_conformer.py +144 -0
  464. executorch/backends/arm/test/models/test_deep_autoencoder.py +123 -0
  465. executorch/backends/arm/test/models/test_deit_tiny_arm.py +122 -0
  466. executorch/backends/arm/test/models/test_dl3_arm.py +120 -0
  467. executorch/backends/arm/test/models/test_ds_cnn.py +97 -0
  468. executorch/backends/arm/test/models/test_inception_v3_arm.py +139 -0
  469. executorch/backends/arm/test/models/test_llama.py +349 -0
  470. executorch/backends/arm/test/models/test_lstm_arm.py +198 -0
  471. executorch/backends/arm/test/models/test_mobilenet_v1_025.py +93 -0
  472. executorch/backends/arm/test/models/test_mobilenet_v2_arm.py +240 -0
  473. executorch/backends/arm/test/models/test_mobilenet_v3_arm.py +138 -0
  474. executorch/backends/arm/test/models/test_nn_functional.py +130 -0
  475. executorch/backends/arm/test/models/test_nn_modules.py +174 -0
  476. executorch/backends/arm/test/models/test_nss.py +148 -0
  477. executorch/backends/arm/test/models/test_residual_conv_block.py +143 -0
  478. executorch/backends/arm/test/models/test_resnet18.py +133 -0
  479. executorch/backends/arm/test/models/test_resnet8.py +91 -0
  480. executorch/backends/arm/test/models/test_swin2sr_arm.py +132 -0
  481. executorch/backends/arm/test/models/test_torch_functions.py +155 -0
  482. executorch/backends/arm/test/models/test_w2l_arm.py +144 -0
  483. executorch/backends/arm/test/modules/test_gru.py +178 -0
  484. executorch/backends/arm/test/modules/test_lstm.py +199 -0
  485. executorch/backends/arm/test/modules/test_rnn.py +242 -0
  486. executorch/backends/arm/test/modules/test_static_cache.py +228 -0
  487. executorch/backends/arm/test/ops/mxfp/__init__.py +4 -0
  488. executorch/backends/arm/test/ops/mxfp/common.py +122 -0
  489. executorch/backends/arm/test/ops/mxfp/test_mxfp_linear.py +437 -0
  490. executorch/backends/arm/test/ops/test_abs.py +117 -0
  491. executorch/backends/arm/test/ops/test_acos.py +121 -0
  492. executorch/backends/arm/test/ops/test_acosh.py +137 -0
  493. executorch/backends/arm/test/ops/test_adaptive_avg_pool2d.py +294 -0
  494. executorch/backends/arm/test/ops/test_add.py +550 -0
  495. executorch/backends/arm/test/ops/test_addmm.py +275 -0
  496. executorch/backends/arm/test/ops/test_alias_copy.py +127 -0
  497. executorch/backends/arm/test/ops/test_amax.py +319 -0
  498. executorch/backends/arm/test/ops/test_amin.py +326 -0
  499. executorch/backends/arm/test/ops/test_any.py +231 -0
  500. executorch/backends/arm/test/ops/test_arange.py +258 -0
  501. executorch/backends/arm/test/ops/test_argmax.py +133 -0
  502. executorch/backends/arm/test/ops/test_as_strided_copy.py +138 -0
  503. executorch/backends/arm/test/ops/test_asin.py +105 -0
  504. executorch/backends/arm/test/ops/test_asinh.py +104 -0
  505. executorch/backends/arm/test/ops/test_at.py +117 -0
  506. executorch/backends/arm/test/ops/test_atan.py +111 -0
  507. executorch/backends/arm/test/ops/test_atanh.py +116 -0
  508. executorch/backends/arm/test/ops/test_avg_pool2d.py +382 -0
  509. executorch/backends/arm/test/ops/test_batch_norm.py +397 -0
  510. executorch/backends/arm/test/ops/test_bitwise.py +769 -0
  511. executorch/backends/arm/test/ops/test_bitwise_not.py +135 -0
  512. executorch/backends/arm/test/ops/test_bmm.py +240 -0
  513. executorch/backends/arm/test/ops/test_cat.py +297 -0
  514. executorch/backends/arm/test/ops/test_ceil.py +152 -0
  515. executorch/backends/arm/test/ops/test_clamp.py +584 -0
  516. executorch/backends/arm/test/ops/test_clone.py +150 -0
  517. executorch/backends/arm/test/ops/test_cond.py +313 -0
  518. executorch/backends/arm/test/ops/test_constant_pad_nd.py +390 -0
  519. executorch/backends/arm/test/ops/test_conv1d.py +433 -0
  520. executorch/backends/arm/test/ops/test_conv2d.py +872 -0
  521. executorch/backends/arm/test/ops/test_conv3d.py +908 -0
  522. executorch/backends/arm/test/ops/test_conv_combos.py +667 -0
  523. executorch/backends/arm/test/ops/test_conv_constant_pad_nd.py +161 -0
  524. executorch/backends/arm/test/ops/test_copy.py +171 -0
  525. executorch/backends/arm/test/ops/test_cos.py +136 -0
  526. executorch/backends/arm/test/ops/test_cosh.py +111 -0
  527. executorch/backends/arm/test/ops/test_cumsum.py +120 -0
  528. executorch/backends/arm/test/ops/test_custom_shader_lowering.py +287 -0
  529. executorch/backends/arm/test/ops/test_depthwise_conv.py +589 -0
  530. executorch/backends/arm/test/ops/test_detach_copy.py +56 -0
  531. executorch/backends/arm/test/ops/test_div.py +209 -0
  532. executorch/backends/arm/test/ops/test_div_tensor_mode.py +235 -0
  533. executorch/backends/arm/test/ops/test_elu.py +241 -0
  534. executorch/backends/arm/test/ops/test_embedding.py +173 -0
  535. executorch/backends/arm/test/ops/test_eq.py +371 -0
  536. executorch/backends/arm/test/ops/test_erf.py +121 -0
  537. executorch/backends/arm/test/ops/test_erfinv.py +121 -0
  538. executorch/backends/arm/test/ops/test_exp.py +172 -0
  539. executorch/backends/arm/test/ops/test_expand.py +153 -0
  540. executorch/backends/arm/test/ops/test_expm1.py +113 -0
  541. executorch/backends/arm/test/ops/test_eye.py +156 -0
  542. executorch/backends/arm/test/ops/test_fft.py +62 -0
  543. executorch/backends/arm/test/ops/test_fill_scalar.py +108 -0
  544. executorch/backends/arm/test/ops/test_flip.py +226 -0
  545. executorch/backends/arm/test/ops/test_floor.py +148 -0
  546. executorch/backends/arm/test/ops/test_floor_div.py +162 -0
  547. executorch/backends/arm/test/ops/test_full.py +257 -0
  548. executorch/backends/arm/test/ops/test_gather.py +259 -0
  549. executorch/backends/arm/test/ops/test_ge.py +379 -0
  550. executorch/backends/arm/test/ops/test_gelu.py +215 -0
  551. executorch/backends/arm/test/ops/test_glu.py +134 -0
  552. executorch/backends/arm/test/ops/test_grid_sampler.py +62 -0
  553. executorch/backends/arm/test/ops/test_group_norm.py +175 -0
  554. executorch/backends/arm/test/ops/test_gt.py +383 -0
  555. executorch/backends/arm/test/ops/test_hardsigmoid.py +114 -0
  556. executorch/backends/arm/test/ops/test_hardswish.py +104 -0
  557. executorch/backends/arm/test/ops/test_hardtanh.py +113 -0
  558. executorch/backends/arm/test/ops/test_index_copy.py +216 -0
  559. executorch/backends/arm/test/ops/test_index_put.py +519 -0
  560. executorch/backends/arm/test/ops/test_index_select.py +231 -0
  561. executorch/backends/arm/test/ops/test_index_tensor.py +624 -0
  562. executorch/backends/arm/test/ops/test_layer_norm.py +213 -0
  563. executorch/backends/arm/test/ops/test_le.py +355 -0
  564. executorch/backends/arm/test/ops/test_leaky_relu.py +121 -0
  565. executorch/backends/arm/test/ops/test_linalg_vector_norm.py +161 -0
  566. executorch/backends/arm/test/ops/test_linear.py +409 -0
  567. executorch/backends/arm/test/ops/test_log.py +126 -0
  568. executorch/backends/arm/test/ops/test_log10.py +87 -0
  569. executorch/backends/arm/test/ops/test_log1p.py +78 -0
  570. executorch/backends/arm/test/ops/test_logical.py +429 -0
  571. executorch/backends/arm/test/ops/test_logit.py +122 -0
  572. executorch/backends/arm/test/ops/test_logsoftmax.py +124 -0
  573. executorch/backends/arm/test/ops/test_lshift.py +220 -0
  574. executorch/backends/arm/test/ops/test_lt.py +356 -0
  575. executorch/backends/arm/test/ops/test_masked_fill.py +171 -0
  576. executorch/backends/arm/test/ops/test_matmul.py +557 -0
  577. executorch/backends/arm/test/ops/test_max_pool.py +449 -0
  578. executorch/backends/arm/test/ops/test_max_pool1d.py +164 -0
  579. executorch/backends/arm/test/ops/test_maximum.py +195 -0
  580. executorch/backends/arm/test/ops/test_mean_dim.py +487 -0
  581. executorch/backends/arm/test/ops/test_minimum.py +195 -0
  582. executorch/backends/arm/test/ops/test_mm.py +93 -0
  583. executorch/backends/arm/test/ops/test_mul.py +416 -0
  584. executorch/backends/arm/test/ops/test_multihead_attention.py +131 -0
  585. executorch/backends/arm/test/ops/test_mxfp_conv2d.py +445 -0
  586. executorch/backends/arm/test/ops/test_ne.py +253 -0
  587. executorch/backends/arm/test/ops/test_neg.py +166 -0
  588. executorch/backends/arm/test/ops/test_ones.py +152 -0
  589. executorch/backends/arm/test/ops/test_permute.py +263 -0
  590. executorch/backends/arm/test/ops/test_pixel_shuffling.py +235 -0
  591. executorch/backends/arm/test/ops/test_pow.py +240 -0
  592. executorch/backends/arm/test/ops/test_reciprocal.py +176 -0
  593. executorch/backends/arm/test/ops/test_relu.py +166 -0
  594. executorch/backends/arm/test/ops/test_remainder.py +208 -0
  595. executorch/backends/arm/test/ops/test_repeat.py +271 -0
  596. executorch/backends/arm/test/ops/test_round.py +114 -0
  597. executorch/backends/arm/test/ops/test_rshift.py +226 -0
  598. executorch/backends/arm/test/ops/test_rsqrt.py +212 -0
  599. executorch/backends/arm/test/ops/test_rsub.py +121 -0
  600. executorch/backends/arm/test/ops/test_scalar_tensor.py +135 -0
  601. executorch/backends/arm/test/ops/test_scalars.py +396 -0
  602. executorch/backends/arm/test/ops/test_sdpa.py +154 -0
  603. executorch/backends/arm/test/ops/test_select.py +204 -0
  604. executorch/backends/arm/test/ops/test_select_scatter.py +188 -0
  605. executorch/backends/arm/test/ops/test_sigmoid.py +358 -0
  606. executorch/backends/arm/test/ops/test_sigmoid_32bit.py +219 -0
  607. executorch/backends/arm/test/ops/test_sign.py +111 -0
  608. executorch/backends/arm/test/ops/test_silu.py +193 -0
  609. executorch/backends/arm/test/ops/test_sin.py +130 -0
  610. executorch/backends/arm/test/ops/test_sinh.py +103 -0
  611. executorch/backends/arm/test/ops/test_slice.py +410 -0
  612. executorch/backends/arm/test/ops/test_slice_scatter.py +342 -0
  613. executorch/backends/arm/test/ops/test_softmax.py +239 -0
  614. executorch/backends/arm/test/ops/test_split.py +347 -0
  615. executorch/backends/arm/test/ops/test_sqrt.py +112 -0
  616. executorch/backends/arm/test/ops/test_squeeze.py +318 -0
  617. executorch/backends/arm/test/ops/test_stack.py +150 -0
  618. executorch/backends/arm/test/ops/test_sub.py +547 -0
  619. executorch/backends/arm/test/ops/test_sum.py +303 -0
  620. executorch/backends/arm/test/ops/test_t_copy.py +115 -0
  621. executorch/backends/arm/test/ops/test_tan.py +146 -0
  622. executorch/backends/arm/test/ops/test_tanh.py +198 -0
  623. executorch/backends/arm/test/ops/test_to_copy.py +655 -0
  624. executorch/backends/arm/test/ops/test_transpose_conv2d.py +670 -0
  625. executorch/backends/arm/test/ops/test_transpose_copy.py +114 -0
  626. executorch/backends/arm/test/ops/test_tril.py +177 -0
  627. executorch/backends/arm/test/ops/test_unary_combos.py +143 -0
  628. executorch/backends/arm/test/ops/test_unbind.py +82 -0
  629. executorch/backends/arm/test/ops/test_unflatten.py +110 -0
  630. executorch/backends/arm/test/ops/test_unfold_copy.py +262 -0
  631. executorch/backends/arm/test/ops/test_unsqueeze.py +107 -0
  632. executorch/backends/arm/test/ops/test_upsample_bilinear2d.py +717 -0
  633. executorch/backends/arm/test/ops/test_upsample_nearest2d.py +656 -0
  634. executorch/backends/arm/test/ops/test_var.py +441 -0
  635. executorch/backends/arm/test/ops/test_view.py +261 -0
  636. executorch/backends/arm/test/ops/test_where.py +319 -0
  637. executorch/backends/arm/test/ops/test_while.py +311 -0
  638. executorch/backends/arm/test/ops/test_zeros.py +158 -0
  639. executorch/backends/arm/test/passes/test_arm_op_targeted_pass.py +150 -0
  640. executorch/backends/arm/test/passes/test_arm_pass_manager_insertions.py +288 -0
  641. executorch/backends/arm/test/passes/test_broadcast_args_pass.py +57 -0
  642. executorch/backends/arm/test/passes/test_canonicalize_view_copy_permute_pass.py +573 -0
  643. executorch/backends/arm/test/passes/test_cast_int64_pass.py +81 -0
  644. executorch/backends/arm/test/passes/test_convert_expand_copy_to_repeat.py +49 -0
  645. executorch/backends/arm/test/passes/test_convert_int64_const_ops_to_int32.py +527 -0
  646. executorch/backends/arm/test/passes/test_convert_int64_output_ops_to_int32.py +173 -0
  647. executorch/backends/arm/test/passes/test_convert_permute_singleton_to_view_pass.py +100 -0
  648. executorch/backends/arm/test/passes/test_convert_split_to_slice.py +71 -0
  649. executorch/backends/arm/test/passes/test_convert_to_clamp.py +92 -0
  650. executorch/backends/arm/test/passes/test_custom_op_rewrite.py +257 -0
  651. executorch/backends/arm/test/passes/test_decompose_adaptive_avg_pool2d_pass.py +191 -0
  652. executorch/backends/arm/test/passes/test_decompose_adaptive_max_pool2d_pass.py +80 -0
  653. executorch/backends/arm/test/passes/test_decompose_avg_pool2d_pass.py +80 -0
  654. executorch/backends/arm/test/passes/test_decompose_cosine_similarity_pass.py +58 -0
  655. executorch/backends/arm/test/passes/test_decompose_div_pass.py +66 -0
  656. executorch/backends/arm/test/passes/test_decompose_dynamic_adaptive_avg_pool2d_pass.py +93 -0
  657. executorch/backends/arm/test/passes/test_decompose_dynamic_full_pass.py +176 -0
  658. executorch/backends/arm/test/passes/test_decompose_einsum_pass.py +73 -0
  659. executorch/backends/arm/test/passes/test_decompose_int_pow_pass.py +107 -0
  660. executorch/backends/arm/test/passes/test_decompose_layernorm_pass.py +67 -0
  661. executorch/backends/arm/test/passes/test_decompose_linalg_vector_norm_pass.py +109 -0
  662. executorch/backends/arm/test/passes/test_decompose_linear_pass.py +54 -0
  663. executorch/backends/arm/test/passes/test_decompose_meandim_pass.py +133 -0
  664. executorch/backends/arm/test/passes/test_decompose_quant_nodes.py +44 -0
  665. executorch/backends/arm/test/passes/test_decompose_select_pass.py +73 -0
  666. executorch/backends/arm/test/passes/test_decompose_softmax_pass.py +132 -0
  667. executorch/backends/arm/test/passes/test_decompose_tosa_unsupported_clamp_pass.py +73 -0
  668. executorch/backends/arm/test/passes/test_decompose_unsupported_bilinear_resize_pass.py +249 -0
  669. executorch/backends/arm/test/passes/test_decompose_var_pass.py +85 -0
  670. executorch/backends/arm/test/passes/test_decorate_fp32_to_int32_casting_pass.py +87 -0
  671. executorch/backends/arm/test/passes/test_deduplicate_get_attr_pass.py +37 -0
  672. executorch/backends/arm/test/passes/test_dim_maps.py +708 -0
  673. executorch/backends/arm/test/passes/test_ensure_unique_output_nodes_pass.py +64 -0
  674. executorch/backends/arm/test/passes/test_fold_qdq_pass.py +51 -0
  675. executorch/backends/arm/test/passes/test_fold_scalar_mul_into_conv_pass.py +196 -0
  676. executorch/backends/arm/test/passes/test_fuse_batchnorm_pass.py +192 -0
  677. executorch/backends/arm/test/passes/test_fuse_consecutive_concat_shapes.py +110 -0
  678. executorch/backends/arm/test/passes/test_fuse_consecutive_slices_pass.py +110 -0
  679. executorch/backends/arm/test/passes/test_fuse_constant_ops_pass.py +504 -0
  680. executorch/backends/arm/test/passes/test_fuse_duplicate_users_pass.py +169 -0
  681. executorch/backends/arm/test/passes/test_fuse_equal_placeholders_ops_pass.py +170 -0
  682. executorch/backends/arm/test/passes/test_fuse_identical_input_transforms_pass.py +860 -0
  683. executorch/backends/arm/test/passes/test_fuse_quantized_activation_pass.py +48 -0
  684. executorch/backends/arm/test/passes/test_fuse_view_copy.py +82 -0
  685. executorch/backends/arm/test/passes/test_insert_data_layout_casts_pass.py +140 -0
  686. executorch/backends/arm/test/passes/test_insert_dynamic_padding_pass.py +124 -0
  687. executorch/backends/arm/test/passes/test_insert_int32_casts_after_int64_placeholders_pass.py +109 -0
  688. executorch/backends/arm/test/passes/test_insert_rescale_i32_pass.py +107 -0
  689. executorch/backends/arm/test/passes/test_insert_table_ops_pass.py +100 -0
  690. executorch/backends/arm/test/passes/test_int32_cast_embedding_pass.py +46 -0
  691. executorch/backends/arm/test/passes/test_ioquantization_pass.py +617 -0
  692. executorch/backends/arm/test/passes/test_permute_view_swap.py +230 -0
  693. executorch/backends/arm/test/passes/test_promote_bool_operands_pass.py +101 -0
  694. executorch/backends/arm/test/passes/test_propagate_permutes_views_pass.py +1515 -0
  695. executorch/backends/arm/test/passes/test_rank_match_after_propagation.py +51 -0
  696. executorch/backends/arm/test/passes/test_remove_clone_pass.py +43 -0
  697. executorch/backends/arm/test/passes/test_remove_permutes_around_elementwise_tosa_ops.py +196 -0
  698. executorch/backends/arm/test/passes/test_replace_inf_values_pass.py +115 -0
  699. executorch/backends/arm/test/passes/test_rescale_optimization.py +244 -0
  700. executorch/backends/arm/test/passes/test_rescale_pass.py +95 -0
  701. executorch/backends/arm/test/passes/test_rewrite_adaptive_avg_pool2d_pass.py +328 -0
  702. executorch/backends/arm/test/passes/test_rewrite_avg_pool2d_pass.py +122 -0
  703. executorch/backends/arm/test/passes/test_rewrite_conv_pass.py +476 -0
  704. executorch/backends/arm/test/passes/test_rewrite_grid_sampler_to_tosa_custom_pass.py +455 -0
  705. executorch/backends/arm/test/passes/test_rewrite_le_lt_to_ge_gt_pass.py +51 -0
  706. executorch/backends/arm/test/passes/test_rewrite_max_pool2d_pass.py +198 -0
  707. executorch/backends/arm/test/passes/test_rewrite_mxfp_conv2d_pass.py +195 -0
  708. executorch/backends/arm/test/passes/test_rewrite_mxfp_linear_pass.py +177 -0
  709. executorch/backends/arm/test/passes/test_rewrite_upsample_pass.py +44 -0
  710. executorch/backends/arm/test/passes/test_size_adjust_input_pass.py +459 -0
  711. executorch/backends/arm/test/passes/test_symbolic_to_tosa_shape_pass.py +101 -0
  712. executorch/backends/arm/test/passes/test_symbolic_value_range.py +83 -0
  713. executorch/backends/arm/test/passes/test_unsqueeze_before_repeat_pass.py +59 -0
  714. executorch/backends/arm/test/passes/test_view_permute_swap.py +227 -0
  715. executorch/backends/arm/test/public_api_bc/run_public_api_bc_scenarios.py +104 -0
  716. executorch/backends/arm/test/public_api_bc/test_ethosu_flow.py +129 -0
  717. executorch/backends/arm/test/public_api_bc/test_vgf_fp_flow.py +75 -0
  718. executorch/backends/arm/test/public_api_bc/test_vgf_int_flow.py +113 -0
  719. executorch/backends/arm/test/quantizer/test_conv_relu_fusing.py +118 -0
  720. executorch/backends/arm/test/quantizer/test_generic_annotater.py +251 -0
  721. executorch/backends/arm/test/quantizer/test_partial_quantization.py +226 -0
  722. executorch/backends/arm/test/quantizer/test_preserve_kwargs.py +55 -0
  723. executorch/backends/arm/test/quantizer/test_selective_quantization.py +349 -0
  724. executorch/backends/arm/test/quantizer/test_set_module_name.py +158 -0
  725. executorch/backends/arm/test/quantizer/test_tosa_quantizer_validate.py +55 -0
  726. executorch/backends/arm/test/quantizer/test_uint8_io_quantization.py +177 -0
  727. executorch/backends/arm/test/runner_utils.py +1170 -0
  728. executorch/backends/arm/test/runtime/_vgf_runtime_test_utils.py +350 -0
  729. executorch/backends/arm/test/runtime/test_vgf_aliasing_runtime.py +133 -0
  730. executorch/backends/arm/test/runtime/test_vgf_combinations_runtime.py +465 -0
  731. executorch/backends/arm/test/runtime/test_vgf_multi_segment_runtime.py +153 -0
  732. executorch/backends/arm/test/runtime/test_vgf_sampler_image_runtime.py +110 -0
  733. executorch/backends/arm/test/runtime/test_vgf_tensor_buffer_runtime.py +165 -0
  734. executorch/backends/arm/test/test_memory_allocator_log.py +170 -0
  735. executorch/backends/arm/test/test_model.py +368 -0
  736. executorch/backends/arm/test/tester/__init__.py +6 -0
  737. executorch/backends/arm/test/tester/analyze_output_utils.py +473 -0
  738. executorch/backends/arm/test/tester/arm_tester.py +1408 -0
  739. executorch/backends/arm/test/tester/quantize.py +63 -0
  740. executorch/backends/arm/test/tester/serialize.py +96 -0
  741. executorch/backends/arm/test/tester/test_pipeline.py +1369 -0
  742. executorch/backends/arm/tosa/__init__.py +16 -0
  743. executorch/backends/arm/tosa/backend.py +491 -0
  744. executorch/backends/arm/tosa/cast_support.py +175 -0
  745. executorch/backends/arm/tosa/compile_spec.py +44 -0
  746. executorch/backends/arm/tosa/dialect/__init__.py +33 -0
  747. executorch/backends/arm/tosa/dialect/lib.py +83 -0
  748. executorch/backends/arm/tosa/dialect/ops/_common.py +46 -0
  749. executorch/backends/arm/tosa/dialect/ops/activation.py +138 -0
  750. executorch/backends/arm/tosa/dialect/ops/argmax.py +78 -0
  751. executorch/backends/arm/tosa/dialect/ops/avg_pool2d.py +173 -0
  752. executorch/backends/arm/tosa/dialect/ops/avg_pool2d_adaptive.py +82 -0
  753. executorch/backends/arm/tosa/dialect/ops/binary_elementwise.py +336 -0
  754. executorch/backends/arm/tosa/dialect/ops/conv2d.py +139 -0
  755. executorch/backends/arm/tosa/dialect/ops/conv2d_block_scaled.py +213 -0
  756. executorch/backends/arm/tosa/dialect/ops/conv3d.py +69 -0
  757. executorch/backends/arm/tosa/dialect/ops/conversion_ops.py +213 -0
  758. executorch/backends/arm/tosa/dialect/ops/custom.py +159 -0
  759. executorch/backends/arm/tosa/dialect/ops/data_layout_ops.py +274 -0
  760. executorch/backends/arm/tosa/dialect/ops/depthwise_conv2d.py +49 -0
  761. executorch/backends/arm/tosa/dialect/ops/fft.py +144 -0
  762. executorch/backends/arm/tosa/dialect/ops/gather.py +101 -0
  763. executorch/backends/arm/tosa/dialect/ops/identity.py +16 -0
  764. executorch/backends/arm/tosa/dialect/ops/matmul.py +76 -0
  765. executorch/backends/arm/tosa/dialect/ops/matmul_t_block_scaled.py +162 -0
  766. executorch/backends/arm/tosa/dialect/ops/max_pool2d.py +128 -0
  767. executorch/backends/arm/tosa/dialect/ops/max_pool2d_adaptive.py +70 -0
  768. executorch/backends/arm/tosa/dialect/ops/reduction_ops.py +186 -0
  769. executorch/backends/arm/tosa/dialect/ops/resize.py +116 -0
  770. executorch/backends/arm/tosa/dialect/ops/scatter.py +23 -0
  771. executorch/backends/arm/tosa/dialect/ops/shape_ops.py +506 -0
  772. executorch/backends/arm/tosa/dialect/ops/table.py +51 -0
  773. executorch/backends/arm/tosa/dialect/ops/transpose_conv2d.py +58 -0
  774. executorch/backends/arm/tosa/dialect/ops/unary_elementwise.py +224 -0
  775. executorch/backends/arm/tosa/dialect/ops_registration.py +92 -0
  776. executorch/backends/arm/tosa/dialect/real_impl.py +174 -0
  777. executorch/backends/arm/tosa/dialect/shape.py +21 -0
  778. executorch/backends/arm/tosa/mapping.py +335 -0
  779. executorch/backends/arm/tosa/partitioner.py +772 -0
  780. executorch/backends/arm/tosa/resize_utils.py +341 -0
  781. executorch/backends/arm/tosa/schemas/__init__.py +4 -0
  782. executorch/backends/arm/tosa/schemas/tosa_1.0.fbs +559 -0
  783. executorch/backends/arm/tosa/schemas/tosa_1.1.fbs +701 -0
  784. executorch/backends/arm/tosa/specification.py +514 -0
  785. executorch/backends/arm/tosa/utils.py +173 -0
  786. executorch/backends/arm/util/_factory.py +59 -0
  787. executorch/backends/arm/util/arm_model_evaluator.py +254 -0
  788. executorch/backends/arm/vgf/__init__.py +11 -0
  789. executorch/backends/arm/vgf/_passes/__init__.py +11 -0
  790. executorch/backends/arm/vgf/_passes/insert_grid_sampler_grid_dequant_pass.py +151 -0
  791. executorch/backends/arm/vgf/_passes/rewrite_grid_sampler_to_tosa_custom.py +458 -0
  792. executorch/backends/arm/vgf/backend.py +393 -0
  793. executorch/backends/arm/vgf/check_env.py +678 -0
  794. executorch/backends/arm/vgf/compile_spec.py +108 -0
  795. executorch/backends/arm/vgf/model_converter.py +229 -0
  796. executorch/backends/arm/vgf/partitioner.py +44 -0
  797. executorch/backends/arm/vgf/shaders/__init__.py +4 -0
  798. executorch/backends/arm/vgf/shaders/grid_sampler.glsl +41 -0
  799. executorch/backends/arm/vgf/shaders/grid_sampler.py +340 -0
  800. executorch/backends/arm/vgf/shaders/grid_sampler.spirv.b64 +1 -0
  801. executorch/backends/arm/vgf/shaders/grid_sampler_sampler.glsl +35 -0
  802. executorch/backends/arm/vgf/shaders/grid_sampler_sampler.spirv.b64 +1 -0
  803. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_align_corners.glsl +40 -0
  804. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_align_corners.spirv.b64 +1 -0
  805. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_int8.glsl +44 -0
  806. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_int8.spirv.b64 +1 -0
  807. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_int8_align_corners.glsl +49 -0
  808. executorch/backends/arm/vgf/shaders/grid_sampler_sampler_int8_align_corners.spirv.b64 +1 -0
  809. executorch/backends/cadence/aot/__init__.py +5 -0
  810. executorch/backends/cadence/aot/compiler.py +514 -0
  811. executorch/backends/cadence/aot/compiler_funcs.py +739 -0
  812. executorch/backends/cadence/aot/compiler_utils.py +271 -0
  813. executorch/backends/cadence/aot/decompose_ops.py +120 -0
  814. executorch/backends/cadence/aot/export_example.py +123 -0
  815. executorch/backends/cadence/aot/functions.yaml +505 -0
  816. executorch/backends/cadence/aot/functions_fusion_g3.yaml +191 -0
  817. executorch/backends/cadence/aot/functions_hifi.yaml +590 -0
  818. executorch/backends/cadence/aot/functions_vision.yaml +275 -0
  819. executorch/backends/cadence/aot/fuse_ops.py +1111 -0
  820. executorch/backends/cadence/aot/graph_builder.py +13 -0
  821. executorch/backends/cadence/aot/memory_constraints.py +766 -0
  822. executorch/backends/cadence/aot/memory_planning.py +472 -0
  823. executorch/backends/cadence/aot/memory_planning_algo.py +341 -0
  824. executorch/backends/cadence/aot/ops_registrations.py +3349 -0
  825. executorch/backends/cadence/aot/pass_utils.py +231 -0
  826. executorch/backends/cadence/aot/passes.py +140 -0
  827. executorch/backends/cadence/aot/program_builder.py +9 -0
  828. executorch/backends/cadence/aot/quantizer/fusion_pass.py +843 -0
  829. executorch/backends/cadence/aot/quantizer/passes/fuse_ops.py +391 -0
  830. executorch/backends/cadence/aot/quantizer/pattern_utils.py +207 -0
  831. executorch/backends/cadence/aot/quantizer/patterns.py +1570 -0
  832. executorch/backends/cadence/aot/quantizer/quantizer.py +490 -0
  833. executorch/backends/cadence/aot/quantizer/utils.py +286 -0
  834. executorch/backends/cadence/aot/ref_implementations.py +2832 -0
  835. executorch/backends/cadence/aot/remove_ops.py +986 -0
  836. executorch/backends/cadence/aot/reorder_ops.py +1279 -0
  837. executorch/backends/cadence/aot/replace_ops.py +2646 -0
  838. executorch/backends/cadence/aot/simplify_ops.py +221 -0
  839. executorch/backends/cadence/aot/tests/test_decompose_ops_passes.py +80 -0
  840. executorch/backends/cadence/aot/tests/test_fusion_ops_passes.py +2030 -0
  841. executorch/backends/cadence/aot/tests/test_graph_builder.py +101 -0
  842. executorch/backends/cadence/aot/tests/test_idma_ops.py +31 -0
  843. executorch/backends/cadence/aot/tests/test_memory_passes.py +1367 -0
  844. executorch/backends/cadence/aot/tests/test_pass_filter.py +170 -0
  845. executorch/backends/cadence/aot/tests/test_pass_utils.py +85 -0
  846. executorch/backends/cadence/aot/tests/test_program_builder.py +222 -0
  847. executorch/backends/cadence/aot/tests/test_quantizer_ops.py +975 -0
  848. executorch/backends/cadence/aot/tests/test_ref_implementations.py +3633 -0
  849. executorch/backends/cadence/aot/tests/test_remove_bn_tracking_pass.py +209 -0
  850. executorch/backends/cadence/aot/tests/test_remove_ops_passes.py +1390 -0
  851. executorch/backends/cadence/aot/tests/test_reorder_ops_passes.py +1554 -0
  852. executorch/backends/cadence/aot/tests/test_replace_ops_passes.py +3660 -0
  853. executorch/backends/cadence/aot/tests/test_simplify_ops_passes.py +160 -0
  854. executorch/backends/cadence/aot/tests/test_to_out_var_pass.py +98 -0
  855. executorch/backends/cadence/aot/tests/test_type_dispatch_passes.py +424 -0
  856. executorch/backends/cadence/aot/to_out_var_pass.py +24 -0
  857. executorch/backends/cadence/aot/type_dispatch.py +184 -0
  858. executorch/backends/cadence/aot/typing_stubs.py +22 -0
  859. executorch/backends/cadence/aot/utils.py +372 -0
  860. executorch/backends/cadence/runtime/__init__.py +13 -0
  861. executorch/backends/cadence/runtime/etdump.py +173 -0
  862. executorch/backends/cadence/runtime/executor.py +208 -0
  863. executorch/backends/cadence/runtime/runtime.py +167 -0
  864. executorch/backends/cadence/runtime/utils.py +100 -0
  865. executorch/backends/cadence/utils/FACTO/calibrator/__init__.py +0 -0
  866. executorch/backends/cadence/utils/FACTO/calibrator/runner.py +209 -0
  867. executorch/backends/cadence/utils/FACTO/examples/config_example.py +96 -0
  868. executorch/backends/cadence/utils/FACTO/examples/example.py +59 -0
  869. executorch/backends/cadence/utils/FACTO/examples/minimal_example.py +21 -0
  870. executorch/backends/cadence/utils/FACTO/examples/minimal_modelgen_example.py +23 -0
  871. executorch/backends/cadence/utils/FACTO/examples/random_seed.py +35 -0
  872. executorch/backends/cadence/utils/FACTO/facto/__init__.py +0 -0
  873. executorch/backends/cadence/utils/FACTO/facto/inputgen/__init__.py +0 -0
  874. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/__init__.py +0 -0
  875. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/engine.py +129 -0
  876. executorch/backends/cadence/utils/FACTO/facto/inputgen/argtuple/gen.py +245 -0
  877. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/__init__.py +0 -0
  878. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/engine.py +303 -0
  879. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/gen.py +320 -0
  880. executorch/backends/cadence/utils/FACTO/facto/inputgen/argument/type.py +148 -0
  881. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/__init__.py +0 -0
  882. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/engine.py +58 -0
  883. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/model.py +133 -0
  884. executorch/backends/cadence/utils/FACTO/facto/inputgen/attribute/solve.py +125 -0
  885. executorch/backends/cadence/utils/FACTO/facto/inputgen/specs/__init__.py +0 -0
  886. executorch/backends/cadence/utils/FACTO/facto/inputgen/specs/model.py +149 -0
  887. executorch/backends/cadence/utils/FACTO/facto/inputgen/utils/__init__.py +0 -0
  888. executorch/backends/cadence/utils/FACTO/facto/inputgen/utils/config.py +44 -0
  889. executorch/backends/cadence/utils/FACTO/facto/inputgen/utils/random_manager.py +36 -0
  890. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/__init__.py +0 -0
  891. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/constants.py +9 -0
  892. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/gen.py +283 -0
  893. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/solve.py +154 -0
  894. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/space.py +450 -0
  895. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/type.py +105 -0
  896. executorch/backends/cadence/utils/FACTO/facto/inputgen/variable/utils.py +30 -0
  897. executorch/backends/cadence/utils/FACTO/facto/modelgen/__init__.py +0 -0
  898. executorch/backends/cadence/utils/FACTO/facto/modelgen/gen.py +251 -0
  899. executorch/backends/cadence/utils/FACTO/facto/specdb/__init__.py +0 -0
  900. executorch/backends/cadence/utils/FACTO/facto/specdb/db.py +5973 -0
  901. executorch/backends/cadence/utils/FACTO/facto/specdb/default.py +36 -0
  902. executorch/backends/cadence/utils/FACTO/facto/specdb/function.py +585 -0
  903. executorch/backends/cadence/utils/FACTO/facto/utils/__init__.py +0 -0
  904. executorch/backends/cadence/utils/FACTO/facto/utils/dtypes.py +24 -0
  905. executorch/backends/cadence/utils/FACTO/facto/utils/ops.py +48 -0
  906. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argtuple_engine.py +53 -0
  907. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argtuple_generator.py +71 -0
  908. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_attributes.py +78 -0
  909. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_generator.py +98 -0
  910. executorch/backends/cadence/utils/FACTO/test/inputgen/test_argument_types.py +28 -0
  911. executorch/backends/cadence/utils/FACTO/test/inputgen/test_attribute_engine.py +87 -0
  912. executorch/backends/cadence/utils/FACTO/test/inputgen/test_attribute_solver.py +98 -0
  913. executorch/backends/cadence/utils/FACTO/test/inputgen/test_config.py +269 -0
  914. executorch/backends/cadence/utils/FACTO/test/inputgen/test_constraints.py +27 -0
  915. executorch/backends/cadence/utils/FACTO/test/inputgen/test_meta_arg_engine.py +85 -0
  916. executorch/backends/cadence/utils/FACTO/test/inputgen/test_specs.py +48 -0
  917. executorch/backends/cadence/utils/FACTO/test/inputgen/test_structural_engine.py +32 -0
  918. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_generation.py +80 -0
  919. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_solving.py +193 -0
  920. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_space.py +231 -0
  921. executorch/backends/cadence/utils/FACTO/test/inputgen/test_variable_types.py +71 -0
  922. executorch/backends/cadence/utils/FACTO/test/specdb/__init__.py +1 -0
  923. executorch/backends/cadence/utils/FACTO/test/specdb/base_model_test.py +78 -0
  924. executorch/backends/cadence/utils/FACTO/test/specdb/base_test.py +82 -0
  925. executorch/backends/cadence/utils/FACTO/test/specdb/test_executorch_portable.py +340 -0
  926. executorch/backends/cadence/utils/FACTO/test/specdb/test_model_cpu.py +70 -0
  927. executorch/backends/cadence/utils/FACTO/test/specdb/test_specdb_cpu.py +67 -0
  928. executorch/backends/cadence/utils/FACTO/test/specdb/test_specdb_mps.py +111 -0
  929. executorch/backends/cadence/utils/facto_util.py +612 -0
  930. executorch/backends/cadence/utils/gen_header.py +49 -0
  931. executorch/backends/cadence/utils/post_compilation.py +173 -0
  932. executorch/backends/cortex_m/library/__init__.py +4 -0
  933. executorch/backends/cortex_m/library/_cmsis_nn/cmsis_nn.cp314-win_amd64.pyd +0 -0
  934. executorch/backends/cortex_m/library/cmsis_nn.py +281 -0
  935. executorch/backends/cortex_m/ops/operators.py +1438 -0
  936. executorch/backends/cortex_m/ops/operators.yaml +108 -0
  937. executorch/backends/cortex_m/passes/__init__.py +15 -0
  938. executorch/backends/cortex_m/passes/activation_fusion_pass.py +200 -0
  939. executorch/backends/cortex_m/passes/aten_to_cortex_m_pass.py +1156 -0
  940. executorch/backends/cortex_m/passes/clamp_hardswish_pass.py +37 -0
  941. executorch/backends/cortex_m/passes/cortex_m_pass.py +35 -0
  942. executorch/backends/cortex_m/passes/cortex_m_pass_manager.py +122 -0
  943. executorch/backends/cortex_m/passes/decompose_hardswish_pass.py +128 -0
  944. executorch/backends/cortex_m/passes/decompose_mean_pass.py +45 -0
  945. executorch/backends/cortex_m/passes/matmul_to_bmm_pass.py +81 -0
  946. executorch/backends/cortex_m/passes/passes_utils.py +350 -0
  947. executorch/backends/cortex_m/passes/quantized_clamp_activation_pass.py +129 -0
  948. executorch/backends/cortex_m/passes/replace_quant_nodes_pass.py +76 -0
  949. executorch/backends/cortex_m/passes/scratch_buffer_sizes.py +290 -0
  950. executorch/backends/cortex_m/quantizer/__init__.py +19 -0
  951. executorch/backends/cortex_m/quantizer/node_finders.py +153 -0
  952. executorch/backends/cortex_m/quantizer/pattern_checkers.py +348 -0
  953. executorch/backends/cortex_m/quantizer/pattern_matcher.py +214 -0
  954. executorch/backends/cortex_m/quantizer/quantization_configs.py +205 -0
  955. executorch/backends/cortex_m/quantizer/quantizer.py +89 -0
  956. executorch/backends/cortex_m/quantizer/quantizer_support.py +172 -0
  957. executorch/backends/cortex_m/quantizer_reporter.py +443 -0
  958. executorch/backends/cortex_m/target_config.py +117 -0
  959. executorch/backends/cortex_m/test/conftest.py +97 -0
  960. executorch/backends/cortex_m/test/misc/test_cmsis_pybind.py +132 -0
  961. executorch/backends/cortex_m/test/misc/test_node_finders.py +186 -0
  962. executorch/backends/cortex_m/test/misc/test_pattern_matcher.py +254 -0
  963. executorch/backends/cortex_m/test/misc/test_portable_int8.py +784 -0
  964. executorch/backends/cortex_m/test/misc/test_quantization.py +411 -0
  965. executorch/backends/cortex_m/test/misc/test_quantizer_reporter.py +245 -0
  966. executorch/backends/cortex_m/test/misc/test_target_config.py +117 -0
  967. executorch/backends/cortex_m/test/models/__init__.py +4 -0
  968. executorch/backends/cortex_m/test/models/test_deep_autoencoder.py +44 -0
  969. executorch/backends/cortex_m/test/models/test_ds_cnn.py +57 -0
  970. executorch/backends/cortex_m/test/models/test_mobilenet_v1_025.py +54 -0
  971. executorch/backends/cortex_m/test/models/test_mobilenet_v2.py +91 -0
  972. executorch/backends/cortex_m/test/models/test_mobilenet_v3.py +102 -0
  973. executorch/backends/cortex_m/test/models/test_nn_functional.py +119 -0
  974. executorch/backends/cortex_m/test/models/test_nn_modules.py +197 -0
  975. executorch/backends/cortex_m/test/models/test_resnet8.py +55 -0
  976. executorch/backends/cortex_m/test/models/test_silero_vad.py +104 -0
  977. executorch/backends/cortex_m/test/models/test_torch_functions.py +154 -0
  978. executorch/backends/cortex_m/test/models/test_wav2letter.py +34 -0
  979. executorch/backends/cortex_m/test/models/test_yolo11.py +45 -0
  980. executorch/backends/cortex_m/test/ops/__init__.py +4 -0
  981. executorch/backends/cortex_m/test/ops/test_activation.py +716 -0
  982. executorch/backends/cortex_m/test/ops/test_activation_quant.py +156 -0
  983. executorch/backends/cortex_m/test/ops/test_add.py +255 -0
  984. executorch/backends/cortex_m/test/ops/test_avg_pool2d.py +145 -0
  985. executorch/backends/cortex_m/test/ops/test_batch_matmul.py +192 -0
  986. executorch/backends/cortex_m/test/ops/test_conv.py +345 -0
  987. executorch/backends/cortex_m/test/ops/test_conv_transpose.py +331 -0
  988. executorch/backends/cortex_m/test/ops/test_linear.py +295 -0
  989. executorch/backends/cortex_m/test/ops/test_lstm.py +102 -0
  990. executorch/backends/cortex_m/test/ops/test_max_pool2d.py +146 -0
  991. executorch/backends/cortex_m/test/ops/test_maximum.py +87 -0
  992. executorch/backends/cortex_m/test/ops/test_minimum.py +108 -0
  993. executorch/backends/cortex_m/test/ops/test_mul.py +160 -0
  994. executorch/backends/cortex_m/test/ops/test_pad.py +100 -0
  995. executorch/backends/cortex_m/test/ops/test_softmax.py +88 -0
  996. executorch/backends/cortex_m/test/ops/test_transpose.py +106 -0
  997. executorch/backends/cortex_m/test/test_helpers_passes_utils.py +103 -0
  998. executorch/backends/cortex_m/test/test_replace_quant_nodes.py +134 -0
  999. executorch/backends/cortex_m/test/tester.py +181 -0
  1000. executorch/backends/cuda/__init__.py +5 -0
  1001. executorch/backends/cuda/benchmarks/benchmark_moe.py +423 -0
  1002. executorch/backends/cuda/benchmarks/benchmark_sdpa.py +308 -0
  1003. executorch/backends/cuda/coalesced_int4_tensor.py +243 -0
  1004. executorch/backends/cuda/cuda_backend.py +684 -0
  1005. executorch/backends/cuda/cuda_partitioner.py +53 -0
  1006. executorch/backends/cuda/dp4a_planar_int5_tensor.py +323 -0
  1007. executorch/backends/cuda/dp4a_planar_int6_tensor.py +307 -0
  1008. executorch/backends/cuda/passes/__init__.py +0 -0
  1009. executorch/backends/cuda/passes/move_cond_predicate_to_cpu.py +90 -0
  1010. executorch/backends/cuda/passes/replace_int64_floordiv.py +152 -0
  1011. executorch/backends/cuda/passes/tests/__init__.py +0 -0
  1012. executorch/backends/cuda/passes/tests/test_move_cond_predicate_to_cpu.py +553 -0
  1013. executorch/backends/cuda/passes/tests/test_replace_int64_floordiv.py +216 -0
  1014. executorch/backends/cuda/quantize_op_dispatch/__init__.py +31 -0
  1015. executorch/backends/cuda/quantize_op_dispatch/_library.py +17 -0
  1016. executorch/backends/cuda/quantize_op_dispatch/int4_dispatch.py +181 -0
  1017. executorch/backends/cuda/quantize_op_dispatch/int5_dispatch.py +168 -0
  1018. executorch/backends/cuda/quantize_op_dispatch/int6_dispatch.py +128 -0
  1019. executorch/backends/cuda/quantize_op_dispatch/int8_dispatch.py +132 -0
  1020. executorch/backends/cuda/runtime/shims/tests/gen_plain_mm_test_vectors.py +460 -0
  1021. executorch/backends/cuda/tests/__init__.py +5 -0
  1022. executorch/backends/cuda/tests/test_chunk_gated_delta_rule.py +328 -0
  1023. executorch/backends/cuda/tests/test_cuda_export.py +509 -0
  1024. executorch/backends/cuda/tests/test_cuda_partitioner.py +458 -0
  1025. executorch/backends/cuda/tests/test_fused_deltanet_decode.py +357 -0
  1026. executorch/backends/cuda/tests/test_fused_moe.py +812 -0
  1027. executorch/backends/cuda/tests/test_int4_dispatch.py +365 -0
  1028. executorch/backends/cuda/tests/test_int4_matmul.py +287 -0
  1029. executorch/backends/cuda/tests/test_int5_dispatch.py +323 -0
  1030. executorch/backends/cuda/tests/test_int6_dispatch.py +321 -0
  1031. executorch/backends/cuda/tests/test_output_stride_rearrange.py +177 -0
  1032. executorch/backends/cuda/tests/test_sdpa_splitk_replacement.py +179 -0
  1033. executorch/backends/cuda/tests/test_sort_shim.py +128 -0
  1034. executorch/backends/cuda/tests/test_topk.py +308 -0
  1035. executorch/backends/cuda/tests/test_tq4_sdpa.py +1232 -0
  1036. executorch/backends/cuda/tests/test_triton_sdpa.py +522 -0
  1037. executorch/backends/cuda/tests/test_triton_sdpa_nan.py +253 -0
  1038. executorch/backends/cuda/tests/test_triton_sdpa_splitk.py +310 -0
  1039. executorch/backends/cuda/triton/__init__.py +17 -0
  1040. executorch/backends/cuda/triton/kernels/__init__.py +58 -0
  1041. executorch/backends/cuda/triton/kernels/chunk_gated_delta_rule.py +269 -0
  1042. executorch/backends/cuda/triton/kernels/fused_deltanet_decode.py +358 -0
  1043. executorch/backends/cuda/triton/kernels/fused_moe.py +1604 -0
  1044. executorch/backends/cuda/triton/kernels/int4_matmul.py +529 -0
  1045. executorch/backends/cuda/triton/kernels/sdpa.py +1551 -0
  1046. executorch/backends/cuda/triton/kernels/topk.py +220 -0
  1047. executorch/backends/cuda/triton/kernels/tq4_sdpa.py +1216 -0
  1048. executorch/backends/cuda/triton/replacement_pass.py +185 -0
  1049. executorch/backends/example/example_backend.py +41 -0
  1050. executorch/backends/example/example_backend_delegate_passes/merge_to_dim_pass.py +83 -0
  1051. executorch/backends/example/example_backend_delegate_passes/permute_memory_formats_pass.py +143 -0
  1052. executorch/backends/example/example_operators/adaptive_avg_pool2d.py +47 -0
  1053. executorch/backends/example/example_operators/add.py +44 -0
  1054. executorch/backends/example/example_operators/conv2d.py +52 -0
  1055. executorch/backends/example/example_operators/conv_relu.py +49 -0
  1056. executorch/backends/example/example_operators/dropout.py +44 -0
  1057. executorch/backends/example/example_operators/flatten.py +40 -0
  1058. executorch/backends/example/example_operators/linear.py +62 -0
  1059. executorch/backends/example/example_operators/op_base.py +15 -0
  1060. executorch/backends/example/example_operators/ops.py +32 -0
  1061. executorch/backends/example/example_operators/utils.py +34 -0
  1062. executorch/backends/example/example_partitioner.py +88 -0
  1063. executorch/backends/example/example_quantizer.py +108 -0
  1064. executorch/backends/example/test_example_delegate.py +112 -0
  1065. executorch/backends/mediatek/__init__.py +5 -0
  1066. executorch/backends/mediatek/_passes/__init__.py +0 -0
  1067. executorch/backends/mediatek/_passes/decompose_scaled_dot_product_attention.py +79 -0
  1068. executorch/backends/mediatek/partitioner.py +107 -0
  1069. executorch/backends/mediatek/preprocess.py +214 -0
  1070. executorch/backends/mediatek/quantizer/__init__.py +4 -0
  1071. executorch/backends/mediatek/quantizer/annotator.py +263 -0
  1072. executorch/backends/mediatek/quantizer/qconfig.py +174 -0
  1073. executorch/backends/mediatek/quantizer/quantizer.py +45 -0
  1074. executorch/backends/mlx/__init__.py +17 -0
  1075. executorch/backends/mlx/_logging.py +40 -0
  1076. executorch/backends/mlx/builder/__init__.py +16 -0
  1077. executorch/backends/mlx/builder/op_helpers.py +810 -0
  1078. executorch/backends/mlx/builder/op_registry.py +151 -0
  1079. executorch/backends/mlx/builder/pattern_matcher.py +64 -0
  1080. executorch/backends/mlx/builder/program_builder.py +1135 -0
  1081. executorch/backends/mlx/builder/slot_manager.py +252 -0
  1082. executorch/backends/mlx/custom_kernel_ops/__init__.py +7 -0
  1083. executorch/backends/mlx/custom_kernel_ops/gated_delta_rule.py +608 -0
  1084. executorch/backends/mlx/custom_kernel_ops/gguf/__init__.py +18 -0
  1085. executorch/backends/mlx/custom_kernel_ops/gguf/patterns.py +177 -0
  1086. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/__init__.py +32 -0
  1087. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/common.py +151 -0
  1088. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/embedding.py +147 -0
  1089. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/embedding_mlx_native.py +60 -0
  1090. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/linear.py +500 -0
  1091. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/linear_mlx_native.py +88 -0
  1092. executorch/backends/mlx/custom_kernel_ops/gguf/q4k/repack_mlx.py +60 -0
  1093. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/__init__.py +37 -0
  1094. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/common.py +167 -0
  1095. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/embedding.py +144 -0
  1096. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/embedding_mlx_native.py +60 -0
  1097. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/linear.py +534 -0
  1098. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/linear_mlx_native.py +88 -0
  1099. executorch/backends/mlx/custom_kernel_ops/gguf/q5k/repack_mlx.py +60 -0
  1100. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/__init__.py +40 -0
  1101. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/common.py +142 -0
  1102. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/embedding.py +151 -0
  1103. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/embedding_mlx_native.py +64 -0
  1104. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/linear.py +511 -0
  1105. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/linear_mlx_native.py +89 -0
  1106. executorch/backends/mlx/custom_kernel_ops/gguf/q6k/repack_mlx.py +87 -0
  1107. executorch/backends/mlx/custom_kernel_ops/gguf/test/__init__.py +5 -0
  1108. executorch/backends/mlx/custom_kernel_ops/gguf/test/test_embedding.py +270 -0
  1109. executorch/backends/mlx/custom_kernel_ops/gguf/test/test_linear.py +647 -0
  1110. executorch/backends/mlx/custom_kernel_ops/test/__init__.py +5 -0
  1111. executorch/backends/mlx/custom_kernel_ops/test/test_gated_delta_rule.py +987 -0
  1112. executorch/backends/mlx/custom_kernel_ops/test/test_tq4_compress.py +183 -0
  1113. executorch/backends/mlx/custom_kernel_ops/test/test_tq_dequant.py +166 -0
  1114. executorch/backends/mlx/custom_kernel_ops/test/test_tq_norm.py +150 -0
  1115. executorch/backends/mlx/custom_kernel_ops/tq4_compress.py +189 -0
  1116. executorch/backends/mlx/custom_kernel_ops/tq_dequant.py +216 -0
  1117. executorch/backends/mlx/custom_kernel_ops/tq_norm.py +170 -0
  1118. executorch/backends/mlx/custom_ops.py +467 -0
  1119. executorch/backends/mlx/examples/__init__.py +6 -0
  1120. executorch/backends/mlx/examples/llm/__init__.py +6 -0
  1121. executorch/backends/mlx/examples/llm/export_llm_hf.py +457 -0
  1122. executorch/backends/mlx/examples/llm/run_llm_hf.py +249 -0
  1123. executorch/backends/mlx/examples/voxtral/__init__.py +5 -0
  1124. executorch/backends/mlx/examples/voxtral/export_voxtral_hf.py +201 -0
  1125. executorch/backends/mlx/examples/whisper/__init__.py +7 -0
  1126. executorch/backends/mlx/examples/whisper/args.py +151 -0
  1127. executorch/backends/mlx/examples/whisper/export_whisper.py +617 -0
  1128. executorch/backends/mlx/examples/whisper/run_whisper.py +276 -0
  1129. executorch/backends/mlx/llm/__init__.py +6 -0
  1130. executorch/backends/mlx/llm/cache.py +556 -0
  1131. executorch/backends/mlx/llm/et_attention.py +252 -0
  1132. executorch/backends/mlx/llm/hf_attention.py +258 -0
  1133. executorch/backends/mlx/llm/quantization.py +57 -0
  1134. executorch/backends/mlx/llm/sampling.py +44 -0
  1135. executorch/backends/mlx/llm/source_transformation.py +318 -0
  1136. executorch/backends/mlx/llm/switch.py +330 -0
  1137. executorch/backends/mlx/llm/turboquant_cache.py +244 -0
  1138. executorch/backends/mlx/ops.py +4808 -0
  1139. executorch/backends/mlx/partitioner.py +298 -0
  1140. executorch/backends/mlx/passes.py +570 -0
  1141. executorch/backends/mlx/pattern_utils.py +360 -0
  1142. executorch/backends/mlx/patterns.py +1339 -0
  1143. executorch/backends/mlx/preprocess.py +168 -0
  1144. executorch/backends/mlx/pte_inspector.py +902 -0
  1145. executorch/backends/mlx/serialization/__init__.py +32 -0
  1146. executorch/backends/mlx/serialization/generate.py +1566 -0
  1147. executorch/backends/mlx/serialization/mlx_graph_serialize.py +417 -0
  1148. executorch/backends/mlx/serialization/schema.fbs +1273 -0
  1149. executorch/backends/mlx/test/__init__.py +5 -0
  1150. executorch/backends/mlx/test/export_multi_thread_test_model.py +124 -0
  1151. executorch/backends/mlx/test/run_all_tests.py +496 -0
  1152. executorch/backends/mlx/test/test_ops.py +7929 -0
  1153. executorch/backends/mlx/test/test_partitioner.py +45 -0
  1154. executorch/backends/mlx/test/test_passes.py +828 -0
  1155. executorch/backends/mlx/test/test_pattern_utils.py +592 -0
  1156. executorch/backends/mlx/test/test_quant_regroup.py +70 -0
  1157. executorch/backends/mlx/test/test_sample.py +295 -0
  1158. executorch/backends/mlx/test/test_serialization_dedup.py +84 -0
  1159. executorch/backends/mlx/test/test_slot_recycling.py +198 -0
  1160. executorch/backends/mlx/test/test_utils.py +1162 -0
  1161. executorch/backends/mlx/test/tester.py +78 -0
  1162. executorch/backends/mlx/third-party/mlx/benchmarks/numpy/single_ops.py +39 -0
  1163. executorch/backends/mlx/third-party/mlx/benchmarks/numpy/time_utils.py +20 -0
  1164. executorch/backends/mlx/third-party/mlx/benchmarks/python/batch_matmul_bench.py +62 -0
  1165. executorch/backends/mlx/third-party/mlx/benchmarks/python/blas/bench_gemm.py +191 -0
  1166. executorch/backends/mlx/third-party/mlx/benchmarks/python/blas/bench_gemv.py +220 -0
  1167. executorch/backends/mlx/third-party/mlx/benchmarks/python/block_masked_mm_bench.py +193 -0
  1168. executorch/backends/mlx/third-party/mlx/benchmarks/python/comparative/bench_mlx.py +519 -0
  1169. executorch/backends/mlx/third-party/mlx/benchmarks/python/comparative/bench_torch.py +482 -0
  1170. executorch/backends/mlx/third-party/mlx/benchmarks/python/comparative/compare.py +284 -0
  1171. executorch/backends/mlx/third-party/mlx/benchmarks/python/compile_bench.py +107 -0
  1172. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv1d_bench.py +123 -0
  1173. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv2d_bench_cpu.py +127 -0
  1174. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv2d_train_bench_cpu.py +143 -0
  1175. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv2d_transpose_bench_cpu.py +129 -0
  1176. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv3d_bench.py +152 -0
  1177. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv3d_bench_cpu.py +110 -0
  1178. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv3d_train_bench_cpu.py +143 -0
  1179. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv3d_transpose_bench_cpu.py +116 -0
  1180. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv_bench.py +135 -0
  1181. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv_transpose_bench.py +135 -0
  1182. executorch/backends/mlx/third-party/mlx/benchmarks/python/conv_unaligned_bench.py +107 -0
  1183. executorch/backends/mlx/third-party/mlx/benchmarks/python/distributed_bench.py +66 -0
  1184. executorch/backends/mlx/third-party/mlx/benchmarks/python/einsum_bench.py +84 -0
  1185. executorch/backends/mlx/third-party/mlx/benchmarks/python/fft_bench.py +118 -0
  1186. executorch/backends/mlx/third-party/mlx/benchmarks/python/gather_bench.py +52 -0
  1187. executorch/backends/mlx/third-party/mlx/benchmarks/python/gather_mm_bench.py +74 -0
  1188. executorch/backends/mlx/third-party/mlx/benchmarks/python/gather_qmm_bench.py +84 -0
  1189. executorch/backends/mlx/third-party/mlx/benchmarks/python/hadamard_bench.py +70 -0
  1190. executorch/backends/mlx/third-party/mlx/benchmarks/python/large_gemm_bench.py +119 -0
  1191. executorch/backends/mlx/third-party/mlx/benchmarks/python/layer_norm_bench.py +82 -0
  1192. executorch/backends/mlx/third-party/mlx/benchmarks/python/masked_scatter.py +236 -0
  1193. executorch/backends/mlx/third-party/mlx/benchmarks/python/rms_norm_bench.py +63 -0
  1194. executorch/backends/mlx/third-party/mlx/benchmarks/python/rope_bench.py +35 -0
  1195. executorch/backends/mlx/third-party/mlx/benchmarks/python/scatter_bench.py +96 -0
  1196. executorch/backends/mlx/third-party/mlx/benchmarks/python/sdpa_bench.py +229 -0
  1197. executorch/backends/mlx/third-party/mlx/benchmarks/python/sdpa_vector_bench.py +95 -0
  1198. executorch/backends/mlx/third-party/mlx/benchmarks/python/segmented_mm_bench.py +209 -0
  1199. executorch/backends/mlx/third-party/mlx/benchmarks/python/single_ops.py +132 -0
  1200. executorch/backends/mlx/third-party/mlx/benchmarks/python/slice_update_bench.py +109 -0
  1201. executorch/backends/mlx/third-party/mlx/benchmarks/python/synchronize_bench.py +55 -0
  1202. executorch/backends/mlx/third-party/mlx/benchmarks/python/time_utils.py +38 -0
  1203. executorch/backends/mlx/third-party/mlx/docs/src/conf.py +99 -0
  1204. executorch/backends/mlx/third-party/mlx/examples/export/eval_mlp.py +52 -0
  1205. executorch/backends/mlx/third-party/mlx/examples/export/train_mlp.py +76 -0
  1206. executorch/backends/mlx/third-party/mlx/examples/extensions/mlx_sample_extensions/__init__.py +5 -0
  1207. executorch/backends/mlx/third-party/mlx/examples/extensions/setup.py +18 -0
  1208. executorch/backends/mlx/third-party/mlx/examples/extensions/test.py +12 -0
  1209. executorch/backends/mlx/third-party/mlx/examples/python/linear_regression.py +46 -0
  1210. executorch/backends/mlx/third-party/mlx/examples/python/logistic_regression.py +49 -0
  1211. executorch/backends/mlx/third-party/mlx/examples/python/qqmm.py +117 -0
  1212. executorch/backends/mlx/third-party/mlx/python/mlx/__main__.py +27 -0
  1213. executorch/backends/mlx/third-party/mlx/python/mlx/_distributed_utils/common.py +135 -0
  1214. executorch/backends/mlx/third-party/mlx/python/mlx/_distributed_utils/config.py +639 -0
  1215. executorch/backends/mlx/third-party/mlx/python/mlx/_distributed_utils/launch.py +562 -0
  1216. executorch/backends/mlx/third-party/mlx/python/mlx/_reprlib_fix.py +16 -0
  1217. executorch/backends/mlx/third-party/mlx/python/mlx/extension.py +88 -0
  1218. executorch/backends/mlx/third-party/mlx/python/mlx/nn/__init__.py +9 -0
  1219. executorch/backends/mlx/third-party/mlx/python/mlx/nn/init.py +451 -0
  1220. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/__init__.py +105 -0
  1221. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/activations.py +667 -0
  1222. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/base.py +689 -0
  1223. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/containers.py +24 -0
  1224. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/convolution.py +235 -0
  1225. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/convolution_transpose.py +245 -0
  1226. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/distributed.py +619 -0
  1227. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/dropout.py +137 -0
  1228. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/embedding.py +53 -0
  1229. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/linear.py +180 -0
  1230. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/normalization.py +381 -0
  1231. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/pooling.py +398 -0
  1232. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/positional_encoding.py +174 -0
  1233. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/quantized.py +426 -0
  1234. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/recurrent.py +291 -0
  1235. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/transformer.py +354 -0
  1236. executorch/backends/mlx/third-party/mlx/python/mlx/nn/layers/upsample.py +277 -0
  1237. executorch/backends/mlx/third-party/mlx/python/mlx/nn/losses.py +614 -0
  1238. executorch/backends/mlx/third-party/mlx/python/mlx/nn/utils.py +321 -0
  1239. executorch/backends/mlx/third-party/mlx/python/mlx/optimizers/__init__.py +4 -0
  1240. executorch/backends/mlx/third-party/mlx/python/mlx/optimizers/optimizers.py +974 -0
  1241. executorch/backends/mlx/third-party/mlx/python/mlx/optimizers/schedulers.py +158 -0
  1242. executorch/backends/mlx/third-party/mlx/python/mlx/py.typed +1 -0
  1243. executorch/backends/mlx/third-party/mlx/python/mlx/utils.py +326 -0
  1244. executorch/backends/mlx/third-party/mlx/python/tests/__main__.py +5 -0
  1245. executorch/backends/mlx/third-party/mlx/python/tests/mlx_distributed_tests.py +324 -0
  1246. executorch/backends/mlx/third-party/mlx/python/tests/mlx_tests.py +93 -0
  1247. executorch/backends/mlx/third-party/mlx/python/tests/mpi_test_distributed.py +142 -0
  1248. executorch/backends/mlx/third-party/mlx/python/tests/nccl_test_distributed.py +346 -0
  1249. executorch/backends/mlx/third-party/mlx/python/tests/ring_test_distributed.py +130 -0
  1250. executorch/backends/mlx/third-party/mlx/python/tests/test_array.py +2743 -0
  1251. executorch/backends/mlx/third-party/mlx/python/tests/test_autograd.py +1421 -0
  1252. executorch/backends/mlx/third-party/mlx/python/tests/test_bf16.py +228 -0
  1253. executorch/backends/mlx/third-party/mlx/python/tests/test_blas.py +1432 -0
  1254. executorch/backends/mlx/third-party/mlx/python/tests/test_compile.py +1506 -0
  1255. executorch/backends/mlx/third-party/mlx/python/tests/test_constants.py +41 -0
  1256. executorch/backends/mlx/third-party/mlx/python/tests/test_conv.py +1214 -0
  1257. executorch/backends/mlx/third-party/mlx/python/tests/test_conv_transpose.py +810 -0
  1258. executorch/backends/mlx/third-party/mlx/python/tests/test_device.py +150 -0
  1259. executorch/backends/mlx/third-party/mlx/python/tests/test_double.py +306 -0
  1260. executorch/backends/mlx/third-party/mlx/python/tests/test_einsum.py +363 -0
  1261. executorch/backends/mlx/third-party/mlx/python/tests/test_eval.py +200 -0
  1262. executorch/backends/mlx/third-party/mlx/python/tests/test_export_import.py +709 -0
  1263. executorch/backends/mlx/third-party/mlx/python/tests/test_fast.py +1122 -0
  1264. executorch/backends/mlx/third-party/mlx/python/tests/test_fast_sdpa.py +687 -0
  1265. executorch/backends/mlx/third-party/mlx/python/tests/test_fft.py +413 -0
  1266. executorch/backends/mlx/third-party/mlx/python/tests/test_graph.py +37 -0
  1267. executorch/backends/mlx/third-party/mlx/python/tests/test_init.py +158 -0
  1268. executorch/backends/mlx/third-party/mlx/python/tests/test_linalg.py +896 -0
  1269. executorch/backends/mlx/third-party/mlx/python/tests/test_load.py +529 -0
  1270. executorch/backends/mlx/third-party/mlx/python/tests/test_losses.py +476 -0
  1271. executorch/backends/mlx/third-party/mlx/python/tests/test_memory.py +77 -0
  1272. executorch/backends/mlx/third-party/mlx/python/tests/test_nn.py +2198 -0
  1273. executorch/backends/mlx/third-party/mlx/python/tests/test_ops.py +3520 -0
  1274. executorch/backends/mlx/third-party/mlx/python/tests/test_optimizers.py +615 -0
  1275. executorch/backends/mlx/third-party/mlx/python/tests/test_quantized.py +1388 -0
  1276. executorch/backends/mlx/third-party/mlx/python/tests/test_random.py +392 -0
  1277. executorch/backends/mlx/third-party/mlx/python/tests/test_reduce.py +223 -0
  1278. executorch/backends/mlx/third-party/mlx/python/tests/test_threads.py +112 -0
  1279. executorch/backends/mlx/third-party/mlx/python/tests/test_tree.py +126 -0
  1280. executorch/backends/mlx/third-party/mlx/python/tests/test_upsample.py +100 -0
  1281. executorch/backends/mlx/third-party/mlx/python/tests/test_vmap.py +949 -0
  1282. executorch/backends/mlx/third-party/mlx/setup.py +336 -0
  1283. executorch/backends/nxp/__init__.py +0 -0
  1284. executorch/backends/nxp/aten_passes/convert_1d_conv_to_2d.py +489 -0
  1285. executorch/backends/nxp/aten_passes/convert_div_to_mul.py +177 -0
  1286. executorch/backends/nxp/aten_passes/decompose_split_to_slices_pass.py +196 -0
  1287. executorch/backends/nxp/aten_passes/fuse_batch_norm_with_conv_pass.py +146 -0
  1288. executorch/backends/nxp/aten_passes/fuse_batch_norm_with_linear_pass.py +188 -0
  1289. executorch/backends/nxp/aten_passes/fuse_linear_and_add_pass.py +204 -0
  1290. executorch/backends/nxp/aten_passes/move_activation_before_concat.py +102 -0
  1291. executorch/backends/nxp/aten_passes/neutron_aten_pass_manager.py +82 -0
  1292. executorch/backends/nxp/aten_passes/remove_nodes_with_known_outputs.py +196 -0
  1293. executorch/backends/nxp/aten_passes/simulated_linear_bn_fusion_passes/__init__.py +11 -0
  1294. executorch/backends/nxp/aten_passes/simulated_linear_bn_fusion_passes/add_simulated_linear_bn_fusion_qat_pass.py +395 -0
  1295. executorch/backends/nxp/aten_passes/simulated_linear_bn_fusion_passes/remove_simulated_linear_bn_fusion_qat_pass.py +245 -0
  1296. executorch/backends/nxp/aten_passes/split_group_convolution.py +300 -0
  1297. executorch/backends/nxp/aten_passes/split_gru_based_on_num_layers.py +307 -0
  1298. executorch/backends/nxp/backend/custom_delegation_options.py +17 -0
  1299. executorch/backends/nxp/backend/data_format.py +49 -0
  1300. executorch/backends/nxp/backend/edge_helper.py +515 -0
  1301. executorch/backends/nxp/backend/edge_program_converter.py +360 -0
  1302. executorch/backends/nxp/backend/graph_utils.py +129 -0
  1303. executorch/backends/nxp/backend/ir/conversion_config.py +54 -0
  1304. executorch/backends/nxp/backend/ir/conversion_context.py +43 -0
  1305. executorch/backends/nxp/backend/ir/converter/__init__.py +0 -0
  1306. executorch/backends/nxp/backend/ir/converter/builder/__init__.py +0 -0
  1307. executorch/backends/nxp/backend/ir/converter/builder/aten_model_builder_director.py +156 -0
  1308. executorch/backends/nxp/backend/ir/converter/builder/model_builder.py +1806 -0
  1309. executorch/backends/nxp/backend/ir/converter/builder/quantization_verification.py +387 -0
  1310. executorch/backends/nxp/backend/ir/converter/conversion/__init__.py +0 -0
  1311. executorch/backends/nxp/backend/ir/converter/conversion/aten_translator.py +71 -0
  1312. executorch/backends/nxp/backend/ir/converter/conversion/common.py +177 -0
  1313. executorch/backends/nxp/backend/ir/converter/conversion/translator.py +689 -0
  1314. executorch/backends/nxp/backend/ir/converter/node_converter.py +535 -0
  1315. executorch/backends/nxp/backend/ir/converter/node_converters/__init__.py +4 -0
  1316. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/__init__.py +162 -0
  1317. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/abs_converter.py +52 -0
  1318. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/adaptive_avg_pool_2d_converter.py +107 -0
  1319. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/add_tensor_converter.py +66 -0
  1320. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/addmm_converter.py +140 -0
  1321. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/amax_converter.py +81 -0
  1322. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/amin_converter.py +81 -0
  1323. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/avg_pool_2d_converter.py +137 -0
  1324. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/bmm_converter.py +101 -0
  1325. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/cat_converter.py +122 -0
  1326. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/clamp_converter.py +250 -0
  1327. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/clone_converter.py +118 -0
  1328. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/constant_pad_nd_converter.py +162 -0
  1329. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/convolution_converter.py +542 -0
  1330. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/exp_converter.py +59 -0
  1331. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/getitem_converter.py +56 -0
  1332. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/hardtanh_converter.py +37 -0
  1333. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/leaky_relu_converter.py +63 -0
  1334. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/log_converter.py +59 -0
  1335. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/max_pool2d_with_indices_converter.py +178 -0
  1336. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/maximum_converter.py +68 -0
  1337. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mean_dim_converter.py +107 -0
  1338. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/minimum_converter.py +68 -0
  1339. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mm_converter.py +94 -0
  1340. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/mul_tensor_converter.py +63 -0
  1341. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/neg_converter.py +77 -0
  1342. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/permute_copy_converter.py +434 -0
  1343. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/prelu_converter.py +66 -0
  1344. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/qdq_dequantize_converter.py +127 -0
  1345. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/qdq_quantize_converter.py +46 -0
  1346. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/relu_converter.py +66 -0
  1347. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/sigmoid_converter.py +62 -0
  1348. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/slice_tensor_converter.py +115 -0
  1349. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/softmax_converter.py +150 -0
  1350. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/sub_tensor_converter.py +71 -0
  1351. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/sum_dim_int_list_converter.py +83 -0
  1352. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/tanh_converter.py +60 -0
  1353. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/upsample_bilinear2d_converter.py +152 -0
  1354. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/upsample_nearest2d_converter.py +136 -0
  1355. executorch/backends/nxp/backend/ir/converter/node_converters/ops_converters/view_copy_converter.py +99 -0
  1356. executorch/backends/nxp/backend/ir/converter/node_converters/shared/__init__.py +0 -0
  1357. executorch/backends/nxp/backend/ir/converter/node_converters/shared/conv_utils.py +123 -0
  1358. executorch/backends/nxp/backend/ir/converter/node_converters/shared/recurrent_utils.py +64 -0
  1359. executorch/backends/nxp/backend/ir/converter/node_converters/shared/reduce_utils.py +167 -0
  1360. executorch/backends/nxp/backend/ir/converter/node_converters/shared/reshape_transposition.py +233 -0
  1361. executorch/backends/nxp/backend/ir/converter/quantization_utils.py +161 -0
  1362. executorch/backends/nxp/backend/ir/converter/tensor_utils.py +55 -0
  1363. executorch/backends/nxp/backend/ir/lib/__init__.py +0 -0
  1364. executorch/backends/nxp/backend/ir/lib/tflite/ATan2Options.py +50 -0
  1365. executorch/backends/nxp/backend/ir/lib/tflite/AbsOptions.py +50 -0
  1366. executorch/backends/nxp/backend/ir/lib/tflite/ActivationFunctionType.py +12 -0
  1367. executorch/backends/nxp/backend/ir/lib/tflite/AddNOptions.py +50 -0
  1368. executorch/backends/nxp/backend/ir/lib/tflite/AddOptions.py +82 -0
  1369. executorch/backends/nxp/backend/ir/lib/tflite/ArgMaxOptions.py +65 -0
  1370. executorch/backends/nxp/backend/ir/lib/tflite/ArgMinOptions.py +65 -0
  1371. executorch/backends/nxp/backend/ir/lib/tflite/AssignVariableOptions.py +50 -0
  1372. executorch/backends/nxp/backend/ir/lib/tflite/BatchMatMulOptions.py +101 -0
  1373. executorch/backends/nxp/backend/ir/lib/tflite/BatchToSpaceNDOptions.py +50 -0
  1374. executorch/backends/nxp/backend/ir/lib/tflite/BidirectionalSequenceLSTMOptions.py +160 -0
  1375. executorch/backends/nxp/backend/ir/lib/tflite/BidirectionalSequenceRNNOptions.py +126 -0
  1376. executorch/backends/nxp/backend/ir/lib/tflite/BitcastOptions.py +50 -0
  1377. executorch/backends/nxp/backend/ir/lib/tflite/BitwiseXorOptions.py +50 -0
  1378. executorch/backends/nxp/backend/ir/lib/tflite/BroadcastToOptions.py +50 -0
  1379. executorch/backends/nxp/backend/ir/lib/tflite/BucketizeOptions.py +98 -0
  1380. executorch/backends/nxp/backend/ir/lib/tflite/Buffer.py +132 -0
  1381. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOperator.py +212 -0
  1382. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOptions.py +133 -0
  1383. executorch/backends/nxp/backend/ir/lib/tflite/BuiltinOptions2.py +27 -0
  1384. executorch/backends/nxp/backend/ir/lib/tflite/CallOnceOptions.py +65 -0
  1385. executorch/backends/nxp/backend/ir/lib/tflite/CallOptions.py +67 -0
  1386. executorch/backends/nxp/backend/ir/lib/tflite/CastOptions.py +80 -0
  1387. executorch/backends/nxp/backend/ir/lib/tflite/CombinerType.py +9 -0
  1388. executorch/backends/nxp/backend/ir/lib/tflite/ConcatEmbeddingsOptions.py +163 -0
  1389. executorch/backends/nxp/backend/ir/lib/tflite/ConcatenationOptions.py +80 -0
  1390. executorch/backends/nxp/backend/ir/lib/tflite/Conv2DOptions.py +155 -0
  1391. executorch/backends/nxp/backend/ir/lib/tflite/Conv3DOptions.py +170 -0
  1392. executorch/backends/nxp/backend/ir/lib/tflite/CosOptions.py +50 -0
  1393. executorch/backends/nxp/backend/ir/lib/tflite/CumsumOptions.py +84 -0
  1394. executorch/backends/nxp/backend/ir/lib/tflite/CustomOptionsFormat.py +7 -0
  1395. executorch/backends/nxp/backend/ir/lib/tflite/CustomQuantization.py +98 -0
  1396. executorch/backends/nxp/backend/ir/lib/tflite/DensifyOptions.py +50 -0
  1397. executorch/backends/nxp/backend/ir/lib/tflite/DepthToSpaceOptions.py +65 -0
  1398. executorch/backends/nxp/backend/ir/lib/tflite/DepthwiseConv2DOptions.py +157 -0
  1399. executorch/backends/nxp/backend/ir/lib/tflite/DequantizeOptions.py +50 -0
  1400. executorch/backends/nxp/backend/ir/lib/tflite/DilateOptions.py +50 -0
  1401. executorch/backends/nxp/backend/ir/lib/tflite/DimensionMetadata.py +152 -0
  1402. executorch/backends/nxp/backend/ir/lib/tflite/DimensionType.py +8 -0
  1403. executorch/backends/nxp/backend/ir/lib/tflite/DivOptions.py +65 -0
  1404. executorch/backends/nxp/backend/ir/lib/tflite/DynamicUpdateSliceOptions.py +52 -0
  1405. executorch/backends/nxp/backend/ir/lib/tflite/EmbeddingLookupSparseOptions.py +67 -0
  1406. executorch/backends/nxp/backend/ir/lib/tflite/EqualOptions.py +50 -0
  1407. executorch/backends/nxp/backend/ir/lib/tflite/ExpOptions.py +50 -0
  1408. executorch/backends/nxp/backend/ir/lib/tflite/ExpandDimsOptions.py +50 -0
  1409. executorch/backends/nxp/backend/ir/lib/tflite/FakeQuantOptions.py +116 -0
  1410. executorch/backends/nxp/backend/ir/lib/tflite/FillOptions.py +50 -0
  1411. executorch/backends/nxp/backend/ir/lib/tflite/FloorDivOptions.py +50 -0
  1412. executorch/backends/nxp/backend/ir/lib/tflite/FloorModOptions.py +50 -0
  1413. executorch/backends/nxp/backend/ir/lib/tflite/FullyConnectedOptions.py +129 -0
  1414. executorch/backends/nxp/backend/ir/lib/tflite/FullyConnectedOptionsWeightsFormat.py +8 -0
  1415. executorch/backends/nxp/backend/ir/lib/tflite/GatherNdOptions.py +50 -0
  1416. executorch/backends/nxp/backend/ir/lib/tflite/GatherOptions.py +80 -0
  1417. executorch/backends/nxp/backend/ir/lib/tflite/GeluOptions.py +67 -0
  1418. executorch/backends/nxp/backend/ir/lib/tflite/GreaterEqualOptions.py +50 -0
  1419. executorch/backends/nxp/backend/ir/lib/tflite/GreaterOptions.py +50 -0
  1420. executorch/backends/nxp/backend/ir/lib/tflite/HardSwishOptions.py +50 -0
  1421. executorch/backends/nxp/backend/ir/lib/tflite/HashtableFindOptions.py +50 -0
  1422. executorch/backends/nxp/backend/ir/lib/tflite/HashtableImportOptions.py +52 -0
  1423. executorch/backends/nxp/backend/ir/lib/tflite/HashtableOptions.py +95 -0
  1424. executorch/backends/nxp/backend/ir/lib/tflite/HashtableSizeOptions.py +50 -0
  1425. executorch/backends/nxp/backend/ir/lib/tflite/IfOptions.py +80 -0
  1426. executorch/backends/nxp/backend/ir/lib/tflite/Int32Vector.py +98 -0
  1427. executorch/backends/nxp/backend/ir/lib/tflite/L2NormOptions.py +65 -0
  1428. executorch/backends/nxp/backend/ir/lib/tflite/LSHProjectionOptions.py +65 -0
  1429. executorch/backends/nxp/backend/ir/lib/tflite/LSHProjectionType.py +9 -0
  1430. executorch/backends/nxp/backend/ir/lib/tflite/LSTMKernelType.py +8 -0
  1431. executorch/backends/nxp/backend/ir/lib/tflite/LSTMOptions.py +131 -0
  1432. executorch/backends/nxp/backend/ir/lib/tflite/LeakyReluOptions.py +67 -0
  1433. executorch/backends/nxp/backend/ir/lib/tflite/LessEqualOptions.py +50 -0
  1434. executorch/backends/nxp/backend/ir/lib/tflite/LessOptions.py +50 -0
  1435. executorch/backends/nxp/backend/ir/lib/tflite/LocalResponseNormalizationOptions.py +118 -0
  1436. executorch/backends/nxp/backend/ir/lib/tflite/LogSoftmaxOptions.py +50 -0
  1437. executorch/backends/nxp/backend/ir/lib/tflite/LogicalAndOptions.py +50 -0
  1438. executorch/backends/nxp/backend/ir/lib/tflite/LogicalNotOptions.py +50 -0
  1439. executorch/backends/nxp/backend/ir/lib/tflite/LogicalOrOptions.py +50 -0
  1440. executorch/backends/nxp/backend/ir/lib/tflite/MatrixDiagOptions.py +50 -0
  1441. executorch/backends/nxp/backend/ir/lib/tflite/MatrixSetDiagOptions.py +50 -0
  1442. executorch/backends/nxp/backend/ir/lib/tflite/MaximumMinimumOptions.py +50 -0
  1443. executorch/backends/nxp/backend/ir/lib/tflite/Metadata.py +84 -0
  1444. executorch/backends/nxp/backend/ir/lib/tflite/MirrorPadMode.py +8 -0
  1445. executorch/backends/nxp/backend/ir/lib/tflite/MirrorPadOptions.py +65 -0
  1446. executorch/backends/nxp/backend/ir/lib/tflite/Model.py +352 -0
  1447. executorch/backends/nxp/backend/ir/lib/tflite/MulOptions.py +65 -0
  1448. executorch/backends/nxp/backend/ir/lib/tflite/NegOptions.py +50 -0
  1449. executorch/backends/nxp/backend/ir/lib/tflite/NonMaxSuppressionV4Options.py +52 -0
  1450. executorch/backends/nxp/backend/ir/lib/tflite/NonMaxSuppressionV5Options.py +52 -0
  1451. executorch/backends/nxp/backend/ir/lib/tflite/NotEqualOptions.py +50 -0
  1452. executorch/backends/nxp/backend/ir/lib/tflite/OneHotOptions.py +65 -0
  1453. executorch/backends/nxp/backend/ir/lib/tflite/Operator.py +428 -0
  1454. executorch/backends/nxp/backend/ir/lib/tflite/OperatorCode.py +112 -0
  1455. executorch/backends/nxp/backend/ir/lib/tflite/PackOptions.py +80 -0
  1456. executorch/backends/nxp/backend/ir/lib/tflite/PadOptions.py +50 -0
  1457. executorch/backends/nxp/backend/ir/lib/tflite/PadV2Options.py +50 -0
  1458. executorch/backends/nxp/backend/ir/lib/tflite/Padding.py +8 -0
  1459. executorch/backends/nxp/backend/ir/lib/tflite/Pool2DOptions.py +140 -0
  1460. executorch/backends/nxp/backend/ir/lib/tflite/PowOptions.py +50 -0
  1461. executorch/backends/nxp/backend/ir/lib/tflite/QuantizationDetails.py +8 -0
  1462. executorch/backends/nxp/backend/ir/lib/tflite/QuantizationParameters.py +295 -0
  1463. executorch/backends/nxp/backend/ir/lib/tflite/QuantizeOptions.py +50 -0
  1464. executorch/backends/nxp/backend/ir/lib/tflite/RNNOptions.py +82 -0
  1465. executorch/backends/nxp/backend/ir/lib/tflite/RandomOptions.py +80 -0
  1466. executorch/backends/nxp/backend/ir/lib/tflite/RangeOptions.py +50 -0
  1467. executorch/backends/nxp/backend/ir/lib/tflite/RankOptions.py +50 -0
  1468. executorch/backends/nxp/backend/ir/lib/tflite/ReadVariableOptions.py +50 -0
  1469. executorch/backends/nxp/backend/ir/lib/tflite/ReduceWindowFunction.py +13 -0
  1470. executorch/backends/nxp/backend/ir/lib/tflite/ReduceWindowOptions.py +65 -0
  1471. executorch/backends/nxp/backend/ir/lib/tflite/ReducerOptions.py +67 -0
  1472. executorch/backends/nxp/backend/ir/lib/tflite/ReshapeOptions.py +98 -0
  1473. executorch/backends/nxp/backend/ir/lib/tflite/ResizeBilinearOptions.py +84 -0
  1474. executorch/backends/nxp/backend/ir/lib/tflite/ResizeNearestNeighborOptions.py +86 -0
  1475. executorch/backends/nxp/backend/ir/lib/tflite/ReverseSequenceOptions.py +82 -0
  1476. executorch/backends/nxp/backend/ir/lib/tflite/ReverseV2Options.py +50 -0
  1477. executorch/backends/nxp/backend/ir/lib/tflite/Rfft2dOptions.py +50 -0
  1478. executorch/backends/nxp/backend/ir/lib/tflite/RightShiftOptions.py +50 -0
  1479. executorch/backends/nxp/backend/ir/lib/tflite/RngAlgorithm.py +9 -0
  1480. executorch/backends/nxp/backend/ir/lib/tflite/SVDFOptions.py +97 -0
  1481. executorch/backends/nxp/backend/ir/lib/tflite/ScatterNdOptions.py +50 -0
  1482. executorch/backends/nxp/backend/ir/lib/tflite/SegmentSumOptions.py +50 -0
  1483. executorch/backends/nxp/backend/ir/lib/tflite/SelectOptions.py +50 -0
  1484. executorch/backends/nxp/backend/ir/lib/tflite/SelectV2Options.py +50 -0
  1485. executorch/backends/nxp/backend/ir/lib/tflite/SequenceRNNOptions.py +99 -0
  1486. executorch/backends/nxp/backend/ir/lib/tflite/ShapeOptions.py +65 -0
  1487. executorch/backends/nxp/backend/ir/lib/tflite/SignOptions.py +50 -0
  1488. executorch/backends/nxp/backend/ir/lib/tflite/SignatureDef.py +172 -0
  1489. executorch/backends/nxp/backend/ir/lib/tflite/SkipGramOptions.py +97 -0
  1490. executorch/backends/nxp/backend/ir/lib/tflite/SliceOptions.py +50 -0
  1491. executorch/backends/nxp/backend/ir/lib/tflite/SoftmaxOptions.py +67 -0
  1492. executorch/backends/nxp/backend/ir/lib/tflite/SpaceToBatchNDOptions.py +50 -0
  1493. executorch/backends/nxp/backend/ir/lib/tflite/SpaceToDepthOptions.py +65 -0
  1494. executorch/backends/nxp/backend/ir/lib/tflite/SparseIndexVector.py +10 -0
  1495. executorch/backends/nxp/backend/ir/lib/tflite/SparseToDenseOptions.py +67 -0
  1496. executorch/backends/nxp/backend/ir/lib/tflite/SparsityParameters.py +190 -0
  1497. executorch/backends/nxp/backend/ir/lib/tflite/SplitOptions.py +65 -0
  1498. executorch/backends/nxp/backend/ir/lib/tflite/SplitVOptions.py +65 -0
  1499. executorch/backends/nxp/backend/ir/lib/tflite/SquareOptions.py +50 -0
  1500. executorch/backends/nxp/backend/ir/lib/tflite/SquaredDifferenceOptions.py +52 -0
  1501. executorch/backends/nxp/backend/ir/lib/tflite/SqueezeOptions.py +98 -0
  1502. executorch/backends/nxp/backend/ir/lib/tflite/StablehloBroadcastInDimOptions.py +102 -0
  1503. executorch/backends/nxp/backend/ir/lib/tflite/StablehloCompareOptions.py +86 -0
  1504. executorch/backends/nxp/backend/ir/lib/tflite/StablehloComparisonDirection.py +12 -0
  1505. executorch/backends/nxp/backend/ir/lib/tflite/StablehloComparisonType.py +11 -0
  1506. executorch/backends/nxp/backend/ir/lib/tflite/StablehloConcatenateOptions.py +67 -0
  1507. executorch/backends/nxp/backend/ir/lib/tflite/StablehloConvolutionOptions.py +634 -0
  1508. executorch/backends/nxp/backend/ir/lib/tflite/StablehloCustomCallOptions.py +214 -0
  1509. executorch/backends/nxp/backend/ir/lib/tflite/StablehloDotGeneralOptions.py +304 -0
  1510. executorch/backends/nxp/backend/ir/lib/tflite/StablehloDynamicSliceOptions.py +100 -0
  1511. executorch/backends/nxp/backend/ir/lib/tflite/StablehloGatherOptions.py +276 -0
  1512. executorch/backends/nxp/backend/ir/lib/tflite/StablehloIotaOptions.py +65 -0
  1513. executorch/backends/nxp/backend/ir/lib/tflite/StablehloPadOptions.py +194 -0
  1514. executorch/backends/nxp/backend/ir/lib/tflite/StablehloPrecisionConfig.py +9 -0
  1515. executorch/backends/nxp/backend/ir/lib/tflite/StablehloReduceOptions.py +115 -0
  1516. executorch/backends/nxp/backend/ir/lib/tflite/StablehloReduceWindowOptions.py +307 -0
  1517. executorch/backends/nxp/backend/ir/lib/tflite/StablehloRngBitGeneratorOptions.py +67 -0
  1518. executorch/backends/nxp/backend/ir/lib/tflite/StablehloScatterOptions.py +268 -0
  1519. executorch/backends/nxp/backend/ir/lib/tflite/StablehloSliceOptions.py +194 -0
  1520. executorch/backends/nxp/backend/ir/lib/tflite/StablehloSortOptions.py +97 -0
  1521. executorch/backends/nxp/backend/ir/lib/tflite/StablehloTransposeOptions.py +100 -0
  1522. executorch/backends/nxp/backend/ir/lib/tflite/StablehloWhileOptions.py +80 -0
  1523. executorch/backends/nxp/backend/ir/lib/tflite/StridedSliceOptions.py +142 -0
  1524. executorch/backends/nxp/backend/ir/lib/tflite/SubGraph.py +251 -0
  1525. executorch/backends/nxp/backend/ir/lib/tflite/SubOptions.py +82 -0
  1526. executorch/backends/nxp/backend/ir/lib/tflite/Tensor.py +317 -0
  1527. executorch/backends/nxp/backend/ir/lib/tflite/TensorMap.py +84 -0
  1528. executorch/backends/nxp/backend/ir/lib/tflite/TensorType.py +24 -0
  1529. executorch/backends/nxp/backend/ir/lib/tflite/TileOptions.py +50 -0
  1530. executorch/backends/nxp/backend/ir/lib/tflite/TopKV2Options.py +50 -0
  1531. executorch/backends/nxp/backend/ir/lib/tflite/TransposeConvOptions.py +125 -0
  1532. executorch/backends/nxp/backend/ir/lib/tflite/TransposeOptions.py +50 -0
  1533. executorch/backends/nxp/backend/ir/lib/tflite/Uint16Vector.py +98 -0
  1534. executorch/backends/nxp/backend/ir/lib/tflite/Uint8Vector.py +98 -0
  1535. executorch/backends/nxp/backend/ir/lib/tflite/UnidirectionalSequenceLSTMOptions.py +164 -0
  1536. executorch/backends/nxp/backend/ir/lib/tflite/UniqueOptions.py +65 -0
  1537. executorch/backends/nxp/backend/ir/lib/tflite/UnpackOptions.py +80 -0
  1538. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentMaxOptions.py +52 -0
  1539. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentMinOptions.py +52 -0
  1540. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentProdOptions.py +52 -0
  1541. executorch/backends/nxp/backend/ir/lib/tflite/UnsortedSegmentSumOptions.py +52 -0
  1542. executorch/backends/nxp/backend/ir/lib/tflite/VarHandleOptions.py +84 -0
  1543. executorch/backends/nxp/backend/ir/lib/tflite/VariantSubType.py +130 -0
  1544. executorch/backends/nxp/backend/ir/lib/tflite/WhereOptions.py +50 -0
  1545. executorch/backends/nxp/backend/ir/lib/tflite/WhileOptions.py +80 -0
  1546. executorch/backends/nxp/backend/ir/lib/tflite/ZerosLikeOptions.py +50 -0
  1547. executorch/backends/nxp/backend/ir/lib/tflite/__init__.py +0 -0
  1548. executorch/backends/nxp/backend/ir/logger.py +341 -0
  1549. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/__init__.py +0 -0
  1550. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/graph_utils.py +115 -0
  1551. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/operator_rules.py +102 -0
  1552. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/__init__.py +0 -0
  1553. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/base_optimization.py +41 -0
  1554. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/permute_fully_connected_weights_after_reshape.py +121 -0
  1555. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizations/prune_transpose_operators.py +177 -0
  1556. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/optimizer.py +127 -0
  1557. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/pattern_matcher.py +925 -0
  1558. executorch/backends/nxp/backend/ir/neutron_ir_post_processing/tensor_rules.py +710 -0
  1559. executorch/backends/nxp/backend/ir/tflite_generator/__init__.py +0 -0
  1560. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/__init__.py +0 -0
  1561. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/abs_options.py +25 -0
  1562. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/add_n_options.py +32 -0
  1563. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/add_options.py +46 -0
  1564. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/arg_max_options.py +28 -0
  1565. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/arg_min_options.py +28 -0
  1566. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/average_pool_2d_options.py +63 -0
  1567. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/batch_mat_mul_options.py +45 -0
  1568. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bidirectional_sequence_lstm_options.py +65 -0
  1569. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bidirectional_sequence_rnn_options.py +53 -0
  1570. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/bitwise_xor_options.py +23 -0
  1571. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/broadcast_to_options.py +25 -0
  1572. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/cast_options.py +32 -0
  1573. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/concatenation_options.py +38 -0
  1574. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/conv_2d_options.py +59 -0
  1575. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/conv_3d_options.py +67 -0
  1576. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/cum_sum_options.py +30 -0
  1577. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/depth_to_space_options.py +29 -0
  1578. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/depthwise_conv_2d_options.py +69 -0
  1579. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/dequantize_options.py +24 -0
  1580. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/div_options.py +43 -0
  1581. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/equal_options.py +23 -0
  1582. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/exp_options.py +23 -0
  1583. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/floor_mod_options.py +23 -0
  1584. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/fully_connected_options.py +57 -0
  1585. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gather_nd_options.py +23 -0
  1586. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gather_options.py +30 -0
  1587. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/gelu_options.py +27 -0
  1588. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/greater_equal_options.py +25 -0
  1589. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/greater_options.py +23 -0
  1590. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/hard_swish_options.py +23 -0
  1591. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/leaky_relu_options.py +32 -0
  1592. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/less_equal_options.py +23 -0
  1593. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/less_options.py +23 -0
  1594. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/log_softmax_options.py +30 -0
  1595. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_and_options.py +23 -0
  1596. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_not_options.py +23 -0
  1597. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/logical_or_options.py +23 -0
  1598. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/lrn_options.py +45 -0
  1599. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/lstm_options.py +60 -0
  1600. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/max_pool_2d_options.py +63 -0
  1601. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/maximum_options.py +21 -0
  1602. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mean_options.py +28 -0
  1603. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/minimum_options.py +21 -0
  1604. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mirror_pad_options.py +60 -0
  1605. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/mul_options.py +36 -0
  1606. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/multinomial_options.py +30 -0
  1607. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/neg_options.py +23 -0
  1608. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/not_equal_options.py +23 -0
  1609. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/one_hot_options.py +27 -0
  1610. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pad_options.py +27 -0
  1611. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pad_v2_options.py +27 -0
  1612. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/pow_options.py +24 -0
  1613. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/quantize_options.py +30 -0
  1614. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/range_options.py +23 -0
  1615. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_max_options.py +28 -0
  1616. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_min_options.py +28 -0
  1617. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reduce_prod_options.py +28 -0
  1618. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reshape_options.py +53 -0
  1619. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/resize_bilinear_options.py +34 -0
  1620. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/resize_nearest_neighbor_options.py +37 -0
  1621. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/reverse_sequence_options.py +32 -0
  1622. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/scatter_nd_options.py +23 -0
  1623. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/select_v2_options.py +24 -0
  1624. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/shape_options.py +34 -0
  1625. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sign_options.py +22 -0
  1626. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/slice_options.py +29 -0
  1627. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/softmax_options.py +36 -0
  1628. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/space_to_depth_options.py +29 -0
  1629. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/split_options.py +27 -0
  1630. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/split_v_options.py +27 -0
  1631. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/square_options.py +23 -0
  1632. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/squared_difference_options.py +25 -0
  1633. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/squeeze_options.py +42 -0
  1634. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/strided_slice_options.py +35 -0
  1635. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sub_options.py +46 -0
  1636. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/sum_options.py +28 -0
  1637. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/tile_options.py +23 -0
  1638. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/transpose_conv_options.py +50 -0
  1639. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/transpose_options.py +30 -0
  1640. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/unidirectional_sequence_lstm_options.py +67 -0
  1641. executorch/backends/nxp/backend/ir/tflite_generator/builtin_options/unidirectional_sequence_rnn_options.py +49 -0
  1642. executorch/backends/nxp/backend/ir/tflite_generator/custom_options/flex_transpose_options.py +78 -0
  1643. executorch/backends/nxp/backend/ir/tflite_generator/meta/__init__.py +0 -0
  1644. executorch/backends/nxp/backend/ir/tflite_generator/meta/meta.py +255 -0
  1645. executorch/backends/nxp/backend/ir/tflite_generator/meta/types.py +198 -0
  1646. executorch/backends/nxp/backend/ir/tflite_generator/tflite_model.py +819 -0
  1647. executorch/backends/nxp/backend/neutron_converter_manager.py +151 -0
  1648. executorch/backends/nxp/backend/neutron_map.py +459 -0
  1649. executorch/backends/nxp/backend/neutron_operator_support.py +57 -0
  1650. executorch/backends/nxp/backend/neutron_target_spec.py +141 -0
  1651. executorch/backends/nxp/backend/node_format_inference.py +396 -0
  1652. executorch/backends/nxp/edge_passes/convert_reshaping_nodes_to_view.py +102 -0
  1653. executorch/backends/nxp/edge_passes/fold_redundant_qdq_pass.py +36 -0
  1654. executorch/backends/nxp/edge_passes/move_auxiliary_operator_into_separate_qdq_cluster_pass.py +301 -0
  1655. executorch/backends/nxp/edge_passes/neutron_edge_pass.py +55 -0
  1656. executorch/backends/nxp/edge_passes/neutron_edge_pass_manager.py +37 -0
  1657. executorch/backends/nxp/edge_passes/remove_additional_quantize_dequantize_nodes_pass.py +111 -0
  1658. executorch/backends/nxp/edge_passes/remove_as_strided_copy_nodes.py +66 -0
  1659. executorch/backends/nxp/edge_passes/remove_io_quant_ops_pass.py +79 -0
  1660. executorch/backends/nxp/neutron_node_extraction.py +152 -0
  1661. executorch/backends/nxp/neutron_partitioner.py +555 -0
  1662. executorch/backends/nxp/nxp_backend.py +476 -0
  1663. executorch/backends/nxp/quantizer/neutron_quantizer.py +398 -0
  1664. executorch/backends/nxp/quantizer/patterns.py +1395 -0
  1665. executorch/backends/nxp/quantizer/utils.py +257 -0
  1666. executorch/backends/nxp/tests/__init__.py +0 -0
  1667. executorch/backends/nxp/tests/calibration_dataset.py +30 -0
  1668. executorch/backends/nxp/tests/config.py +56 -0
  1669. executorch/backends/nxp/tests/config_importer.py +17 -0
  1670. executorch/backends/nxp/tests/conftest.py +38 -0
  1671. executorch/backends/nxp/tests/dataset_creator.py +417 -0
  1672. executorch/backends/nxp/tests/executorch_pipeline.py +323 -0
  1673. executorch/backends/nxp/tests/executors.py +433 -0
  1674. executorch/backends/nxp/tests/generic_tests/__init__.py +0 -0
  1675. executorch/backends/nxp/tests/generic_tests/conftest.py +35 -0
  1676. executorch/backends/nxp/tests/generic_tests/test_aot_example.py +172 -0
  1677. executorch/backends/nxp/tests/generic_tests/test_batch_norm_fusion.py +221 -0
  1678. executorch/backends/nxp/tests/generic_tests/test_cifarnet.py +104 -0
  1679. executorch/backends/nxp/tests/generic_tests/test_context_sensitive_delegation.py +180 -0
  1680. executorch/backends/nxp/tests/generic_tests/test_convert_div_to_mul.py +236 -0
  1681. executorch/backends/nxp/tests/generic_tests/test_debug_results.py +155 -0
  1682. executorch/backends/nxp/tests/generic_tests/test_decompose_split_to_slices.py +287 -0
  1683. executorch/backends/nxp/tests/generic_tests/test_gru_splitting.py +267 -0
  1684. executorch/backends/nxp/tests/generic_tests/test_integration.py +54 -0
  1685. executorch/backends/nxp/tests/generic_tests/test_kernel_selection.py +80 -0
  1686. executorch/backends/nxp/tests/generic_tests/test_linear_and_add_fusion.py +653 -0
  1687. executorch/backends/nxp/tests/generic_tests/test_move_activation_before_concatenation.py +901 -0
  1688. executorch/backends/nxp/tests/generic_tests/test_neutron_backend.py +63 -0
  1689. executorch/backends/nxp/tests/generic_tests/test_neutron_backend_executor.py +176 -0
  1690. executorch/backends/nxp/tests/generic_tests/test_neutron_converter_manager.py +55 -0
  1691. executorch/backends/nxp/tests/generic_tests/test_node_format_inference.py +121 -0
  1692. executorch/backends/nxp/tests/generic_tests/test_operator_selector.py +24 -0
  1693. executorch/backends/nxp/tests/generic_tests/test_per_channel_conversion.py +187 -0
  1694. executorch/backends/nxp/tests/generic_tests/test_profiling.py +466 -0
  1695. executorch/backends/nxp/tests/generic_tests/test_qdq_clustering_conv.py +31 -0
  1696. executorch/backends/nxp/tests/generic_tests/test_quantized_input_data.py +115 -0
  1697. executorch/backends/nxp/tests/generic_tests/test_quantizer.py +719 -0
  1698. executorch/backends/nxp/tests/generic_tests/test_removing_dead_code.py +65 -0
  1699. executorch/backends/nxp/tests/generic_tests/test_removing_nodes_with_known_outputs.py +116 -0
  1700. executorch/backends/nxp/tests/generic_tests/test_split_group_convolution.py +307 -0
  1701. executorch/backends/nxp/tests/graph_verifier.py +264 -0
  1702. executorch/backends/nxp/tests/ir/__init__.py +0 -0
  1703. executorch/backends/nxp/tests/ir/converter/__init__.py +0 -0
  1704. executorch/backends/nxp/tests/ir/converter/node_converter/__init__.py +0 -0
  1705. executorch/backends/nxp/tests/ir/converter/node_converter/test_abs_converter.py +102 -0
  1706. executorch/backends/nxp/tests/ir/converter/node_converter/test_adaptive_avg_pool2d_converter.py +142 -0
  1707. executorch/backends/nxp/tests/ir/converter/node_converter/test_add_tensor_converter.py +259 -0
  1708. executorch/backends/nxp/tests/ir/converter/node_converter/test_addmm_converter.py +190 -0
  1709. executorch/backends/nxp/tests/ir/converter/node_converter/test_amax_converter.py +432 -0
  1710. executorch/backends/nxp/tests/ir/converter/node_converter/test_amin_converter.py +432 -0
  1711. executorch/backends/nxp/tests/ir/converter/node_converter/test_avg_pool2d_converter.py +127 -0
  1712. executorch/backends/nxp/tests/ir/converter/node_converter/test_bmm_converter.py +118 -0
  1713. executorch/backends/nxp/tests/ir/converter/node_converter/test_cat_converter.py +163 -0
  1714. executorch/backends/nxp/tests/ir/converter/node_converter/test_clamp_converter.py +224 -0
  1715. executorch/backends/nxp/tests/ir/converter/node_converter/test_clone_converter.py +347 -0
  1716. executorch/backends/nxp/tests/ir/converter/node_converter/test_constant_pad_nd_converter.py +129 -0
  1717. executorch/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py +1394 -0
  1718. executorch/backends/nxp/tests/ir/converter/node_converter/test_exp_converter.py +72 -0
  1719. executorch/backends/nxp/tests/ir/converter/node_converter/test_hardtanh_converter.py +274 -0
  1720. executorch/backends/nxp/tests/ir/converter/node_converter/test_leaky_relu_converter.py +92 -0
  1721. executorch/backends/nxp/tests/ir/converter/node_converter/test_log_converter.py +76 -0
  1722. executorch/backends/nxp/tests/ir/converter/node_converter/test_max_pool_2d_converter.py +174 -0
  1723. executorch/backends/nxp/tests/ir/converter/node_converter/test_maximum_converter.py +231 -0
  1724. executorch/backends/nxp/tests/ir/converter/node_converter/test_mean_dim_converter.py +410 -0
  1725. executorch/backends/nxp/tests/ir/converter/node_converter/test_minimum_converter.py +231 -0
  1726. executorch/backends/nxp/tests/ir/converter/node_converter/test_mm_converter.py +115 -0
  1727. executorch/backends/nxp/tests/ir/converter/node_converter/test_mul_tensor_converter.py +224 -0
  1728. executorch/backends/nxp/tests/ir/converter/node_converter/test_neg_converter.py +116 -0
  1729. executorch/backends/nxp/tests/ir/converter/node_converter/test_permute_copy_converter.py +231 -0
  1730. executorch/backends/nxp/tests/ir/converter/node_converter/test_prelu_converter.py +238 -0
  1731. executorch/backends/nxp/tests/ir/converter/node_converter/test_relu_converter.py +190 -0
  1732. executorch/backends/nxp/tests/ir/converter/node_converter/test_sigmoid_converter.py +76 -0
  1733. executorch/backends/nxp/tests/ir/converter/node_converter/test_slice_tensor_converter.py +395 -0
  1734. executorch/backends/nxp/tests/ir/converter/node_converter/test_softmax_converter.py +233 -0
  1735. executorch/backends/nxp/tests/ir/converter/node_converter/test_sub_tensor_converter.py +254 -0
  1736. executorch/backends/nxp/tests/ir/converter/node_converter/test_sum_dim_int_list_converter.py +436 -0
  1737. executorch/backends/nxp/tests/ir/converter/node_converter/test_tanh_converter.py +100 -0
  1738. executorch/backends/nxp/tests/ir/converter/node_converter/test_upsample_bilinear2d.py +272 -0
  1739. executorch/backends/nxp/tests/ir/converter/node_converter/test_upsample_nearest2d.py +162 -0
  1740. executorch/backends/nxp/tests/ir/converter/node_converter/test_view_copy_converter.py +420 -0
  1741. executorch/backends/nxp/tests/ir/edge_passes/__init__.py +0 -0
  1742. executorch/backends/nxp/tests/ir/edge_passes/test_convert_reshaping_nodes_to_view.py +126 -0
  1743. executorch/backends/nxp/tests/ir/edge_passes/test_edge_passes.py +402 -0
  1744. executorch/backends/nxp/tests/ir/edge_passes/test_linear_bn_fusing.py +316 -0
  1745. executorch/backends/nxp/tests/ir/edge_passes/test_remove_io_quant_ops_pass.py +128 -0
  1746. executorch/backends/nxp/tests/ir/test_model_builder.py +69 -0
  1747. executorch/backends/nxp/tests/model_output_comparator.py +391 -0
  1748. executorch/backends/nxp/tests/models.py +1083 -0
  1749. executorch/backends/nxp/tests/nsys_testing.py +828 -0
  1750. executorch/backends/nxp/tests/ops_aliases.py +66 -0
  1751. executorch/backends/nxp/tests/outputs_dir.py +10 -0
  1752. executorch/backends/nxp/tests/outputs_dir_importer.py +17 -0
  1753. executorch/backends/nxp/tests/test_convert_1d_conv_to_2d.py +528 -0
  1754. executorch/backends/nxp/tests/test_fold_redundant_qdq.py +86 -0
  1755. executorch/backends/nxp/tests/test_fuse_batch_norm_single_user.py +112 -0
  1756. executorch/backends/nxp/tests/use_qat.py +21 -0
  1757. executorch/backends/nxp/tests/utils.py +66 -0
  1758. executorch/backends/openvino/__init__.py +5 -0
  1759. executorch/backends/openvino/_passes/__init__.py +9 -0
  1760. executorch/backends/openvino/_passes/decompose_floor_divide_pass.py +106 -0
  1761. executorch/backends/openvino/partitioner.py +238 -0
  1762. executorch/backends/openvino/preprocess.py +62 -0
  1763. executorch/backends/openvino/quantizer/__init__.py +9 -0
  1764. executorch/backends/openvino/quantizer/llm_compression.py +133 -0
  1765. executorch/backends/openvino/quantizer/observers.py +206 -0
  1766. executorch/backends/openvino/quantizer/quantizer.py +675 -0
  1767. executorch/backends/openvino/test/tester/__init__.py +19 -0
  1768. executorch/backends/openvino/test/tester/tester.py +94 -0
  1769. executorch/backends/openvino/tests/models/test_classification.py +38 -0
  1770. executorch/backends/openvino/tests/ops/base_openvino_op_test.py +86 -0
  1771. executorch/backends/openvino/tests/ops/test_add.py +22 -0
  1772. executorch/backends/openvino/tests/ops/test_addmm.py +28 -0
  1773. executorch/backends/openvino/tests/ops/test_arange.py +23 -0
  1774. executorch/backends/openvino/tests/ops/test_batch_norm.py +61 -0
  1775. executorch/backends/openvino/tests/ops/test_convolution.py +296 -0
  1776. executorch/backends/openvino/tests/ops/test_mean.py +90 -0
  1777. executorch/backends/openvino/tests/ops/test_permute.py +33 -0
  1778. executorch/backends/openvino/tests/ops/test_pooling.py +91 -0
  1779. executorch/backends/openvino/tests/ops/test_unary_ops.py +37 -0
  1780. executorch/backends/openvino/tests/ops/test_view.py +35 -0
  1781. executorch/backends/openvino/tests/quantizer/synthetic_test_models.py +22 -0
  1782. executorch/backends/openvino/tests/quantizer/test_llm_compression.py +249 -0
  1783. executorch/backends/openvino/tests/test_runner.py +73 -0
  1784. executorch/backends/qualcomm/__init__.py +41 -0
  1785. executorch/backends/qualcomm/_passes/__init__.py +135 -0
  1786. executorch/backends/qualcomm/_passes/annotate_avg_pool1d.py +63 -0
  1787. executorch/backends/qualcomm/_passes/annotate_quant_attrs.py +145 -0
  1788. executorch/backends/qualcomm/_passes/annotate_stack.py +44 -0
  1789. executorch/backends/qualcomm/_passes/annotate_unbind.py +42 -0
  1790. executorch/backends/qualcomm/_passes/backends/__init__.py +5 -0
  1791. executorch/backends/qualcomm/_passes/backends/gpu/__init__.py +11 -0
  1792. executorch/backends/qualcomm/_passes/backends/gpu/qnn_gpu_pass_manager.py +49 -0
  1793. executorch/backends/qualcomm/_passes/backends/htp/__init__.py +11 -0
  1794. executorch/backends/qualcomm/_passes/backends/htp/qnn_htp_pass_manager.py +49 -0
  1795. executorch/backends/qualcomm/_passes/backends/lpai/__init__.py +11 -0
  1796. executorch/backends/qualcomm/_passes/backends/lpai/qnn_lpai_pass_manager.py +95 -0
  1797. executorch/backends/qualcomm/_passes/build_quant_io.py +53 -0
  1798. executorch/backends/qualcomm/_passes/canonicalize_conv.py +216 -0
  1799. executorch/backends/qualcomm/_passes/convert_bmm_to_matmul.py +83 -0
  1800. executorch/backends/qualcomm/_passes/convert_linear_to_conv2d.py +232 -0
  1801. executorch/backends/qualcomm/_passes/convert_mha_to_sha.py +626 -0
  1802. executorch/backends/qualcomm/_passes/convert_square_to_pow.py +38 -0
  1803. executorch/backends/qualcomm/_passes/decompose_acos.py +75 -0
  1804. executorch/backends/qualcomm/_passes/decompose_addmm.py +115 -0
  1805. executorch/backends/qualcomm/_passes/decompose_any.py +64 -0
  1806. executorch/backends/qualcomm/_passes/decompose_atan2.py +210 -0
  1807. executorch/backends/qualcomm/_passes/decompose_binary_alpha.py +61 -0
  1808. executorch/backends/qualcomm/_passes/decompose_cdist.py +74 -0
  1809. executorch/backends/qualcomm/_passes/decompose_col_im.py +139 -0
  1810. executorch/backends/qualcomm/_passes/decompose_diagonal.py +234 -0
  1811. executorch/backends/qualcomm/_passes/decompose_div_mode.py +91 -0
  1812. executorch/backends/qualcomm/_passes/decompose_einsum.py +51 -0
  1813. executorch/backends/qualcomm/_passes/decompose_expm1.py +46 -0
  1814. executorch/backends/qualcomm/_passes/decompose_fill.py +61 -0
  1815. executorch/backends/qualcomm/_passes/decompose_floor_divide.py +62 -0
  1816. executorch/backends/qualcomm/_passes/decompose_glu.py +55 -0
  1817. executorch/backends/qualcomm/_passes/decompose_hardsigmoid.py +59 -0
  1818. executorch/backends/qualcomm/_passes/decompose_hyperbolic_variants.py +202 -0
  1819. executorch/backends/qualcomm/_passes/decompose_linalg_vector_norm.py +81 -0
  1820. executorch/backends/qualcomm/_passes/decompose_log_variants.py +114 -0
  1821. executorch/backends/qualcomm/_passes/decompose_maxpool3d.py +133 -0
  1822. executorch/backends/qualcomm/_passes/decompose_minmaxdim.py +109 -0
  1823. executorch/backends/qualcomm/_passes/decompose_pad.py +57 -0
  1824. executorch/backends/qualcomm/_passes/decompose_reciprocal.py +39 -0
  1825. executorch/backends/qualcomm/_passes/decompose_remainder.py +118 -0
  1826. executorch/backends/qualcomm/_passes/decompose_roll.py +78 -0
  1827. executorch/backends/qualcomm/_passes/decompose_select_scatter.py +96 -0
  1828. executorch/backends/qualcomm/_passes/decompose_silu.py +45 -0
  1829. executorch/backends/qualcomm/_passes/decompose_tan.py +71 -0
  1830. executorch/backends/qualcomm/_passes/decompose_threshold.py +61 -0
  1831. executorch/backends/qualcomm/_passes/decompose_triu.py +71 -0
  1832. executorch/backends/qualcomm/_passes/decompose_trunc.py +93 -0
  1833. executorch/backends/qualcomm/_passes/decompose_var.py +177 -0
  1834. executorch/backends/qualcomm/_passes/decompose_wrap_with_autocast.py +79 -0
  1835. executorch/backends/qualcomm/_passes/expand_broadcast_tensor_shape.py +66 -0
  1836. executorch/backends/qualcomm/_passes/fixed_linear_keep_dim.py +94 -0
  1837. executorch/backends/qualcomm/_passes/fold_qdq.py +83 -0
  1838. executorch/backends/qualcomm/_passes/fuse_consecutive_cast.py +115 -0
  1839. executorch/backends/qualcomm/_passes/fuse_consecutive_transpose.py +108 -0
  1840. executorch/backends/qualcomm/_passes/i64_to_i32.py +184 -0
  1841. executorch/backends/qualcomm/_passes/insert_cast_for_fp_act_quantized_weight.py +141 -0
  1842. executorch/backends/qualcomm/_passes/insert_io_qdq.py +85 -0
  1843. executorch/backends/qualcomm/_passes/insert_requantize.py +111 -0
  1844. executorch/backends/qualcomm/_passes/insert_reshape_for_reduce_ops.py +58 -0
  1845. executorch/backends/qualcomm/_passes/layout_transform.py +360 -0
  1846. executorch/backends/qualcomm/_passes/lift_constant_scalar_operands.py +196 -0
  1847. executorch/backends/qualcomm/_passes/lpai_partition_fallback_support.py +326 -0
  1848. executorch/backends/qualcomm/_passes/qnn_pass_manager.py +522 -0
  1849. executorch/backends/qualcomm/_passes/recompose_pad_maxpool2d.py +144 -0
  1850. executorch/backends/qualcomm/_passes/recompose_pixel_unshuffle.py +81 -0
  1851. executorch/backends/qualcomm/_passes/recompose_rms_norm.py +155 -0
  1852. executorch/backends/qualcomm/_passes/remove_0d_tensor.py +36 -0
  1853. executorch/backends/qualcomm/_passes/remove_redundancy.py +72 -0
  1854. executorch/backends/qualcomm/_passes/replace_arange_args.py +48 -0
  1855. executorch/backends/qualcomm/_passes/resolve_debug_handle.py +47 -0
  1856. executorch/backends/qualcomm/_passes/seq_mse.py +237 -0
  1857. executorch/backends/qualcomm/_passes/tag_quant_io.py +45 -0
  1858. executorch/backends/qualcomm/_passes/utils.py +371 -0
  1859. executorch/backends/qualcomm/builders/__init__.py +235 -0
  1860. executorch/backends/qualcomm/builders/node_visitor.py +572 -0
  1861. executorch/backends/qualcomm/builders/node_visitor_manager.py +81 -0
  1862. executorch/backends/qualcomm/builders/op_abs.py +57 -0
  1863. executorch/backends/qualcomm/builders/op_adaptive_avg_pool2d.py +126 -0
  1864. executorch/backends/qualcomm/builders/op_adaptive_max_pool2d.py +151 -0
  1865. executorch/backends/qualcomm/builders/op_add.py +62 -0
  1866. executorch/backends/qualcomm/builders/op_amax.py +90 -0
  1867. executorch/backends/qualcomm/builders/op_amin.py +90 -0
  1868. executorch/backends/qualcomm/builders/op_and.py +60 -0
  1869. executorch/backends/qualcomm/builders/op_arange.py +41 -0
  1870. executorch/backends/qualcomm/builders/op_argmax.py +78 -0
  1871. executorch/backends/qualcomm/builders/op_argmin.py +78 -0
  1872. executorch/backends/qualcomm/builders/op_asin.py +56 -0
  1873. executorch/backends/qualcomm/builders/op_atan.py +55 -0
  1874. executorch/backends/qualcomm/builders/op_avg_pool2d.py +151 -0
  1875. executorch/backends/qualcomm/builders/op_avg_pool3d.py +293 -0
  1876. executorch/backends/qualcomm/builders/op_batch_norm.py +155 -0
  1877. executorch/backends/qualcomm/builders/op_binary.py +84 -0
  1878. executorch/backends/qualcomm/builders/op_bmm.py +59 -0
  1879. executorch/backends/qualcomm/builders/op_cat.py +89 -0
  1880. executorch/backends/qualcomm/builders/op_ceil.py +56 -0
  1881. executorch/backends/qualcomm/builders/op_channel_shuffle.py +73 -0
  1882. executorch/backends/qualcomm/builders/op_clamp.py +80 -0
  1883. executorch/backends/qualcomm/builders/op_conv.py +263 -0
  1884. executorch/backends/qualcomm/builders/op_copy.py +112 -0
  1885. executorch/backends/qualcomm/builders/op_cos.py +56 -0
  1886. executorch/backends/qualcomm/builders/op_cum_sum.py +87 -0
  1887. executorch/backends/qualcomm/builders/op_custom_op.py +107 -0
  1888. executorch/backends/qualcomm/builders/op_depth_to_space.py +78 -0
  1889. executorch/backends/qualcomm/builders/op_dequantize.py +72 -0
  1890. executorch/backends/qualcomm/builders/op_div.py +62 -0
  1891. executorch/backends/qualcomm/builders/op_elu.py +68 -0
  1892. executorch/backends/qualcomm/builders/op_embedding.py +252 -0
  1893. executorch/backends/qualcomm/builders/op_eq.py +62 -0
  1894. executorch/backends/qualcomm/builders/op_exp.py +60 -0
  1895. executorch/backends/qualcomm/builders/op_expand.py +84 -0
  1896. executorch/backends/qualcomm/builders/op_flip.py +80 -0
  1897. executorch/backends/qualcomm/builders/op_floor.py +56 -0
  1898. executorch/backends/qualcomm/builders/op_full.py +42 -0
  1899. executorch/backends/qualcomm/builders/op_full_like.py +41 -0
  1900. executorch/backends/qualcomm/builders/op_gather.py +75 -0
  1901. executorch/backends/qualcomm/builders/op_ge.py +62 -0
  1902. executorch/backends/qualcomm/builders/op_gelu.py +57 -0
  1903. executorch/backends/qualcomm/builders/op_grid_sampler_2d.py +162 -0
  1904. executorch/backends/qualcomm/builders/op_group_norm.py +96 -0
  1905. executorch/backends/qualcomm/builders/op_gt.py +62 -0
  1906. executorch/backends/qualcomm/builders/op_hardsigmoid.py +78 -0
  1907. executorch/backends/qualcomm/builders/op_hardswish.py +57 -0
  1908. executorch/backends/qualcomm/builders/op_hardtanh.py +79 -0
  1909. executorch/backends/qualcomm/builders/op_index.py +85 -0
  1910. executorch/backends/qualcomm/builders/op_index_put.py +481 -0
  1911. executorch/backends/qualcomm/builders/op_index_select.py +80 -0
  1912. executorch/backends/qualcomm/builders/op_instance_norm.py +112 -0
  1913. executorch/backends/qualcomm/builders/op_is_inf.py +71 -0
  1914. executorch/backends/qualcomm/builders/op_is_nan.py +66 -0
  1915. executorch/backends/qualcomm/builders/op_layer_norm.py +139 -0
  1916. executorch/backends/qualcomm/builders/op_le.py +62 -0
  1917. executorch/backends/qualcomm/builders/op_linear.py +98 -0
  1918. executorch/backends/qualcomm/builders/op_log.py +58 -0
  1919. executorch/backends/qualcomm/builders/op_log_softmax.py +81 -0
  1920. executorch/backends/qualcomm/builders/op_logical_not.py +56 -0
  1921. executorch/backends/qualcomm/builders/op_lt.py +62 -0
  1922. executorch/backends/qualcomm/builders/op_matmul.py +59 -0
  1923. executorch/backends/qualcomm/builders/op_max.py +62 -0
  1924. executorch/backends/qualcomm/builders/op_max_dim.py +89 -0
  1925. executorch/backends/qualcomm/builders/op_max_pool2d.py +145 -0
  1926. executorch/backends/qualcomm/builders/op_mean_dim.py +100 -0
  1927. executorch/backends/qualcomm/builders/op_min.py +62 -0
  1928. executorch/backends/qualcomm/builders/op_min_dim.py +89 -0
  1929. executorch/backends/qualcomm/builders/op_mul.py +62 -0
  1930. executorch/backends/qualcomm/builders/op_ne.py +62 -0
  1931. executorch/backends/qualcomm/builders/op_neg.py +54 -0
  1932. executorch/backends/qualcomm/builders/op_or.py +60 -0
  1933. executorch/backends/qualcomm/builders/op_pad.py +107 -0
  1934. executorch/backends/qualcomm/builders/op_pow.py +75 -0
  1935. executorch/backends/qualcomm/builders/op_prelu.py +69 -0
  1936. executorch/backends/qualcomm/builders/op_quantize.py +73 -0
  1937. executorch/backends/qualcomm/builders/op_rand.py +79 -0
  1938. executorch/backends/qualcomm/builders/op_randn.py +79 -0
  1939. executorch/backends/qualcomm/builders/op_relu.py +58 -0
  1940. executorch/backends/qualcomm/builders/op_repeat.py +68 -0
  1941. executorch/backends/qualcomm/builders/op_reshape.py +55 -0
  1942. executorch/backends/qualcomm/builders/op_resize.py +85 -0
  1943. executorch/backends/qualcomm/builders/op_rms_norm.py +149 -0
  1944. executorch/backends/qualcomm/builders/op_round.py +58 -0
  1945. executorch/backends/qualcomm/builders/op_rsqrt.py +58 -0
  1946. executorch/backends/qualcomm/builders/op_scalar_tensor.py +51 -0
  1947. executorch/backends/qualcomm/builders/op_scatter_elements.py +103 -0
  1948. executorch/backends/qualcomm/builders/op_select_copy.py +89 -0
  1949. executorch/backends/qualcomm/builders/op_sigmoid.py +58 -0
  1950. executorch/backends/qualcomm/builders/op_sign.py +56 -0
  1951. executorch/backends/qualcomm/builders/op_sin.py +56 -0
  1952. executorch/backends/qualcomm/builders/op_skip_ops.py +55 -0
  1953. executorch/backends/qualcomm/builders/op_slice_copy.py +95 -0
  1954. executorch/backends/qualcomm/builders/op_slice_scatter.py +122 -0
  1955. executorch/backends/qualcomm/builders/op_softmax.py +79 -0
  1956. executorch/backends/qualcomm/builders/op_space_to_depth.py +78 -0
  1957. executorch/backends/qualcomm/builders/op_split_with_sizes.py +99 -0
  1958. executorch/backends/qualcomm/builders/op_sqrt.py +60 -0
  1959. executorch/backends/qualcomm/builders/op_squeeze.py +57 -0
  1960. executorch/backends/qualcomm/builders/op_stack.py +71 -0
  1961. executorch/backends/qualcomm/builders/op_sub.py +62 -0
  1962. executorch/backends/qualcomm/builders/op_sum_int_list.py +84 -0
  1963. executorch/backends/qualcomm/builders/op_tanh.py +57 -0
  1964. executorch/backends/qualcomm/builders/op_to.py +149 -0
  1965. executorch/backends/qualcomm/builders/op_topk.py +112 -0
  1966. executorch/backends/qualcomm/builders/op_transpose.py +76 -0
  1967. executorch/backends/qualcomm/builders/op_unary.py +66 -0
  1968. executorch/backends/qualcomm/builders/op_unbind.py +73 -0
  1969. executorch/backends/qualcomm/builders/op_unsqueeze.py +57 -0
  1970. executorch/backends/qualcomm/builders/op_upsample_bilinear2d.py +68 -0
  1971. executorch/backends/qualcomm/builders/op_upsample_nearest2d.py +68 -0
  1972. executorch/backends/qualcomm/builders/op_where.py +82 -0
  1973. executorch/backends/qualcomm/builders/op_xor.py +60 -0
  1974. executorch/backends/qualcomm/builders/qnn_constants.py +704 -0
  1975. executorch/backends/qualcomm/builders/utils.py +162 -0
  1976. executorch/backends/qualcomm/custom_op/annotator.py +137 -0
  1977. executorch/backends/qualcomm/custom_op/interface.py +112 -0
  1978. executorch/backends/qualcomm/debugger/format_outputs.py +235 -0
  1979. executorch/backends/qualcomm/debugger/qcom_numerical_comparator_base.py +194 -0
  1980. executorch/backends/qualcomm/debugger/qcom_numerical_comparator_sample.py +75 -0
  1981. executorch/backends/qualcomm/debugger/qnn_intermediate_debugger.py +101 -0
  1982. executorch/backends/qualcomm/debugger/utils.py +435 -0
  1983. executorch/backends/qualcomm/export_utils.py +969 -0
  1984. executorch/backends/qualcomm/genai_pipeline/__init__.py +49 -0
  1985. executorch/backends/qualcomm/genai_pipeline/configs/__init__.py +41 -0
  1986. executorch/backends/qualcomm/genai_pipeline/configs/compilation_input_config.py +38 -0
  1987. executorch/backends/qualcomm/genai_pipeline/configs/compilation_output_config.py +29 -0
  1988. executorch/backends/qualcomm/genai_pipeline/configs/inference_input_config.py +36 -0
  1989. executorch/backends/qualcomm/genai_pipeline/configs/inference_output_config.py +30 -0
  1990. executorch/backends/qualcomm/genai_pipeline/configs/model_preparation_input_config.py +23 -0
  1991. executorch/backends/qualcomm/genai_pipeline/configs/model_preparation_output_config.py +33 -0
  1992. executorch/backends/qualcomm/genai_pipeline/configs/quantization_input_config.py +38 -0
  1993. executorch/backends/qualcomm/genai_pipeline/configs/quantization_output_config.py +19 -0
  1994. executorch/backends/qualcomm/genai_pipeline/engine_proxy.py +77 -0
  1995. executorch/backends/qualcomm/genai_pipeline/exceptions.py +52 -0
  1996. executorch/backends/qualcomm/genai_pipeline/pipeline_context.py +116 -0
  1997. executorch/backends/qualcomm/genai_pipeline/pipeline_types.py +29 -0
  1998. executorch/backends/qualcomm/genai_pipeline/tests/configs/test_compilation_input_config.py +28 -0
  1999. executorch/backends/qualcomm/genai_pipeline/tests/configs/test_inference_input_config.py +29 -0
  2000. executorch/backends/qualcomm/genai_pipeline/tests/configs/test_model_preparation_input_config.py +28 -0
  2001. executorch/backends/qualcomm/genai_pipeline/tests/configs/test_quantization_input_config.py +29 -0
  2002. executorch/backends/qualcomm/genai_pipeline/tests/test_engine_proxy.py +80 -0
  2003. executorch/backends/qualcomm/genai_pipeline/tests/test_exceptions.py +49 -0
  2004. executorch/backends/qualcomm/genai_pipeline/tests/test_pipeline_context.py +157 -0
  2005. executorch/backends/qualcomm/genai_pipeline/tests/test_utils.py +27 -0
  2006. executorch/backends/qualcomm/partition/common_defs.py +39 -0
  2007. executorch/backends/qualcomm/partition/qnn_partitioner.py +241 -0
  2008. executorch/backends/qualcomm/partition/utils.py +79 -0
  2009. executorch/backends/qualcomm/qnn_preprocess.py +247 -0
  2010. executorch/backends/qualcomm/quantizer/annotators/__init__.py +0 -0
  2011. executorch/backends/qualcomm/quantizer/annotators/htp_rules.py +1879 -0
  2012. executorch/backends/qualcomm/quantizer/annotators/lpai_rules.py +1134 -0
  2013. executorch/backends/qualcomm/quantizer/backend_opinfo_adapter.py +138 -0
  2014. executorch/backends/qualcomm/quantizer/custom_annotation.py +466 -0
  2015. executorch/backends/qualcomm/quantizer/observers/concat_observer.py +76 -0
  2016. executorch/backends/qualcomm/quantizer/observers/per_block_param_observer.py +146 -0
  2017. executorch/backends/qualcomm/quantizer/observers/per_channel_param_observer.py +157 -0
  2018. executorch/backends/qualcomm/quantizer/qconfig.py +1031 -0
  2019. executorch/backends/qualcomm/quantizer/quant_recipe.py +500 -0
  2020. executorch/backends/qualcomm/quantizer/quantizer.py +766 -0
  2021. executorch/backends/qualcomm/quantizer/registry_loader.py +26 -0
  2022. executorch/backends/qualcomm/quantizer/rules.py +258 -0
  2023. executorch/backends/qualcomm/quantizer/validators.py +461 -0
  2024. executorch/backends/qualcomm/recipes/__init__.py +16 -0
  2025. executorch/backends/qualcomm/recipes/qnn_recipe_provider.py +188 -0
  2026. executorch/backends/qualcomm/recipes/qnn_recipe_types.py +28 -0
  2027. executorch/backends/qualcomm/scripts/download_qnn_sdk.py +863 -0
  2028. executorch/backends/qualcomm/serialization/qc_compiler_spec.fbs +369 -0
  2029. executorch/backends/qualcomm/serialization/qc_schema.py +305 -0
  2030. executorch/backends/qualcomm/serialization/qc_schema_serialize.py +59 -0
  2031. executorch/backends/qualcomm/tests/conftest.py +61 -0
  2032. executorch/backends/qualcomm/tests/models.py +2968 -0
  2033. executorch/backends/qualcomm/tests/rework/common/pass/test.py +5 -0
  2034. executorch/backends/qualcomm/tests/rework/common/utils/test.py +5 -0
  2035. executorch/backends/qualcomm/tests/rework/conftest.py +589 -0
  2036. executorch/backends/qualcomm/tests/rework/gpu/conftest.py +5 -0
  2037. executorch/backends/qualcomm/tests/rework/gpu/e2e/genai/test.py +5 -0
  2038. executorch/backends/qualcomm/tests/rework/gpu/e2e/oss/test.py +5 -0
  2039. executorch/backends/qualcomm/tests/rework/gpu/feature/test.py +5 -0
  2040. executorch/backends/qualcomm/tests/rework/gpu/op/test.py +5 -0
  2041. executorch/backends/qualcomm/tests/rework/htp/conftest.py +102 -0
  2042. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v68/test.py +5 -0
  2043. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v69/test.py +5 -0
  2044. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v73/test.py +5 -0
  2045. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v75/test.py +5 -0
  2046. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v79/test.py +5 -0
  2047. executorch/backends/qualcomm/tests/rework/htp/e2e/genai/v81/test.py +5 -0
  2048. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v68/test.py +5 -0
  2049. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v69/test.py +5 -0
  2050. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v73/test.py +5 -0
  2051. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v75/test.py +5 -0
  2052. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v79/test.py +5 -0
  2053. executorch/backends/qualcomm/tests/rework/htp/e2e/oss/v81/test.py +5 -0
  2054. executorch/backends/qualcomm/tests/rework/htp/feature/conftest.py +37 -0
  2055. executorch/backends/qualcomm/tests/rework/htp/feature/v68/test.py +112 -0
  2056. executorch/backends/qualcomm/tests/rework/htp/feature/v69/test.py +5 -0
  2057. executorch/backends/qualcomm/tests/rework/htp/feature/v73/test.py +5 -0
  2058. executorch/backends/qualcomm/tests/rework/htp/feature/v75/test.py +5 -0
  2059. executorch/backends/qualcomm/tests/rework/htp/feature/v79/test.py +5 -0
  2060. executorch/backends/qualcomm/tests/rework/htp/feature/v81/test.py +5 -0
  2061. executorch/backends/qualcomm/tests/rework/htp/op/v68/test.py +1357 -0
  2062. executorch/backends/qualcomm/tests/rework/htp/op/v69/test.py +5 -0
  2063. executorch/backends/qualcomm/tests/rework/htp/op/v73/test.py +5 -0
  2064. executorch/backends/qualcomm/tests/rework/htp/op/v75/test.py +5 -0
  2065. executorch/backends/qualcomm/tests/rework/htp/op/v79/test.py +5 -0
  2066. executorch/backends/qualcomm/tests/rework/htp/op/v81/test.py +5 -0
  2067. executorch/backends/qualcomm/tests/rework/lpai/conftest.py +5 -0
  2068. executorch/backends/qualcomm/tests/rework/lpai/e2e/oss/v6/test.py +5 -0
  2069. executorch/backends/qualcomm/tests/rework/lpai/feature/v6/test.py +5 -0
  2070. executorch/backends/qualcomm/tests/rework/lpai/op/v6/test.py +5 -0
  2071. executorch/backends/qualcomm/tests/rework/src/feature.py +692 -0
  2072. executorch/backends/qualcomm/tests/rework/src/op.py +5032 -0
  2073. executorch/backends/qualcomm/tests/rework/src/pattern.py +5 -0
  2074. executorch/backends/qualcomm/tests/test_passes.py +475 -0
  2075. executorch/backends/qualcomm/tests/test_qnn_delegate.py +11079 -0
  2076. executorch/backends/qualcomm/tests/test_qnn_delegate_x86.py +47 -0
  2077. executorch/backends/qualcomm/tests/tester.py +117 -0
  2078. executorch/backends/qualcomm/tests/utils.py +930 -0
  2079. executorch/backends/qualcomm/utils/check_qnn_version.py +74 -0
  2080. executorch/backends/qualcomm/utils/constants.py +64 -0
  2081. executorch/backends/qualcomm/utils/qnn_manager_lifecycle.py +94 -0
  2082. executorch/backends/qualcomm/utils/utils.py +1427 -0
  2083. executorch/backends/samsung/_passes/annotate_qparams.py +201 -0
  2084. executorch/backends/samsung/_passes/annotate_scalar_parameters.py +65 -0
  2085. executorch/backends/samsung/_passes/conv1d_to_conv2d.py +97 -0
  2086. executorch/backends/samsung/_passes/customized_constant_prop.py +40 -0
  2087. executorch/backends/samsung/_passes/fold_qdq.py +36 -0
  2088. executorch/backends/samsung/_passes/fuse_conv_act.py +77 -0
  2089. executorch/backends/samsung/_passes/insert_qdq.py +164 -0
  2090. executorch/backends/samsung/_passes/remove_useless_ops.py +87 -0
  2091. executorch/backends/samsung/_passes/replace_scalar_ops.py +46 -0
  2092. executorch/backends/samsung/_passes/utils.py +15 -0
  2093. executorch/backends/samsung/builders/__init__.py +97 -0
  2094. executorch/backends/samsung/builders/node_visitor.py +116 -0
  2095. executorch/backends/samsung/builders/op_add.py +41 -0
  2096. executorch/backends/samsung/builders/op_avg_pool2d.py +70 -0
  2097. executorch/backends/samsung/builders/op_batch_norm.py +56 -0
  2098. executorch/backends/samsung/builders/op_bmm.py +43 -0
  2099. executorch/backends/samsung/builders/op_cat.py +50 -0
  2100. executorch/backends/samsung/builders/op_clamp.py +47 -0
  2101. executorch/backends/samsung/builders/op_constant_pad_nd.py +56 -0
  2102. executorch/backends/samsung/builders/op_conv2d.py +89 -0
  2103. executorch/backends/samsung/builders/op_dequantize.py +19 -0
  2104. executorch/backends/samsung/builders/op_div.py +42 -0
  2105. executorch/backends/samsung/builders/op_embedding.py +41 -0
  2106. executorch/backends/samsung/builders/op_expand_copy.py +77 -0
  2107. executorch/backends/samsung/builders/op_gelu.py +40 -0
  2108. executorch/backends/samsung/builders/op_getitem.py +32 -0
  2109. executorch/backends/samsung/builders/op_hardsigmoid.py +35 -0
  2110. executorch/backends/samsung/builders/op_hardswish.py +35 -0
  2111. executorch/backends/samsung/builders/op_hardtanh.py +42 -0
  2112. executorch/backends/samsung/builders/op_layer_norm.py +53 -0
  2113. executorch/backends/samsung/builders/op_leaky_relu.py +58 -0
  2114. executorch/backends/samsung/builders/op_linear.py +51 -0
  2115. executorch/backends/samsung/builders/op_log_softmax.py +39 -0
  2116. executorch/backends/samsung/builders/op_max_pool2d.py +96 -0
  2117. executorch/backends/samsung/builders/op_maximum.py +37 -0
  2118. executorch/backends/samsung/builders/op_mean_dim.py +49 -0
  2119. executorch/backends/samsung/builders/op_minimum.py +39 -0
  2120. executorch/backends/samsung/builders/op_mul.py +43 -0
  2121. executorch/backends/samsung/builders/op_permute.py +37 -0
  2122. executorch/backends/samsung/builders/op_pixel_shuffle.py +38 -0
  2123. executorch/backends/samsung/builders/op_quantize.py +60 -0
  2124. executorch/backends/samsung/builders/op_relu.py +37 -0
  2125. executorch/backends/samsung/builders/op_reshape.py +34 -0
  2126. executorch/backends/samsung/builders/op_rsqrt.py +35 -0
  2127. executorch/backends/samsung/builders/op_select.py +52 -0
  2128. executorch/backends/samsung/builders/op_slice_copy.py +59 -0
  2129. executorch/backends/samsung/builders/op_softmax.py +39 -0
  2130. executorch/backends/samsung/builders/op_sqrt.py +35 -0
  2131. executorch/backends/samsung/builders/op_squeeze.py +37 -0
  2132. executorch/backends/samsung/builders/op_sub.py +39 -0
  2133. executorch/backends/samsung/builders/op_to_copy.py +44 -0
  2134. executorch/backends/samsung/builders/op_unsqueeze.py +35 -0
  2135. executorch/backends/samsung/builders/op_upsample_bilinear2d.py +53 -0
  2136. executorch/backends/samsung/builders/op_upsample_nearest2d.py +52 -0
  2137. executorch/backends/samsung/builders/utils.py +64 -0
  2138. executorch/backends/samsung/enn_preprocess.py +110 -0
  2139. executorch/backends/samsung/partition/enn_partitioner.py +134 -0
  2140. executorch/backends/samsung/quantizer/__init__.py +10 -0
  2141. executorch/backends/samsung/quantizer/annotator.py +871 -0
  2142. executorch/backends/samsung/quantizer/qconfig.py +174 -0
  2143. executorch/backends/samsung/quantizer/quantizer.py +65 -0
  2144. executorch/backends/samsung/serialization/compile_options.py +78 -0
  2145. executorch/backends/samsung/serialization/compile_options_def.fbs +23 -0
  2146. executorch/backends/samsung/serialization/enn_graph_schema.py +141 -0
  2147. executorch/backends/samsung/test/models/test_deeplab_v3.py +28 -0
  2148. executorch/backends/samsung/test/models/test_edsr.py +30 -0
  2149. executorch/backends/samsung/test/models/test_inception_v3.py +33 -0
  2150. executorch/backends/samsung/test/models/test_inception_v4.py +30 -0
  2151. executorch/backends/samsung/test/models/test_mobilenet_v2.py +28 -0
  2152. executorch/backends/samsung/test/models/test_mobilenet_v3.py +33 -0
  2153. executorch/backends/samsung/test/models/test_resnet18.py +30 -0
  2154. executorch/backends/samsung/test/models/test_resnet50.py +30 -0
  2155. executorch/backends/samsung/test/models/test_torchvision_vit.py +32 -0
  2156. executorch/backends/samsung/test/models/test_wav2letter.py +28 -0
  2157. executorch/backends/samsung/test/ops/test_add.py +63 -0
  2158. executorch/backends/samsung/test/ops/test_avg_pool2d.py +66 -0
  2159. executorch/backends/samsung/test/ops/test_batch_norm.py +52 -0
  2160. executorch/backends/samsung/test/ops/test_bmm.py +50 -0
  2161. executorch/backends/samsung/test/ops/test_cat.py +49 -0
  2162. executorch/backends/samsung/test/ops/test_clamp.py +50 -0
  2163. executorch/backends/samsung/test/ops/test_constant_pad_nd.py +46 -0
  2164. executorch/backends/samsung/test/ops/test_conv2d.py +95 -0
  2165. executorch/backends/samsung/test/ops/test_div.py +50 -0
  2166. executorch/backends/samsung/test/ops/test_embedding.py +46 -0
  2167. executorch/backends/samsung/test/ops/test_expand_copy.py +46 -0
  2168. executorch/backends/samsung/test/ops/test_gelu.py +65 -0
  2169. executorch/backends/samsung/test/ops/test_leaky_relu.py +47 -0
  2170. executorch/backends/samsung/test/ops/test_linear.py +48 -0
  2171. executorch/backends/samsung/test/ops/test_log_softmax.py +46 -0
  2172. executorch/backends/samsung/test/ops/test_max_pool2d.py +72 -0
  2173. executorch/backends/samsung/test/ops/test_mean_dim.py +51 -0
  2174. executorch/backends/samsung/test/ops/test_minimum.py +45 -0
  2175. executorch/backends/samsung/test/ops/test_mul.py +63 -0
  2176. executorch/backends/samsung/test/ops/test_permute.py +55 -0
  2177. executorch/backends/samsung/test/ops/test_pixel_shuffle.py +49 -0
  2178. executorch/backends/samsung/test/ops/test_relu.py +65 -0
  2179. executorch/backends/samsung/test/ops/test_reshape.py +46 -0
  2180. executorch/backends/samsung/test/ops/test_rsqrt.py +46 -0
  2181. executorch/backends/samsung/test/ops/test_select.py +52 -0
  2182. executorch/backends/samsung/test/ops/test_slice_copy.py +46 -0
  2183. executorch/backends/samsung/test/ops/test_softmax.py +46 -0
  2184. executorch/backends/samsung/test/ops/test_sqrt.py +46 -0
  2185. executorch/backends/samsung/test/ops/test_squeeze.py +47 -0
  2186. executorch/backends/samsung/test/ops/test_sub.py +63 -0
  2187. executorch/backends/samsung/test/ops/test_to_copy.py +49 -0
  2188. executorch/backends/samsung/test/ops/test_unsqueeze.py +47 -0
  2189. executorch/backends/samsung/test/ops/test_upsample_bilinear2d.py +54 -0
  2190. executorch/backends/samsung/test/ops/test_upsample_nearest2d.py +53 -0
  2191. executorch/backends/samsung/test/tester/__init__.py +11 -0
  2192. executorch/backends/samsung/test/tester/samsung_tester.py +125 -0
  2193. executorch/backends/samsung/test/utils/__init__.py +11 -0
  2194. executorch/backends/samsung/test/utils/runtime_executor.py +186 -0
  2195. executorch/backends/samsung/utils/constants.py +45 -0
  2196. executorch/backends/samsung/utils/export_utils.py +93 -0
  2197. executorch/backends/samsung/utils/utils.py +125 -0
  2198. executorch/backends/test/facto/__init__.py +0 -0
  2199. executorch/backends/test/facto/facto_specs.py +59 -0
  2200. executorch/backends/test/facto/test_facto.py +301 -0
  2201. executorch/backends/test/graph_builder.py +158 -0
  2202. executorch/backends/test/harness/__init__.py +3 -0
  2203. executorch/backends/test/harness/error_statistics.py +99 -0
  2204. executorch/backends/test/harness/stages/__init__.py +23 -0
  2205. executorch/backends/test/harness/stages/export.py +32 -0
  2206. executorch/backends/test/harness/stages/partition.py +26 -0
  2207. executorch/backends/test/harness/stages/quantize.py +130 -0
  2208. executorch/backends/test/harness/stages/run_passes.py +66 -0
  2209. executorch/backends/test/harness/stages/serialize.py +59 -0
  2210. executorch/backends/test/harness/stages/stage.py +91 -0
  2211. executorch/backends/test/harness/stages/to_edge.py +27 -0
  2212. executorch/backends/test/harness/stages/to_edge_transform_and_lower.py +50 -0
  2213. executorch/backends/test/harness/stages/to_executorch.py +54 -0
  2214. executorch/backends/test/harness/tester.py +543 -0
  2215. executorch/backends/test/harness/tests/test_error_statistics.py +67 -0
  2216. executorch/backends/test/program_builder.py +138 -0
  2217. executorch/backends/test/suite/__init__.py +74 -0
  2218. executorch/backends/test/suite/conftest.py +221 -0
  2219. executorch/backends/test/suite/context.py +34 -0
  2220. executorch/backends/test/suite/discovery.py +100 -0
  2221. executorch/backends/test/suite/flow.py +202 -0
  2222. executorch/backends/test/suite/flows/__init__.py +7 -0
  2223. executorch/backends/test/suite/flows/arm.py +98 -0
  2224. executorch/backends/test/suite/flows/coreml.py +31 -0
  2225. executorch/backends/test/suite/flows/mlx.py +14 -0
  2226. executorch/backends/test/suite/flows/openvino.py +60 -0
  2227. executorch/backends/test/suite/flows/portable.py +19 -0
  2228. executorch/backends/test/suite/flows/qualcomm.py +61 -0
  2229. executorch/backends/test/suite/flows/vulkan.py +44 -0
  2230. executorch/backends/test/suite/flows/webgpu.py +36 -0
  2231. executorch/backends/test/suite/flows/xnnpack.py +79 -0
  2232. executorch/backends/test/suite/generate_markdown_summary.py +249 -0
  2233. executorch/backends/test/suite/generate_markdown_summary_json.py +229 -0
  2234. executorch/backends/test/suite/models/__init__.py +7 -0
  2235. executorch/backends/test/suite/models/test_torchaudio.py +110 -0
  2236. executorch/backends/test/suite/models/test_torchvision.py +194 -0
  2237. executorch/backends/test/suite/operators/__init__.py +108 -0
  2238. executorch/backends/test/suite/operators/test_abs.py +60 -0
  2239. executorch/backends/test/suite/operators/test_adaptive_avgpool1d.py +102 -0
  2240. executorch/backends/test/suite/operators/test_adaptive_avgpool2d.py +112 -0
  2241. executorch/backends/test/suite/operators/test_adaptive_avgpool3d.py +112 -0
  2242. executorch/backends/test/suite/operators/test_adaptive_maxpool1d.py +125 -0
  2243. executorch/backends/test/suite/operators/test_adaptive_maxpool2d.py +135 -0
  2244. executorch/backends/test/suite/operators/test_adaptive_maxpool3d.py +135 -0
  2245. executorch/backends/test/suite/operators/test_add.py +76 -0
  2246. executorch/backends/test/suite/operators/test_amax.py +257 -0
  2247. executorch/backends/test/suite/operators/test_amin.py +259 -0
  2248. executorch/backends/test/suite/operators/test_argmax.py +201 -0
  2249. executorch/backends/test/suite/operators/test_argmin.py +201 -0
  2250. executorch/backends/test/suite/operators/test_avgpool1d.py +155 -0
  2251. executorch/backends/test/suite/operators/test_avgpool2d.py +168 -0
  2252. executorch/backends/test/suite/operators/test_avgpool3d.py +163 -0
  2253. executorch/backends/test/suite/operators/test_cat.py +176 -0
  2254. executorch/backends/test/suite/operators/test_ceil.py +60 -0
  2255. executorch/backends/test/suite/operators/test_clamp.py +86 -0
  2256. executorch/backends/test/suite/operators/test_conv1d.py +144 -0
  2257. executorch/backends/test/suite/operators/test_conv2d.py +167 -0
  2258. executorch/backends/test/suite/operators/test_conv3d.py +162 -0
  2259. executorch/backends/test/suite/operators/test_convtranspose1d.py +144 -0
  2260. executorch/backends/test/suite/operators/test_convtranspose2d.py +171 -0
  2261. executorch/backends/test/suite/operators/test_convtranspose3d.py +166 -0
  2262. executorch/backends/test/suite/operators/test_div.py +110 -0
  2263. executorch/backends/test/suite/operators/test_elu.py +49 -0
  2264. executorch/backends/test/suite/operators/test_embedding.py +89 -0
  2265. executorch/backends/test/suite/operators/test_embedding_bag.py +118 -0
  2266. executorch/backends/test/suite/operators/test_exp.py +65 -0
  2267. executorch/backends/test/suite/operators/test_expand.py +122 -0
  2268. executorch/backends/test/suite/operators/test_floor.py +57 -0
  2269. executorch/backends/test/suite/operators/test_floor_divide.py +216 -0
  2270. executorch/backends/test/suite/operators/test_gelu.py +52 -0
  2271. executorch/backends/test/suite/operators/test_glu.py +52 -0
  2272. executorch/backends/test/suite/operators/test_hardsigmoid.py +50 -0
  2273. executorch/backends/test/suite/operators/test_hardswish.py +50 -0
  2274. executorch/backends/test/suite/operators/test_hardtanh.py +57 -0
  2275. executorch/backends/test/suite/operators/test_index_put.py +455 -0
  2276. executorch/backends/test/suite/operators/test_index_select.py +128 -0
  2277. executorch/backends/test/suite/operators/test_leaky_relu.py +56 -0
  2278. executorch/backends/test/suite/operators/test_linear.py +124 -0
  2279. executorch/backends/test/suite/operators/test_log.py +80 -0
  2280. executorch/backends/test/suite/operators/test_log10.py +60 -0
  2281. executorch/backends/test/suite/operators/test_log1p.py +60 -0
  2282. executorch/backends/test/suite/operators/test_log2.py +60 -0
  2283. executorch/backends/test/suite/operators/test_logsigmoid.py +40 -0
  2284. executorch/backends/test/suite/operators/test_lstm.py +247 -0
  2285. executorch/backends/test/suite/operators/test_masked_fill.py +101 -0
  2286. executorch/backends/test/suite/operators/test_maxpool1d.py +185 -0
  2287. executorch/backends/test/suite/operators/test_maxpool2d.py +191 -0
  2288. executorch/backends/test/suite/operators/test_maxpool3d.py +189 -0
  2289. executorch/backends/test/suite/operators/test_mean.py +305 -0
  2290. executorch/backends/test/suite/operators/test_median.py +188 -0
  2291. executorch/backends/test/suite/operators/test_mul.py +66 -0
  2292. executorch/backends/test/suite/operators/test_neg.py +70 -0
  2293. executorch/backends/test/suite/operators/test_permute.py +109 -0
  2294. executorch/backends/test/suite/operators/test_pow.py +149 -0
  2295. executorch/backends/test/suite/operators/test_prelu.py +55 -0
  2296. executorch/backends/test/suite/operators/test_relu.py +45 -0
  2297. executorch/backends/test/suite/operators/test_reshape.py +82 -0
  2298. executorch/backends/test/suite/operators/test_round.py +129 -0
  2299. executorch/backends/test/suite/operators/test_rsqrt.py +76 -0
  2300. executorch/backends/test/suite/operators/test_select.py +89 -0
  2301. executorch/backends/test/suite/operators/test_sigmoid.py +40 -0
  2302. executorch/backends/test/suite/operators/test_silu.py +50 -0
  2303. executorch/backends/test/suite/operators/test_slice.py +146 -0
  2304. executorch/backends/test/suite/operators/test_split.py +119 -0
  2305. executorch/backends/test/suite/operators/test_sqrt.py +71 -0
  2306. executorch/backends/test/suite/operators/test_square.py +67 -0
  2307. executorch/backends/test/suite/operators/test_squeeze.py +86 -0
  2308. executorch/backends/test/suite/operators/test_stack.py +114 -0
  2309. executorch/backends/test/suite/operators/test_sub.py +84 -0
  2310. executorch/backends/test/suite/operators/test_tanh.py +40 -0
  2311. executorch/backends/test/suite/operators/test_threshold.py +72 -0
  2312. executorch/backends/test/suite/operators/test_transpose.py +143 -0
  2313. executorch/backends/test/suite/operators/test_trunc.py +73 -0
  2314. executorch/backends/test/suite/operators/test_unsqueeze.py +110 -0
  2315. executorch/backends/test/suite/operators/test_upsample_bilinear2d.py +273 -0
  2316. executorch/backends/test/suite/operators/test_upsample_nearest2d.py +137 -0
  2317. executorch/backends/test/suite/operators/test_view.py +82 -0
  2318. executorch/backends/test/suite/reporting.py +427 -0
  2319. executorch/backends/test/suite/runner.py +350 -0
  2320. executorch/backends/test/suite/tests/__init__.py +0 -0
  2321. executorch/backends/test/suite/tests/test_reporting.py +144 -0
  2322. executorch/backends/transforms/__init__.py +12 -0
  2323. executorch/backends/transforms/addmm_mm_to_linear.py +170 -0
  2324. executorch/backends/transforms/aten_to_dialect_pass.py +121 -0
  2325. executorch/backends/transforms/channels_last_ops.py +153 -0
  2326. executorch/backends/transforms/convert_dtype_pass.py +103 -0
  2327. executorch/backends/transforms/decompose_channels_last_pass.py +92 -0
  2328. executorch/backends/transforms/decompose_sdpa.py +208 -0
  2329. executorch/backends/transforms/duplicate_dynamic_quant_chain.py +195 -0
  2330. executorch/backends/transforms/fuse_batch_norm_with_conv.py +161 -0
  2331. executorch/backends/transforms/fuse_cascaded_transpose_or_permute_ops.py +181 -0
  2332. executorch/backends/transforms/fuse_cascaded_view_ops.py +43 -0
  2333. executorch/backends/transforms/fuse_conv_with_clamp.py +78 -0
  2334. executorch/backends/transforms/fuse_transpose_or_permute_op_pairs_pass.py +102 -0
  2335. executorch/backends/transforms/fuse_view_copy.py +139 -0
  2336. executorch/backends/transforms/mean_to_sum_div.py +41 -0
  2337. executorch/backends/transforms/permute_pass_utils.py +278 -0
  2338. executorch/backends/transforms/postpone_permute_below_squeeze_view.py +207 -0
  2339. executorch/backends/transforms/quantize_fused_convbn_bias_pass.py +363 -0
  2340. executorch/backends/transforms/rank_0_to_rank_1.py +18 -0
  2341. executorch/backends/transforms/remove_clone_ops.py +109 -0
  2342. executorch/backends/transforms/remove_getitem_op.py +109 -0
  2343. executorch/backends/transforms/remove_permutes_around_elementwise_ops.py +589 -0
  2344. executorch/backends/transforms/replace_nop_transpose_or_permute_with_view.py +90 -0
  2345. executorch/backends/transforms/replace_scalar_with_tensor.py +99 -0
  2346. executorch/backends/transforms/test/common.py +69 -0
  2347. executorch/backends/transforms/test/test_aten_to_dialect_pass.py +208 -0
  2348. executorch/backends/transforms/test/test_channels_last_ops.py +226 -0
  2349. executorch/backends/transforms/test/test_create_delete_constant_placeholder.py +122 -0
  2350. executorch/backends/transforms/test/test_create_mutable_buffer.py +503 -0
  2351. executorch/backends/transforms/test/test_decompose_channels_last_pass.py +210 -0
  2352. executorch/backends/transforms/test/test_decompose_sdpa.py +96 -0
  2353. executorch/backends/transforms/test/test_duplicate_dynamic_quant_chain.py +184 -0
  2354. executorch/backends/transforms/test/test_permute_optimization_passes.py +1099 -0
  2355. executorch/backends/transforms/test/test_quantize_fused_convbn_bias_pass.py +174 -0
  2356. executorch/backends/transforms/test/test_rank_0_to_rank_1.py +32 -0
  2357. executorch/backends/transforms/test/test_remove_clone_ops.py +197 -0
  2358. executorch/backends/transforms/test/test_to_contiguous_channels_last_pass.py +700 -0
  2359. executorch/backends/transforms/utils.py +386 -0
  2360. executorch/backends/transforms/view_copy_to_squeeze_unsqueeze.py +135 -0
  2361. executorch/backends/vulkan/__init__.py +14 -0
  2362. executorch/backends/vulkan/_passes/__init__.py +41 -0
  2363. executorch/backends/vulkan/_passes/fold_qdq.py +40 -0
  2364. executorch/backends/vulkan/_passes/fuse_patterns.py +34 -0
  2365. executorch/backends/vulkan/_passes/fuse_quantized_ops.py +236 -0
  2366. executorch/backends/vulkan/_passes/insert_dtype_promotion.py +102 -0
  2367. executorch/backends/vulkan/_passes/insert_prepack_nodes.py +105 -0
  2368. executorch/backends/vulkan/_passes/remove_asserts.py +52 -0
  2369. executorch/backends/vulkan/_passes/remove_redundant_ops.py +83 -0
  2370. executorch/backends/vulkan/_passes/squeeze_unsqueeze_inputs.py +93 -0
  2371. executorch/backends/vulkan/_passes/tag_memory_meta_pass.py +549 -0
  2372. executorch/backends/vulkan/custom_ops_lib.py +1321 -0
  2373. executorch/backends/vulkan/op_registry.py +1852 -0
  2374. executorch/backends/vulkan/partitioner/vulkan_partitioner.py +424 -0
  2375. executorch/backends/vulkan/patterns/__init__.py +151 -0
  2376. executorch/backends/vulkan/patterns/pattern_registry.py +116 -0
  2377. executorch/backends/vulkan/patterns/quantized_binary.py +161 -0
  2378. executorch/backends/vulkan/patterns/quantized_convolution.py +347 -0
  2379. executorch/backends/vulkan/patterns/quantized_embedding.py +342 -0
  2380. executorch/backends/vulkan/patterns/quantized_linear.py +645 -0
  2381. executorch/backends/vulkan/patterns/quantized_pixel_shuffle.py +180 -0
  2382. executorch/backends/vulkan/patterns/quantized_unary.py +121 -0
  2383. executorch/backends/vulkan/patterns/rms_norm.py +280 -0
  2384. executorch/backends/vulkan/patterns/rope.py +173 -0
  2385. executorch/backends/vulkan/patterns/rope_hf.py +188 -0
  2386. executorch/backends/vulkan/patterns/sdpa.py +155 -0
  2387. executorch/backends/vulkan/patterns/select_as_symint.py +104 -0
  2388. executorch/backends/vulkan/patterns/weight_packing_utils.py +51 -0
  2389. executorch/backends/vulkan/quantizer/vulkan_quantizer.py +183 -0
  2390. executorch/backends/vulkan/quantizer/vulkan_quantizer_utils.py +223 -0
  2391. executorch/backends/vulkan/runtime/gen_vulkan_spv.py +1673 -0
  2392. executorch/backends/vulkan/runtime/graph/ops/glsl/adamw_step.yaml +17 -0
  2393. executorch/backends/vulkan/runtime/graph/ops/glsl/apply_rotary_emb_interleaved.yaml +13 -0
  2394. executorch/backends/vulkan/runtime/graph/ops/glsl/arange_buffer.yaml +17 -0
  2395. executorch/backends/vulkan/runtime/graph/ops/glsl/arange_texture.yaml +16 -0
  2396. executorch/backends/vulkan/runtime/graph/ops/glsl/avg_pool2d.yaml +18 -0
  2397. executorch/backends/vulkan/runtime/graph/ops/glsl/batchnorm.yaml +11 -0
  2398. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_op_buffer.yaml +59 -0
  2399. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_op_texture.yaml +61 -0
  2400. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_scalar_buffer.yaml +26 -0
  2401. executorch/backends/vulkan/runtime/graph/ops/glsl/binary_scalar_texture.yaml +26 -0
  2402. executorch/backends/vulkan/runtime/graph/ops/glsl/bitw8_image_to_nchw_nobitw8buffer.yaml +22 -0
  2403. executorch/backends/vulkan/runtime/graph/ops/glsl/buffer_to_buffer.yaml +20 -0
  2404. executorch/backends/vulkan/runtime/graph/ops/glsl/buffer_to_nchw.yaml +25 -0
  2405. executorch/backends/vulkan/runtime/graph/ops/glsl/choose_qparams_per_row.yaml +23 -0
  2406. executorch/backends/vulkan/runtime/graph/ops/glsl/clone.yaml +13 -0
  2407. executorch/backends/vulkan/runtime/graph/ops/glsl/col2im.yaml +19 -0
  2408. executorch/backends/vulkan/runtime/graph/ops/glsl/concat_buffer.yaml +15 -0
  2409. executorch/backends/vulkan/runtime/graph/ops/glsl/concat_texture.yaml +15 -0
  2410. executorch/backends/vulkan/runtime/graph/ops/glsl/conv1d.yaml +19 -0
  2411. executorch/backends/vulkan/runtime/graph/ops/glsl/conv1d_dw.yaml +22 -0
  2412. executorch/backends/vulkan/runtime/graph/ops/glsl/conv1d_pw.yaml +31 -0
  2413. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d.yaml +19 -0
  2414. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw.yaml +19 -0
  2415. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_output_tile.yaml +34 -0
  2416. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_prepack_weights.yaml +19 -0
  2417. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_q8ta_q8csw_q8to.yaml +20 -0
  2418. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_dw_sned_output_tile.yaml +25 -0
  2419. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_gemm.yaml +26 -0
  2420. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_im2col.yaml +22 -0
  2421. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_prepack_weights.yaml +19 -0
  2422. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw.yaml +21 -0
  2423. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw_q8ta_q8csw_q8to_tiled.yaml +20 -0
  2424. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw_s1p0.yaml +19 -0
  2425. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_pw_tiled.yaml +20 -0
  2426. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8csw_linear_tiled.yaml +22 -0
  2427. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_linear_tiled.yaml +22 -0
  2428. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_q8to.yaml +21 -0
  2429. executorch/backends/vulkan/runtime/graph/ops/glsl/conv2d_q8ta_q8csw_q8to_linear_tiled.yaml +21 -0
  2430. executorch/backends/vulkan/runtime/graph/ops/glsl/conv_transpose2d.yaml +19 -0
  2431. executorch/backends/vulkan/runtime/graph/ops/glsl/conv_transpose2d_prepack_weights.yaml +20 -0
  2432. executorch/backends/vulkan/runtime/graph/ops/glsl/coopmat_mm.yaml +43 -0
  2433. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_buffer.yaml +16 -0
  2434. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_legacy.yaml +12 -0
  2435. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_q4gsw.yaml +38 -0
  2436. executorch/backends/vulkan/runtime/graph/ops/glsl/embedding_texture.yaml +15 -0
  2437. executorch/backends/vulkan/runtime/graph/ops/glsl/expand_buffer.yaml +11 -0
  2438. executorch/backends/vulkan/runtime/graph/ops/glsl/expand_texture.yaml +11 -0
  2439. executorch/backends/vulkan/runtime/graph/ops/glsl/flip.yaml +14 -0
  2440. executorch/backends/vulkan/runtime/graph/ops/glsl/full_buffer.yaml +18 -0
  2441. executorch/backends/vulkan/runtime/graph/ops/glsl/full_texture.yaml +18 -0
  2442. executorch/backends/vulkan/runtime/graph/ops/glsl/fused_ce.yaml +15 -0
  2443. executorch/backends/vulkan/runtime/graph/ops/glsl/fused_ce_sum.yaml +15 -0
  2444. executorch/backends/vulkan/runtime/graph/ops/glsl/gather_buffer.yaml +18 -0
  2445. executorch/backends/vulkan/runtime/graph/ops/glsl/gather_texture.yaml +17 -0
  2446. executorch/backends/vulkan/runtime/graph/ops/glsl/grid_priors.yaml +12 -0
  2447. executorch/backends/vulkan/runtime/graph/ops/glsl/grid_sampler_2d.yaml +16 -0
  2448. executorch/backends/vulkan/runtime/graph/ops/glsl/group_norm_reduce_texture.yaml +15 -0
  2449. executorch/backends/vulkan/runtime/graph/ops/glsl/group_norm_texture.yaml +15 -0
  2450. executorch/backends/vulkan/runtime/graph/ops/glsl/im2col.yaml +18 -0
  2451. executorch/backends/vulkan/runtime/graph/ops/glsl/im2col_packed_int8.yaml +15 -0
  2452. executorch/backends/vulkan/runtime/graph/ops/glsl/image_to_nchw.yaml +35 -0
  2453. executorch/backends/vulkan/runtime/graph/ops/glsl/index_select.yaml +13 -0
  2454. executorch/backends/vulkan/runtime/graph/ops/glsl/index_select_channel.yaml +13 -0
  2455. executorch/backends/vulkan/runtime/graph/ops/glsl/index_tensor_buffer.yaml +16 -0
  2456. executorch/backends/vulkan/runtime/graph/ops/glsl/index_tensor_texture.yaml +16 -0
  2457. executorch/backends/vulkan/runtime/graph/ops/glsl/int8x4_buffer_to_nchw.yaml +11 -0
  2458. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_dW.yaml +17 -0
  2459. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_dq8ca_q4gsw_tiled.yaml +33 -0
  2460. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_dq8ca_qw_coopmat.yaml +40 -0
  2461. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q4gsw_coop.yaml +72 -0
  2462. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q4gsw_tiled.yaml +28 -0
  2463. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q8csw_tiled.yaml +28 -0
  2464. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_q8ta_q8csw_tiled.yaml +24 -0
  2465. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw.yaml +23 -0
  2466. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw_coop.yaml +38 -0
  2467. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qcsnw_tiled.yaml +54 -0
  2468. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_qw_coopmat.yaml +40 -0
  2469. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_scalar.yaml +39 -0
  2470. executorch/backends/vulkan/runtime/graph/ops/glsl/linear_vec.yaml +41 -0
  2471. executorch/backends/vulkan/runtime/graph/ops/glsl/matmul_scalar.yaml +35 -0
  2472. executorch/backends/vulkan/runtime/graph/ops/glsl/matmul_vec.yaml +36 -0
  2473. executorch/backends/vulkan/runtime/graph/ops/glsl/max_pool2d.yaml +17 -0
  2474. executorch/backends/vulkan/runtime/graph/ops/glsl/native_layer_norm_buffer.yaml +16 -0
  2475. executorch/backends/vulkan/runtime/graph/ops/glsl/native_layer_norm_texture.yaml +15 -0
  2476. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_bitw8_image_nobitw8buffer.yaml +22 -0
  2477. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_buffer.yaml +25 -0
  2478. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_image.yaml +28 -0
  2479. executorch/backends/vulkan/runtime/graph/ops/glsl/nchw_to_int8x4_buffer.yaml +11 -0
  2480. executorch/backends/vulkan/runtime/graph/ops/glsl/no_op.yaml +24 -0
  2481. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_conv2d_gemm_weight.yaml +20 -0
  2482. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_fp_linear_weight.yaml +22 -0
  2483. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_int4_linear_weight_transposed_interleaved.yaml +19 -0
  2484. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q4_linear_weight.yaml +14 -0
  2485. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q4_linear_weight__w_4x8.yaml +22 -0
  2486. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_conv2d_dw_weights.yaml +15 -0
  2487. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_conv2d_weights.yaml +15 -0
  2488. executorch/backends/vulkan/runtime/graph/ops/glsl/pack_q8_linear_weight.yaml +14 -0
  2489. executorch/backends/vulkan/runtime/graph/ops/glsl/pad_buffer.yaml +11 -0
  2490. executorch/backends/vulkan/runtime/graph/ops/glsl/pad_texture.yaml +11 -0
  2491. executorch/backends/vulkan/runtime/graph/ops/glsl/permute_buffer.yaml +11 -0
  2492. executorch/backends/vulkan/runtime/graph/ops/glsl/permute_texture.yaml +11 -0
  2493. executorch/backends/vulkan/runtime/graph/ops/glsl/pixel_shuffle_buffer.yaml +16 -0
  2494. executorch/backends/vulkan/runtime/graph/ops/glsl/pixel_shuffle_texture.yaml +16 -0
  2495. executorch/backends/vulkan/runtime/graph/ops/glsl/q4gsw_backward.yaml +17 -0
  2496. executorch/backends/vulkan/runtime/graph/ops/glsl/q4gsw_linear_gemm__tin__w_4x8.yaml +34 -0
  2497. executorch/backends/vulkan/runtime/graph/ops/glsl/q4gsw_linear_gemm__w_4x8.yaml +29 -0
  2498. executorch/backends/vulkan/runtime/graph/ops/glsl/q4gsw_linear_gemv_coop__w_4x8.yaml +41 -0
  2499. executorch/backends/vulkan/runtime/graph/ops/glsl/q4gsw_requant.yaml +17 -0
  2500. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_binary.yaml +12 -0
  2501. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_clone.yaml +11 -0
  2502. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_conv2d.yaml +17 -0
  2503. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_conv2d_dw.yaml +14 -0
  2504. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_conv2d_pw.yaml +17 -0
  2505. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_conv2d_transposed.yaml +17 -0
  2506. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_dequantize.yaml +18 -0
  2507. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_im2col.yaml +11 -0
  2508. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_linear.yaml +21 -0
  2509. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_linear_gemv.yaml +21 -0
  2510. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_pixel_shuffle.yaml +11 -0
  2511. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_quantize.yaml +18 -0
  2512. executorch/backends/vulkan/runtime/graph/ops/glsl/q8ta_unary.yaml +12 -0
  2513. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4h4w.yaml +25 -0
  2514. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4h4w_with_group_sums.yaml +34 -0
  2515. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_4w4c.yaml +23 -0
  2516. executorch/backends/vulkan/runtime/graph/ops/glsl/quantize_and_pack_im2col.yaml +18 -0
  2517. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce.yaml +29 -0
  2518. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce2d.yaml +29 -0
  2519. executorch/backends/vulkan/runtime/graph/ops/glsl/reduce_per_row_buffer.yaml +42 -0
  2520. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_buffer.yaml +13 -0
  2521. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_channel.yaml +12 -0
  2522. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_interleave.yaml +12 -0
  2523. executorch/backends/vulkan/runtime/graph/ops/glsl/repeat_texture.yaml +12 -0
  2524. executorch/backends/vulkan/runtime/graph/ops/glsl/rms_norm_buffer.yaml +16 -0
  2525. executorch/backends/vulkan/runtime/graph/ops/glsl/rms_norm_texture.yaml +15 -0
  2526. executorch/backends/vulkan/runtime/graph/ops/glsl/rotary_embedding.yaml +13 -0
  2527. executorch/backends/vulkan/runtime/graph/ops/glsl/rotary_embedding_hf.yaml +13 -0
  2528. executorch/backends/vulkan/runtime/graph/ops/glsl/scalar_tensor.yaml +27 -0
  2529. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_attn_weights_softmax.yaml +35 -0
  2530. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_attn_weights_coop.yaml +25 -0
  2531. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_attn_weights_tiled.yaml +60 -0
  2532. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_out_coop.yaml +25 -0
  2533. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_compute_out_tiled.yaml +39 -0
  2534. executorch/backends/vulkan/runtime/graph/ops/glsl/sdpa_kv_cache_update.yaml +23 -0
  2535. executorch/backends/vulkan/runtime/graph/ops/glsl/set_zero.yaml +8 -0
  2536. executorch/backends/vulkan/runtime/graph/ops/glsl/softmax.yaml +21 -0
  2537. executorch/backends/vulkan/runtime/graph/ops/glsl/softmax_buffer.yaml +21 -0
  2538. executorch/backends/vulkan/runtime/graph/ops/glsl/split_buffer.yaml +18 -0
  2539. executorch/backends/vulkan/runtime/graph/ops/glsl/split_texture.yaml +17 -0
  2540. executorch/backends/vulkan/runtime/graph/ops/glsl/tan.yaml +13 -0
  2541. executorch/backends/vulkan/runtime/graph/ops/glsl/transfer_buffer.yaml +22 -0
  2542. executorch/backends/vulkan/runtime/graph/ops/glsl/transfer_texture.yaml +22 -0
  2543. executorch/backends/vulkan/runtime/graph/ops/glsl/transpose_cast_contig_to_vectorized.yaml +26 -0
  2544. executorch/backends/vulkan/runtime/graph/ops/glsl/transpose_cast_contig_to_vectorized_4x4.yaml +25 -0
  2545. executorch/backends/vulkan/runtime/graph/ops/glsl/unary_op.yaml +51 -0
  2546. executorch/backends/vulkan/runtime/graph/ops/glsl/unpack_4w4c_and_dequantize.yaml +23 -0
  2547. executorch/backends/vulkan/runtime/graph/ops/glsl/update_concat_offset.yaml +13 -0
  2548. executorch/backends/vulkan/runtime/graph/ops/glsl/upsample_2d.yaml +19 -0
  2549. executorch/backends/vulkan/runtime/graph/ops/glsl/var_buffer.yaml +16 -0
  2550. executorch/backends/vulkan/runtime/graph/ops/glsl/var_texture3d.yaml +16 -0
  2551. executorch/backends/vulkan/runtime/graph/ops/glsl/view_buffer.yaml +20 -0
  2552. executorch/backends/vulkan/runtime/graph/ops/glsl/view_convert_buffer.yaml +26 -0
  2553. executorch/backends/vulkan/runtime/graph/ops/glsl/view_convert_texture.yaml +26 -0
  2554. executorch/backends/vulkan/runtime/graph/ops/glsl/view_texture.yaml +13 -0
  2555. executorch/backends/vulkan/runtime/graph/ops/glsl/where.yaml +12 -0
  2556. executorch/backends/vulkan/serialization/schema.fbs +162 -0
  2557. executorch/backends/vulkan/serialization/vulkan_graph_builder.py +490 -0
  2558. executorch/backends/vulkan/serialization/vulkan_graph_schema.py +165 -0
  2559. executorch/backends/vulkan/serialization/vulkan_graph_serialize.py +274 -0
  2560. executorch/backends/vulkan/test/custom_ops/glsl/add.yaml +29 -0
  2561. executorch/backends/vulkan/test/custom_ops/glsl/q4gsw_linear_gemv__w_4x8.yaml +40 -0
  2562. executorch/backends/vulkan/test/glsl/all_shaders.yaml +68 -0
  2563. executorch/backends/vulkan/test/glsl/dynamic_dispatch_test.yaml +7 -0
  2564. executorch/backends/vulkan/test/glsl/reference_matmul_common.yaml +9 -0
  2565. executorch/backends/vulkan/test/op_tests/cases.py +2252 -0
  2566. executorch/backends/vulkan/test/op_tests/generate_op_benchmarks.py +88 -0
  2567. executorch/backends/vulkan/test/op_tests/generate_op_correctness_tests.py +90 -0
  2568. executorch/backends/vulkan/test/op_tests/utils/aten_types.py +31 -0
  2569. executorch/backends/vulkan/test/op_tests/utils/gen_benchmark_vk.py +363 -0
  2570. executorch/backends/vulkan/test/op_tests/utils/gen_computegraph.py +836 -0
  2571. executorch/backends/vulkan/test/op_tests/utils/gen_correctness_base.py +427 -0
  2572. executorch/backends/vulkan/test/op_tests/utils/gen_correctness_vk.py +177 -0
  2573. executorch/backends/vulkan/test/op_tests/utils/test_suite.py +53 -0
  2574. executorch/backends/vulkan/test/test_serialization.py +135 -0
  2575. executorch/backends/vulkan/test/test_vulkan_compile_options.py +48 -0
  2576. executorch/backends/vulkan/test/test_vulkan_delegate.py +2716 -0
  2577. executorch/backends/vulkan/test/test_vulkan_delegate_header.py +104 -0
  2578. executorch/backends/vulkan/test/test_vulkan_passes.py +781 -0
  2579. executorch/backends/vulkan/test/test_vulkan_tensor_repr.py +991 -0
  2580. executorch/backends/vulkan/test/tester.py +91 -0
  2581. executorch/backends/vulkan/test/utils.py +1111 -0
  2582. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/apiconventions.py +23 -0
  2583. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/base_generator.py +1425 -0
  2584. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/cgenerator.py +575 -0
  2585. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/generator.py +1478 -0
  2586. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/parse_dependency.py +474 -0
  2587. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/reg.py +2115 -0
  2588. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/spec_tools/conventions.py +561 -0
  2589. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/spec_tools/util.py +58 -0
  2590. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/stripAPI.py +42 -0
  2591. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/vkconventions.py +330 -0
  2592. executorch/backends/vulkan/third-party/Vulkan-Headers/registry/vulkan_object.py +690 -0
  2593. executorch/backends/vulkan/third-party/VulkanMemoryAllocator/tools/GpuMemDumpVis/GpuMemDumpVis.py +333 -0
  2594. executorch/backends/vulkan/third-party/volk/generate.py +212 -0
  2595. executorch/backends/vulkan/tools/gpuinfo/glsl/buf_bandwidth.yaml +18 -0
  2596. executorch/backends/vulkan/tools/gpuinfo/glsl/buf_cacheline_size.yaml +12 -0
  2597. executorch/backends/vulkan/tools/gpuinfo/glsl/reg_count.yaml +16 -0
  2598. executorch/backends/vulkan/tools/gpuinfo/glsl/tex_bandwidth.yaml +15 -0
  2599. executorch/backends/vulkan/tools/gpuinfo/glsl/tex_cacheline_concurr.yaml +14 -0
  2600. executorch/backends/vulkan/tools/gpuinfo/glsl/warp_size.yaml +16 -0
  2601. executorch/backends/vulkan/utils.py +2016 -0
  2602. executorch/backends/vulkan/vulkan_preprocess.py +256 -0
  2603. executorch/backends/webgpu/__init__.py +5 -0
  2604. executorch/backends/webgpu/runtime/ops/binary_op/binary_op.yaml +11 -0
  2605. executorch/backends/webgpu/runtime/ops/boolean_op/boolean_op.yaml +20 -0
  2606. executorch/backends/webgpu/runtime/ops/quantized_linear/q4gsw_linear_gemm_steel.yaml +22 -0
  2607. executorch/backends/webgpu/runtime/ops/rms_norm/rms_norm.yaml +12 -0
  2608. executorch/backends/webgpu/runtime/ops/sdpa/sdpa_compute_attn_weights.yaml +11 -0
  2609. executorch/backends/webgpu/runtime/ops/sdpa/sdpa_compute_out.yaml +11 -0
  2610. executorch/backends/webgpu/runtime/ops/sdpa_fd_decode/sdpa_fd_split.yaml +11 -0
  2611. executorch/backends/webgpu/runtime/ops/softmax/softmax.yaml +8 -0
  2612. executorch/backends/webgpu/runtime/ops/update_cache/update_cache.yaml +11 -0
  2613. executorch/backends/webgpu/scripts/gen_wgsl_headers.py +584 -0
  2614. executorch/backends/webgpu/test/conftest.py +28 -0
  2615. executorch/backends/webgpu/test/op_tests/__init__.py +5 -0
  2616. executorch/backends/webgpu/test/op_tests/cases.py +288 -0
  2617. executorch/backends/webgpu/test/op_tests/generate_op_tests.py +198 -0
  2618. executorch/backends/webgpu/test/op_tests/test_generator.py +111 -0
  2619. executorch/backends/webgpu/test/op_tests/test_schema.py +84 -0
  2620. executorch/backends/webgpu/test/op_tests/test_suite.py +98 -0
  2621. executorch/backends/webgpu/test/ops/__init__.py +0 -0
  2622. executorch/backends/webgpu/test/ops/dynamic_shape/test_dynamic_shape_export.py +459 -0
  2623. executorch/backends/webgpu/test/ops/index/__init__.py +0 -0
  2624. executorch/backends/webgpu/test/ops/index/test_index.py +109 -0
  2625. executorch/backends/webgpu/test/ops/test_adamw.py +142 -0
  2626. executorch/backends/webgpu/test/ops/test_add.py +116 -0
  2627. executorch/backends/webgpu/test/ops/test_bmm.py +104 -0
  2628. executorch/backends/webgpu/test/ops/test_cat.py +82 -0
  2629. executorch/backends/webgpu/test/ops/test_compare.py +109 -0
  2630. executorch/backends/webgpu/test/ops/test_dim_order.py +95 -0
  2631. executorch/backends/webgpu/test/ops/test_dispatch_order.py +119 -0
  2632. executorch/backends/webgpu/test/ops/test_div.py +94 -0
  2633. executorch/backends/webgpu/test/ops/test_embedding.py +103 -0
  2634. executorch/backends/webgpu/test/ops/test_embedding_q4gsw.py +161 -0
  2635. executorch/backends/webgpu/test/ops/test_expand_copy.py +120 -0
  2636. executorch/backends/webgpu/test/ops/test_fill.py +91 -0
  2637. executorch/backends/webgpu/test/ops/test_fused_ce.py +130 -0
  2638. executorch/backends/webgpu/test/ops/test_gather.py +123 -0
  2639. executorch/backends/webgpu/test/ops/test_linear.py +116 -0
  2640. executorch/backends/webgpu/test/ops/test_linear_dW.py +88 -0
  2641. executorch/backends/webgpu/test/ops/test_log_softmax.py +97 -0
  2642. executorch/backends/webgpu/test/ops/test_logical_not.py +116 -0
  2643. executorch/backends/webgpu/test/ops/test_matmul.py +67 -0
  2644. executorch/backends/webgpu/test/ops/test_mul.py +69 -0
  2645. executorch/backends/webgpu/test/ops/test_permute.py +76 -0
  2646. executorch/backends/webgpu/test/ops/test_prepack.py +142 -0
  2647. executorch/backends/webgpu/test/ops/test_q4gsw_requant.py +123 -0
  2648. executorch/backends/webgpu/test/ops/test_quantized_linear.py +193 -0
  2649. executorch/backends/webgpu/test/ops/test_quantized_linear_backward.py +157 -0
  2650. executorch/backends/webgpu/test/ops/test_reduce.py +127 -0
  2651. executorch/backends/webgpu/test/ops/test_rms_norm.py +192 -0
  2652. executorch/backends/webgpu/test/ops/test_rope.py +129 -0
  2653. executorch/backends/webgpu/test/ops/test_sdpa.py +533 -0
  2654. executorch/backends/webgpu/test/ops/test_select.py +67 -0
  2655. executorch/backends/webgpu/test/ops/test_sigmoid.py +80 -0
  2656. executorch/backends/webgpu/test/ops/test_slice.py +66 -0
  2657. executorch/backends/webgpu/test/ops/test_softmax.py +116 -0
  2658. executorch/backends/webgpu/test/ops/test_squeeze.py +75 -0
  2659. executorch/backends/webgpu/test/ops/test_sub.py +114 -0
  2660. executorch/backends/webgpu/test/ops/test_unsqueeze.py +75 -0
  2661. executorch/backends/webgpu/test/ops/test_update_cache.py +196 -0
  2662. executorch/backends/webgpu/test/ops/test_view_copy.py +66 -0
  2663. executorch/backends/webgpu/test/ops/test_where.py +86 -0
  2664. executorch/backends/webgpu/test/test_wgsl_codegen.py +473 -0
  2665. executorch/backends/webgpu/test/tester.py +91 -0
  2666. executorch/backends/xnnpack/__init__.py +28 -0
  2667. executorch/backends/xnnpack/_passes/__init__.py +113 -0
  2668. executorch/backends/xnnpack/_passes/channels_last_tagged_reshape_pass.py +570 -0
  2669. executorch/backends/xnnpack/_passes/conv1d_unsqueeze_pass.py +203 -0
  2670. executorch/backends/xnnpack/_passes/convert_to_linear.py +198 -0
  2671. executorch/backends/xnnpack/_passes/convert_to_sdpa.py +114 -0
  2672. executorch/backends/xnnpack/_passes/convert_to_upsample_bilinear2d.py +65 -0
  2673. executorch/backends/xnnpack/_passes/decompose_batch_norm.py +296 -0
  2674. executorch/backends/xnnpack/_passes/decompose_cat.py +109 -0
  2675. executorch/backends/xnnpack/_passes/fuse_activation_pass.py +87 -0
  2676. executorch/backends/xnnpack/_passes/fuse_batch_norm.py +279 -0
  2677. executorch/backends/xnnpack/_passes/insert_pad_qdq.py +88 -0
  2678. executorch/backends/xnnpack/_passes/prelu_reshape_pass.py +75 -0
  2679. executorch/backends/xnnpack/_passes/propagate_custom_meta_pass.py +44 -0
  2680. executorch/backends/xnnpack/_passes/remove_noop_expand_copy_pass.py +59 -0
  2681. executorch/backends/xnnpack/_passes/remove_redundant_copy_pass.py +158 -0
  2682. executorch/backends/xnnpack/_passes/xnnpack_pass.py +22 -0
  2683. executorch/backends/xnnpack/operators/__init__.py +61 -0
  2684. executorch/backends/xnnpack/operators/node_visitor.py +758 -0
  2685. executorch/backends/xnnpack/operators/op_abs.py +52 -0
  2686. executorch/backends/xnnpack/operators/op_add.py +77 -0
  2687. executorch/backends/xnnpack/operators/op_addmm.py +70 -0
  2688. executorch/backends/xnnpack/operators/op_avg_pooling2d.py +75 -0
  2689. executorch/backends/xnnpack/operators/op_bmm.py +54 -0
  2690. executorch/backends/xnnpack/operators/op_cat.py +121 -0
  2691. executorch/backends/xnnpack/operators/op_ceiling.py +52 -0
  2692. executorch/backends/xnnpack/operators/op_clamp.py +64 -0
  2693. executorch/backends/xnnpack/operators/op_clone.py +71 -0
  2694. executorch/backends/xnnpack/operators/op_conv2d.py +183 -0
  2695. executorch/backends/xnnpack/operators/op_cos.py +52 -0
  2696. executorch/backends/xnnpack/operators/op_div.py +56 -0
  2697. executorch/backends/xnnpack/operators/op_dynamic_dequantize_ops.py +114 -0
  2698. executorch/backends/xnnpack/operators/op_dynamic_quantize_ops.py +179 -0
  2699. executorch/backends/xnnpack/operators/op_elu.py +56 -0
  2700. executorch/backends/xnnpack/operators/op_exp.py +52 -0
  2701. executorch/backends/xnnpack/operators/op_floor.py +48 -0
  2702. executorch/backends/xnnpack/operators/op_gelu.py +52 -0
  2703. executorch/backends/xnnpack/operators/op_hardswish.py +52 -0
  2704. executorch/backends/xnnpack/operators/op_hardtanh.py +67 -0
  2705. executorch/backends/xnnpack/operators/op_leaky_relu.py +65 -0
  2706. executorch/backends/xnnpack/operators/op_linear.py +110 -0
  2707. executorch/backends/xnnpack/operators/op_log.py +52 -0
  2708. executorch/backends/xnnpack/operators/op_matrix_multiplication.py +66 -0
  2709. executorch/backends/xnnpack/operators/op_max_dim.py +206 -0
  2710. executorch/backends/xnnpack/operators/op_max_pool2d.py +136 -0
  2711. executorch/backends/xnnpack/operators/op_maximum.py +55 -0
  2712. executorch/backends/xnnpack/operators/op_mean_dim.py +87 -0
  2713. executorch/backends/xnnpack/operators/op_minimum.py +54 -0
  2714. executorch/backends/xnnpack/operators/op_multiply.py +77 -0
  2715. executorch/backends/xnnpack/operators/op_negate.py +51 -0
  2716. executorch/backends/xnnpack/operators/op_permute.py +87 -0
  2717. executorch/backends/xnnpack/operators/op_prelu.py +56 -0
  2718. executorch/backends/xnnpack/operators/op_quant_dequant.py +196 -0
  2719. executorch/backends/xnnpack/operators/op_relu.py +61 -0
  2720. executorch/backends/xnnpack/operators/op_rsqrt.py +52 -0
  2721. executorch/backends/xnnpack/operators/op_sigmoid.py +48 -0
  2722. executorch/backends/xnnpack/operators/op_sin.py +52 -0
  2723. executorch/backends/xnnpack/operators/op_skip_ops.py +89 -0
  2724. executorch/backends/xnnpack/operators/op_slice_copy.py +100 -0
  2725. executorch/backends/xnnpack/operators/op_softmax.py +58 -0
  2726. executorch/backends/xnnpack/operators/op_square.py +52 -0
  2727. executorch/backends/xnnpack/operators/op_square_root.py +52 -0
  2728. executorch/backends/xnnpack/operators/op_squeeze.py +147 -0
  2729. executorch/backends/xnnpack/operators/op_static_constant_pad.py +145 -0
  2730. executorch/backends/xnnpack/operators/op_static_resize_bilinear_2d.py +61 -0
  2731. executorch/backends/xnnpack/operators/op_sub.py +77 -0
  2732. executorch/backends/xnnpack/operators/op_tanh.py +52 -0
  2733. executorch/backends/xnnpack/operators/op_to_copy.py +91 -0
  2734. executorch/backends/xnnpack/operators/op_view_copy.py +96 -0
  2735. executorch/backends/xnnpack/operators/quant_params.py +412 -0
  2736. executorch/backends/xnnpack/partition/config/__init__.py +134 -0
  2737. executorch/backends/xnnpack/partition/config/gemm_configs.py +599 -0
  2738. executorch/backends/xnnpack/partition/config/generic_node_configs.py +783 -0
  2739. executorch/backends/xnnpack/partition/config/node_configs.py +139 -0
  2740. executorch/backends/xnnpack/partition/config/quant_affine_configs.py +56 -0
  2741. executorch/backends/xnnpack/partition/config/xnnpack_config.py +252 -0
  2742. executorch/backends/xnnpack/partition/graphs/bilinear_2d.py +55 -0
  2743. executorch/backends/xnnpack/partition/graphs/sdpa.py +86 -0
  2744. executorch/backends/xnnpack/partition/xnnpack_partitioner.py +160 -0
  2745. executorch/backends/xnnpack/quantizer/xnnpack_quantizer.py +462 -0
  2746. executorch/backends/xnnpack/quantizer/xnnpack_quantizer_utils.py +1172 -0
  2747. executorch/backends/xnnpack/recipes/__init__.py +19 -0
  2748. executorch/backends/xnnpack/recipes/xnnpack_recipe_provider.py +200 -0
  2749. executorch/backends/xnnpack/recipes/xnnpack_recipe_types.py +37 -0
  2750. executorch/backends/xnnpack/serialization/runtime_schema.fbs +389 -0
  2751. executorch/backends/xnnpack/serialization/schema.fbs +381 -0
  2752. executorch/backends/xnnpack/serialization/xnnpack_graph_schema.py +542 -0
  2753. executorch/backends/xnnpack/serialization/xnnpack_graph_serialize.py +393 -0
  2754. executorch/backends/xnnpack/test/__init__.py +0 -0
  2755. executorch/backends/xnnpack/test/fragments/test_dim_order.py +40 -0
  2756. executorch/backends/xnnpack/test/models/deeplab_v3.py +76 -0
  2757. executorch/backends/xnnpack/test/models/edsr.py +87 -0
  2758. executorch/backends/xnnpack/test/models/emformer_rnnt.py +146 -0
  2759. executorch/backends/xnnpack/test/models/inception_v3.py +117 -0
  2760. executorch/backends/xnnpack/test/models/inception_v4.py +95 -0
  2761. executorch/backends/xnnpack/test/models/llama2_et_example.py +49 -0
  2762. executorch/backends/xnnpack/test/models/mobilebert.py +72 -0
  2763. executorch/backends/xnnpack/test/models/mobilenet_v2.py +103 -0
  2764. executorch/backends/xnnpack/test/models/mobilenet_v3.py +84 -0
  2765. executorch/backends/xnnpack/test/models/resnet.py +90 -0
  2766. executorch/backends/xnnpack/test/models/torchvision_vit.py +105 -0
  2767. executorch/backends/xnnpack/test/models/very_big_model.py +45 -0
  2768. executorch/backends/xnnpack/test/models/w2l.py +60 -0
  2769. executorch/backends/xnnpack/test/ops/test_abs.py +87 -0
  2770. executorch/backends/xnnpack/test/ops/test_add.py +266 -0
  2771. executorch/backends/xnnpack/test/ops/test_avgpool2d.py +92 -0
  2772. executorch/backends/xnnpack/test/ops/test_batch_norm.py +380 -0
  2773. executorch/backends/xnnpack/test/ops/test_bilinear2d.py +152 -0
  2774. executorch/backends/xnnpack/test/ops/test_bmm.py +49 -0
  2775. executorch/backends/xnnpack/test/ops/test_cat.py +297 -0
  2776. executorch/backends/xnnpack/test/ops/test_ceil.py +63 -0
  2777. executorch/backends/xnnpack/test/ops/test_check_quant_params.py +107 -0
  2778. executorch/backends/xnnpack/test/ops/test_clamp.py +79 -0
  2779. executorch/backends/xnnpack/test/ops/test_clone.py +165 -0
  2780. executorch/backends/xnnpack/test/ops/test_conv1d.py +243 -0
  2781. executorch/backends/xnnpack/test/ops/test_conv2d.py +1025 -0
  2782. executorch/backends/xnnpack/test/ops/test_cos.py +87 -0
  2783. executorch/backends/xnnpack/test/ops/test_div.py +78 -0
  2784. executorch/backends/xnnpack/test/ops/test_elu.py +98 -0
  2785. executorch/backends/xnnpack/test/ops/test_exp.py +70 -0
  2786. executorch/backends/xnnpack/test/ops/test_floor.py +58 -0
  2787. executorch/backends/xnnpack/test/ops/test_gelu.py +91 -0
  2788. executorch/backends/xnnpack/test/ops/test_hardswish.py +70 -0
  2789. executorch/backends/xnnpack/test/ops/test_hardtanh.py +83 -0
  2790. executorch/backends/xnnpack/test/ops/test_leaky_relu.py +131 -0
  2791. executorch/backends/xnnpack/test/ops/test_linear.py +1059 -0
  2792. executorch/backends/xnnpack/test/ops/test_log.py +45 -0
  2793. executorch/backends/xnnpack/test/ops/test_lstm.py +67 -0
  2794. executorch/backends/xnnpack/test/ops/test_max_dim.py +66 -0
  2795. executorch/backends/xnnpack/test/ops/test_maximum.py +66 -0
  2796. executorch/backends/xnnpack/test/ops/test_maxpool2d.py +221 -0
  2797. executorch/backends/xnnpack/test/ops/test_mean_dim.py +128 -0
  2798. executorch/backends/xnnpack/test/ops/test_minimum.py +49 -0
  2799. executorch/backends/xnnpack/test/ops/test_multiply.py +149 -0
  2800. executorch/backends/xnnpack/test/ops/test_negate.py +58 -0
  2801. executorch/backends/xnnpack/test/ops/test_permute.py +134 -0
  2802. executorch/backends/xnnpack/test/ops/test_pow.py +62 -0
  2803. executorch/backends/xnnpack/test/ops/test_prelu.py +50 -0
  2804. executorch/backends/xnnpack/test/ops/test_quantize_per_tensor.py +70 -0
  2805. executorch/backends/xnnpack/test/ops/test_relu.py +38 -0
  2806. executorch/backends/xnnpack/test/ops/test_rsqrt.py +45 -0
  2807. executorch/backends/xnnpack/test/ops/test_sigmoid.py +45 -0
  2808. executorch/backends/xnnpack/test/ops/test_sin.py +87 -0
  2809. executorch/backends/xnnpack/test/ops/test_slice_copy.py +170 -0
  2810. executorch/backends/xnnpack/test/ops/test_softmax.py +73 -0
  2811. executorch/backends/xnnpack/test/ops/test_sqrt.py +45 -0
  2812. executorch/backends/xnnpack/test/ops/test_square.py +48 -0
  2813. executorch/backends/xnnpack/test/ops/test_static_constant_pad.py +294 -0
  2814. executorch/backends/xnnpack/test/ops/test_sub.py +178 -0
  2815. executorch/backends/xnnpack/test/ops/test_tanh.py +43 -0
  2816. executorch/backends/xnnpack/test/ops/test_to_copy.py +113 -0
  2817. executorch/backends/xnnpack/test/passes/__init__.py +0 -0
  2818. executorch/backends/xnnpack/test/passes/test_activation_fusion.py +301 -0
  2819. executorch/backends/xnnpack/test/passes/test_batch_norm_fusion.py +133 -0
  2820. executorch/backends/xnnpack/test/passes/test_channels_last_tagged_reshape.py +667 -0
  2821. executorch/backends/xnnpack/test/passes/test_convert_to_linear.py +43 -0
  2822. executorch/backends/xnnpack/test/passes/test_decompose_batch_norm.py +196 -0
  2823. executorch/backends/xnnpack/test/passes/test_decompose_cat_pass.py +112 -0
  2824. executorch/backends/xnnpack/test/passes/test_insert_pad_qdq.py +73 -0
  2825. executorch/backends/xnnpack/test/passes/test_propagate_custom_meta_pass.py +185 -0
  2826. executorch/backends/xnnpack/test/passes/test_remove_get_item_pass.py +99 -0
  2827. executorch/backends/xnnpack/test/passes/test_remove_noop_expand_copy_pass.py +75 -0
  2828. executorch/backends/xnnpack/test/passes/test_remove_redundant_copy_pass.py +182 -0
  2829. executorch/backends/xnnpack/test/quantizer/test_pt2e_quantization.py +818 -0
  2830. executorch/backends/xnnpack/test/quantizer/test_representation.py +308 -0
  2831. executorch/backends/xnnpack/test/quantizer/test_xnnpack_quantizer.py +1217 -0
  2832. executorch/backends/xnnpack/test/recipes/test_xnnpack_recipes.py +320 -0
  2833. executorch/backends/xnnpack/test/serialization/test_serialization.py +50 -0
  2834. executorch/backends/xnnpack/test/serialization/test_xnnheader.py +104 -0
  2835. executorch/backends/xnnpack/test/test_xnnpack_partitioner.py +163 -0
  2836. executorch/backends/xnnpack/test/test_xnnpack_utils.py +533 -0
  2837. executorch/backends/xnnpack/test/test_xnnpack_utils_classes.py +44 -0
  2838. executorch/backends/xnnpack/test/tester/__init__.py +29 -0
  2839. executorch/backends/xnnpack/test/tester/tester.py +134 -0
  2840. executorch/backends/xnnpack/third-party/FP16/configure.py +65 -0
  2841. executorch/backends/xnnpack/third-party/FP16/confu.yaml +8 -0
  2842. executorch/backends/xnnpack/third-party/FP16/include/fp16/__init__.py +0 -0
  2843. executorch/backends/xnnpack/third-party/FP16/include/fp16/avx.py +50 -0
  2844. executorch/backends/xnnpack/third-party/FP16/include/fp16/avx2.py +53 -0
  2845. executorch/backends/xnnpack/third-party/FP16/test/peachpy/stubs.py +38 -0
  2846. executorch/backends/xnnpack/third-party/FXdiv/configure.py +30 -0
  2847. executorch/backends/xnnpack/third-party/FXdiv/confu.yaml +6 -0
  2848. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/aarch32_template.py +361 -0
  2849. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/aarch64_template.py +347 -0
  2850. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/arm_template.py +78 -0
  2851. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512bf16_template.py +81 -0
  2852. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512f_template.py +393 -0
  2853. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/avx512vnni_template.py +703 -0
  2854. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/base_architecture.py +276 -0
  2855. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/fma3_template.py +280 -0
  2856. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate.py +71 -0
  2857. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_bf16_f32_gemm_microkernels.py +39 -0
  2858. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_f32_gemm_microkernels.py +104 -0
  2859. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_gemm_microkernels_main.py +29 -0
  2860. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qd8_f32_qc4w_gemm_microkernels.py +81 -0
  2861. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qd8_f32_qc8w_gemm_microkernels.py +105 -0
  2862. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qs8_qc4w_gemm_microkernels.py +42 -0
  2863. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/generate_qs8_qc8w_gemm_microkernels.py +43 -0
  2864. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neondot_template.py +474 -0
  2865. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neonfma_template.py +248 -0
  2866. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/neonmlal_aarch32_template.py +394 -0
  2867. executorch/backends/xnnpack/third-party/XNNPACK/gemm_compiler/x64_template.py +525 -0
  2868. executorch/backends/xnnpack/third-party/XNNPACK/scripts/check_config.py +152 -0
  2869. executorch/backends/xnnpack/third-party/XNNPACK/scripts/check_files_changed.py +53 -0
  2870. executorch/backends/xnnpack/third-party/XNNPACK/scripts/generate-build-identifier.py +106 -0
  2871. executorch/backends/xnnpack/third-party/XNNPACK/scripts/run-gn-tests.py +198 -0
  2872. executorch/backends/xnnpack/third-party/XNNPACK/scripts/sort-filenames.py +134 -0
  2873. executorch/backends/xnnpack/third-party/XNNPACK/test/bf16-f32-gemm-minmax.yaml +121 -0
  2874. executorch/backends/xnnpack/third-party/XNNPACK/test/bf16-gemm-minmax.yaml +106 -0
  2875. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-conv-hwc2chw.yaml +8 -0
  2876. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv2d-chw.yaml +88 -0
  2877. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-f32acc-gemm-minmax.yaml +42 -0
  2878. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-f32acc-igemm-minmax.yaml +42 -0
  2879. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-gemm-minmax.yaml +233 -0
  2880. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear-chw.yaml +9 -0
  2881. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear.yaml +12 -0
  2882. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-igemm-minmax.yaml +179 -0
  2883. executorch/backends/xnnpack/third-party/XNNPACK/test/f16-raddstoreexpminusmax.yaml +27 -0
  2884. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-argmaxpool.yaml +15 -0
  2885. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-conv-hwc2chw.yaml +32 -0
  2886. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv2d-chw.yaml +712 -0
  2887. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-minmax.yaml +1584 -0
  2888. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-relu.yaml +123 -0
  2889. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-gemm.yaml +127 -0
  2890. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear-chw.yaml +22 -0
  2891. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear.yaml +23 -0
  2892. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-minmax.yaml +1021 -0
  2893. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-relu.yaml +123 -0
  2894. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-igemm.yaml +123 -0
  2895. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-ppmm-minmax.yaml +122 -0
  2896. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc4w-gemm-minmax.yaml +277 -0
  2897. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm-minmax.yaml +757 -0
  2898. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm-relu.yaml +67 -0
  2899. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-qc8w-gemm.yaml +115 -0
  2900. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-raddexpminusmax.yaml +38 -0
  2901. executorch/backends/xnnpack/third-party/XNNPACK/test/f32-raddstoreexpminusmax.yaml +88 -0
  2902. executorch/backends/xnnpack/third-party/XNNPACK/test/pf16-f16-igemm-minmax.yaml +24 -0
  2903. executorch/backends/xnnpack/third-party/XNNPACK/test/pf16-gemm-minmax.yaml +34 -0
  2904. executorch/backends/xnnpack/third-party/XNNPACK/test/pf32-gemm-minmax.yaml +34 -0
  2905. executorch/backends/xnnpack/third-party/XNNPACK/test/pqs8-qc8w-gemm-minmax.yaml +27 -0
  2906. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qb4w-gemm-minmax.yaml +260 -0
  2907. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc2w-gemm-minmax.yaml +148 -0
  2908. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc4w-gemm-minmax.yaml +678 -0
  2909. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc8w-gemm-minmax.yaml +412 -0
  2910. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f16-qc8w-igemm-minmax.yaml +360 -0
  2911. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qb4w-gemm-minmax.yaml +537 -0
  2912. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc2w-gemm-minmax.yaml +230 -0
  2913. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc4w-gemm-minmax.yaml +2218 -0
  2914. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc8w-gemm-minmax.yaml +1600 -0
  2915. executorch/backends/xnnpack/third-party/XNNPACK/test/qd8-f32-qc8w-igemm-minmax.yaml +1035 -0
  2916. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qb4w-gemm-minmax.yaml +54 -0
  2917. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qc4w-gemm-minmax.yaml +66 -0
  2918. executorch/backends/xnnpack/third-party/XNNPACK/test/qp8-f32-qc8w-gemm-minmax.yaml +54 -0
  2919. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc2w-gemm-minmax-fp32.yaml +204 -0
  2920. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc4w-gemm-minmax-fp32.yaml +784 -0
  2921. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc8w-gemm-minmax-fp32.yaml +1997 -0
  2922. executorch/backends/xnnpack/third-party/XNNPACK/test/qs8-qc8w-igemm-minmax-fp32.yaml +1775 -0
  2923. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-fp32.yaml +584 -0
  2924. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-rndnu.yaml +148 -0
  2925. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-fp32.yaml +581 -0
  2926. executorch/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-rndnu.yaml +110 -0
  2927. executorch/backends/xnnpack/third-party/XNNPACK/test/s8-ibilinear.yaml +22 -0
  2928. executorch/backends/xnnpack/third-party/XNNPACK/test/u8-ibilinear.yaml +22 -0
  2929. executorch/backends/xnnpack/third-party/XNNPACK/test/x8-lut.yaml +47 -0
  2930. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-argmaxpool-test.py +692 -0
  2931. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-conv-hwc-test.py +543 -0
  2932. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-conv-hwc2chw-test.py +591 -0
  2933. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-test.py +343 -0
  2934. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv2d-chw-test.py +463 -0
  2935. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-gemm-test.py +1152 -0
  2936. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-chw-test.py +236 -0
  2937. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-test.py +237 -0
  2938. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-lut-test.py +164 -0
  2939. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-raddexpminusmax-test.py +159 -0
  2940. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-raddstoreexpminusmax-test.py +210 -0
  2941. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-reduce-discontiguous-test.py +495 -0
  2942. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-reduce-test.py +289 -0
  2943. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-vbinary-test.py +179 -0
  2944. executorch/backends/xnnpack/third-party/XNNPACK/tools/generate-vunary-test.py +280 -0
  2945. executorch/backends/xnnpack/third-party/XNNPACK/tools/parse-microkernel-bench.py +189 -0
  2946. executorch/backends/xnnpack/third-party/XNNPACK/tools/primes.py +1015 -0
  2947. executorch/backends/xnnpack/third-party/XNNPACK/tools/update-microkernels.py +567 -0
  2948. executorch/backends/xnnpack/third-party/XNNPACK/tools/xngen.py +159 -0
  2949. executorch/backends/xnnpack/third-party/XNNPACK/tools/xnncommon.py +287 -0
  2950. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/binary/generator.py +13 -0
  2951. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/binary/kernels.py +81 -0
  2952. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm.py +210 -0
  2953. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm_bf16_bf16_fp32.py +66 -0
  2954. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm_bf16_bf16_fp32_k2.py +64 -0
  2955. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm_fp32.py +49 -0
  2956. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm_fp64.py +45 -0
  2957. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/arm_int8_int8_int32.py +152 -0
  2958. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/dot_base.py +538 -0
  2959. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/generator.py +113 -0
  2960. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86.py +316 -0
  2961. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_bf16_bf16_fp32.py +144 -0
  2962. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_bf16_bf16_fp32_k1.py +92 -0
  2963. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_fp16_fp16_fp32.py +88 -0
  2964. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_fp32.py +105 -0
  2965. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_fp32_k2.py +150 -0
  2966. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_fp32_k4.py +105 -0
  2967. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_fp64.py +105 -0
  2968. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_int8_int8_int32.py +138 -0
  2969. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_int8_int8_int32_k1.py +77 -0
  2970. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_int8_int8_int32_k16.py +88 -0
  2971. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_uint8_int8_int32.py +47 -0
  2972. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/dot/generator/x86_uint8_int8_int32_k16.py +85 -0
  2973. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/arm.py +284 -0
  2974. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/common_rules.py +89 -0
  2975. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/compiler.py +1804 -0
  2976. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/compiler_test.py +241 -0
  2977. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/generator.py +54 -0
  2978. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/elementwise/x86.py +980 -0
  2979. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/ternary/convert.py +36 -0
  2980. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/ternary/generator.py +14 -0
  2981. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/ternary/kernels.py +49 -0
  2982. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/convert.py +32 -0
  2983. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/exp.py +121 -0
  2984. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/generator.py +18 -0
  2985. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/kernels.py +55 -0
  2986. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/sigmoid.py +49 -0
  2987. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/sine_cosine.py +86 -0
  2988. executorch/backends/xnnpack/third-party/XNNPACK/ynnpack/kernels/unary/tanh.py +65 -0
  2989. executorch/backends/xnnpack/third-party/cpuinfo/configure.py +110 -0
  2990. executorch/backends/xnnpack/third-party/cpuinfo/confu.yaml +9 -0
  2991. executorch/backends/xnnpack/third-party/cpuinfo/deps/clog/configure.py +26 -0
  2992. executorch/backends/xnnpack/third-party/cpuinfo/deps/clog/confu.yaml +5 -0
  2993. executorch/backends/xnnpack/third-party/cpuinfo/scripts/android-device-dump.py +400 -0
  2994. executorch/backends/xnnpack/third-party/cpuinfo/scripts/arm-linux-filesystem-dump.py +107 -0
  2995. executorch/backends/xnnpack/third-party/cpuinfo/scripts/parse-x86-cpuid-dump.py +47 -0
  2996. executorch/backends/xnnpack/third-party/generate-cpuinfo-wrappers.py +93 -0
  2997. executorch/backends/xnnpack/third-party/pthreadpool/configure.py +38 -0
  2998. executorch/backends/xnnpack/third-party/pthreadpool/confu.yaml +8 -0
  2999. executorch/backends/xnnpack/utils/configs.py +41 -0
  3000. executorch/backends/xnnpack/utils/quant_utils.py +301 -0
  3001. executorch/backends/xnnpack/utils/utils.py +214 -0
  3002. executorch/backends/xnnpack/utils/xnnpack_constants.py +37 -0
  3003. executorch/backends/xnnpack/xnnpack_preprocess.py +194 -0
  3004. executorch/codegen/__init__.py +0 -0
  3005. executorch/codegen/api/__init__.py +0 -0
  3006. executorch/codegen/api/custom_ops.py +151 -0
  3007. executorch/codegen/api/et_cpp.py +367 -0
  3008. executorch/codegen/api/types/__init__.py +5 -0
  3009. executorch/codegen/api/types/signatures.py +77 -0
  3010. executorch/codegen/api/types/types.py +76 -0
  3011. executorch/codegen/api/unboxing.py +232 -0
  3012. executorch/codegen/gen.py +1049 -0
  3013. executorch/codegen/model.py +220 -0
  3014. executorch/codegen/parse.py +158 -0
  3015. executorch/codegen/test/test_executorch_custom_ops.py +153 -0
  3016. executorch/codegen/test/test_executorch_gen.py +698 -0
  3017. executorch/codegen/test/test_executorch_signatures.py +65 -0
  3018. executorch/codegen/test/test_executorch_types.py +121 -0
  3019. executorch/codegen/test/test_executorch_unboxing.py +165 -0
  3020. executorch/codegen/test/test_selective_build.py +51 -0
  3021. executorch/codegen/tools/__init__.py +0 -0
  3022. executorch/codegen/tools/combine_prim_ops_headers.py +164 -0
  3023. executorch/codegen/tools/gen_all_oplist.py +252 -0
  3024. executorch/codegen/tools/gen_max_kernel_num.py +174 -0
  3025. executorch/codegen/tools/gen_oplist.py +369 -0
  3026. executorch/codegen/tools/gen_ops_def.py +96 -0
  3027. executorch/codegen/tools/gen_selected_op_variants.py +133 -0
  3028. executorch/codegen/tools/gen_selected_prim_ops.py +96 -0
  3029. executorch/codegen/tools/merge_yaml.py +125 -0
  3030. executorch/codegen/tools/selective_build.cp314-win_amd64.pyd +0 -0
  3031. executorch/codegen/tools/selective_build.pyi +23 -0
  3032. executorch/codegen/tools/test/test_gen_all_oplist.py +122 -0
  3033. executorch/codegen/tools/test/test_gen_max_kernel_num.py +226 -0
  3034. executorch/codegen/tools/test/test_gen_oplist.py +263 -0
  3035. executorch/codegen/tools/test/test_gen_oplist_real_model.py +50 -0
  3036. executorch/codegen/tools/test/test_gen_selected_op_variants.py +204 -0
  3037. executorch/codegen/tools/test/test_tools_selective_build.py +129 -0
  3038. executorch/codegen/tools/yaml_util.py +15 -0
  3039. executorch/data/bin/__init__.py +44 -0
  3040. executorch/data/bin/flatc.exe +0 -0
  3041. executorch/data/lib/aoti_cuda_shims.lib +0 -0
  3042. executorch/devtools/__init__.py +19 -0
  3043. executorch/devtools/backend_debug/__init__.py +13 -0
  3044. executorch/devtools/backend_debug/delegation_info.py +183 -0
  3045. executorch/devtools/backend_debug/tests/test_delegation_info.py +79 -0
  3046. executorch/devtools/bundled_program/config.py +120 -0
  3047. executorch/devtools/bundled_program/core.py +395 -0
  3048. executorch/devtools/bundled_program/schema/__init__.py +9 -0
  3049. executorch/devtools/bundled_program/schema/bundled_program_schema.fbs +97 -0
  3050. executorch/devtools/bundled_program/schema/bundled_program_schema.py +99 -0
  3051. executorch/devtools/bundled_program/schema/scalar_type.fbs +43 -0
  3052. executorch/devtools/bundled_program/serialize/__init__.py +298 -0
  3053. executorch/devtools/bundled_program/serialize/bundled_program_schema.fbs +97 -0
  3054. executorch/devtools/bundled_program/serialize/generate_bundled_program.py +174 -0
  3055. executorch/devtools/bundled_program/serialize/generated/__init__.py +9 -0
  3056. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/Bool.py +92 -0
  3057. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/BundledMethodTestCase.py +194 -0
  3058. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/BundledMethodTestSuite.py +158 -0
  3059. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/BundledProgram.py +212 -0
  3060. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/Double.py +92 -0
  3061. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/Int.py +92 -0
  3062. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/Tensor.py +267 -0
  3063. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/Value.py +125 -0
  3064. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/ValueUnion.py +29 -0
  3065. executorch/devtools/bundled_program/serialize/generated/bundled_program_flatbuffer/__init__.py +23 -0
  3066. executorch/devtools/bundled_program/serialize/generated/executorch_flatbuffer/ScalarType.py +28 -0
  3067. executorch/devtools/bundled_program/serialize/generated/executorch_flatbuffer/__init__.py +7 -0
  3068. executorch/devtools/bundled_program/serialize/scalar_type.fbs +43 -0
  3069. executorch/devtools/bundled_program/serialize/test/test_serialize.py +37 -0
  3070. executorch/devtools/bundled_program/test/test_bundle_data.py +168 -0
  3071. executorch/devtools/bundled_program/test/test_config.py +131 -0
  3072. executorch/devtools/bundled_program/test/test_end2end.py +64 -0
  3073. executorch/devtools/bundled_program/util/test_util.py +289 -0
  3074. executorch/devtools/bundled_program/version.py +13 -0
  3075. executorch/devtools/debug_format/base_schema.py +61 -0
  3076. executorch/devtools/debug_format/et_schema.py +432 -0
  3077. executorch/devtools/etdump/etdump_schema_flatcc.fbs +181 -0
  3078. executorch/devtools/etdump/scalar_type.fbs +43 -0
  3079. executorch/devtools/etdump/schema_flatcc.py +154 -0
  3080. executorch/devtools/etdump/serialize.py +108 -0
  3081. executorch/devtools/etdump/tests/serialize_test.py +142 -0
  3082. executorch/devtools/etrecord/__init__.py +13 -0
  3083. executorch/devtools/etrecord/_etrecord.py +929 -0
  3084. executorch/devtools/etrecord/tests/etrecord_test.py +1936 -0
  3085. executorch/devtools/inspector/__init__.py +31 -0
  3086. executorch/devtools/inspector/_inspector.py +1712 -0
  3087. executorch/devtools/inspector/_inspector_utils.py +1252 -0
  3088. executorch/devtools/inspector/_intermediate_output_capturer.py +62 -0
  3089. executorch/devtools/inspector/inspector_cli.py +76 -0
  3090. executorch/devtools/inspector/numerical_comparator/__init__.py +35 -0
  3091. executorch/devtools/inspector/numerical_comparator/l1_numerical_comparator.py +35 -0
  3092. executorch/devtools/inspector/numerical_comparator/mse_numerical_comparator.py +37 -0
  3093. executorch/devtools/inspector/numerical_comparator/numerical_comparator_base.py +266 -0
  3094. executorch/devtools/inspector/numerical_comparator/snr_numerical_comparator.py +47 -0
  3095. executorch/devtools/inspector/tests/event_blocks_test.py +657 -0
  3096. executorch/devtools/inspector/tests/inspector_test.py +2279 -0
  3097. executorch/devtools/inspector/tests/inspector_test_utils.py +189 -0
  3098. executorch/devtools/inspector/tests/inspector_utils_test.py +877 -0
  3099. executorch/devtools/inspector/tests/intermediate_output_capturer_test.py +101 -0
  3100. executorch/devtools/inspector/tests/l1_comparator_test.py +49 -0
  3101. executorch/devtools/inspector/tests/mse_comparator_test.py +49 -0
  3102. executorch/devtools/inspector/tests/snr_comparator_test.py +52 -0
  3103. executorch/devtools/inspector/vgf_neural_statistics.py +124 -0
  3104. executorch/devtools/intermediate_output_tap/__init__.py +93 -0
  3105. executorch/devtools/intermediate_output_tap/_convenience.py +191 -0
  3106. executorch/devtools/intermediate_output_tap/_reducers.py +319 -0
  3107. executorch/devtools/intermediate_output_tap/_selectors.py +231 -0
  3108. executorch/devtools/intermediate_output_tap/_spec.py +55 -0
  3109. executorch/devtools/intermediate_output_tap/_strip_pass.py +92 -0
  3110. executorch/devtools/intermediate_output_tap/_tap_pass.py +278 -0
  3111. executorch/devtools/intermediate_output_tap/custom_ops_lib.py +24 -0
  3112. executorch/devtools/intermediate_output_tap/tests/test_coreml_e2e.py +284 -0
  3113. executorch/devtools/intermediate_output_tap/tests/test_reducers.py +131 -0
  3114. executorch/devtools/intermediate_output_tap/tests/test_selectors.py +198 -0
  3115. executorch/devtools/intermediate_output_tap/tests/test_strip_pass.py +130 -0
  3116. executorch/devtools/intermediate_output_tap/tests/test_tap_pass.py +239 -0
  3117. executorch/devtools/intermediate_output_tap/tests/test_xnnpack_e2e.py +482 -0
  3118. executorch/devtools/pte_tool/diff_pte.py +895 -0
  3119. executorch/devtools/pte_tool/tests/test_diff_pte.py +341 -0
  3120. executorch/devtools/scripts/generate_profiling_csv.py +62 -0
  3121. executorch/devtools/size_analysis_tool/size_analysis_tool.py +194 -0
  3122. executorch/devtools/size_analysis_tool/size_analysis_tool_test.py +107 -0
  3123. executorch/devtools/visualization/__init__.py +13 -0
  3124. executorch/devtools/visualization/visualization_utils.py +305 -0
  3125. executorch/devtools/visualization/visualization_utils_test.py +177 -0
  3126. executorch/examples/apple/coreml/llama/export.py +224 -0
  3127. executorch/examples/apple/coreml/llama/export_static_llm_coreml.py +717 -0
  3128. executorch/examples/apple/coreml/llama/llama_transformer.py +899 -0
  3129. executorch/examples/apple/coreml/llama/run.py +206 -0
  3130. executorch/examples/apple/coreml/llama/run_lookahead.py +284 -0
  3131. executorch/examples/apple/coreml/llama/run_static_llm.py +293 -0
  3132. executorch/examples/apple/coreml/llama/run_static_llm_multifunction.py +325 -0
  3133. executorch/examples/apple/coreml/llama/test.py +48 -0
  3134. executorch/examples/apple/coreml/llama/utils.py +334 -0
  3135. executorch/examples/apple/coreml/scripts/coreml_compute_plan.py +236 -0
  3136. executorch/examples/apple/coreml/scripts/debugger_cli.py +181 -0
  3137. executorch/examples/apple/coreml/scripts/export.py +280 -0
  3138. executorch/examples/apple/coreml/scripts/extract_coreml_models.py +143 -0
  3139. executorch/examples/apple/coreml/scripts/inspector_cli.py +64 -0
  3140. executorch/examples/apple/coreml/scripts/inspector_utils.py +425 -0
  3141. executorch/examples/apple/coreml/scripts/test_coreml_compute_plan.py +161 -0
  3142. executorch/examples/apple/mps/scripts/bench_utils.py +108 -0
  3143. executorch/examples/apple/mps/scripts/mps_example.py +239 -0
  3144. executorch/examples/cuda/scripts/__init__.py +0 -0
  3145. executorch/examples/cuda/scripts/export.py +107 -0
  3146. executorch/examples/llm_pte_finetuning/__init__.py +19 -0
  3147. executorch/examples/llm_pte_finetuning/llama3_config.yaml +96 -0
  3148. executorch/examples/llm_pte_finetuning/model_exporter.py +87 -0
  3149. executorch/examples/llm_pte_finetuning/model_loading_lib.py +143 -0
  3150. executorch/examples/llm_pte_finetuning/phi3_alpaca_code_config.yaml +44 -0
  3151. executorch/examples/llm_pte_finetuning/phi3_config.yaml +42 -0
  3152. executorch/examples/llm_pte_finetuning/qwen_05b_config.yaml +43 -0
  3153. executorch/examples/llm_pte_finetuning/runner.py +135 -0
  3154. executorch/examples/llm_pte_finetuning/training_lib.py +157 -0
  3155. executorch/examples/llm_server/__init__.py +5 -0
  3156. executorch/examples/llm_server/conformance/test_openai_contract.py +207 -0
  3157. executorch/examples/llm_server/python/__init__.py +7 -0
  3158. executorch/examples/llm_server/python/chat_template.py +338 -0
  3159. executorch/examples/llm_server/python/errors.py +105 -0
  3160. executorch/examples/llm_server/python/openai_transcript.py +337 -0
  3161. executorch/examples/llm_server/python/protocol.py +153 -0
  3162. executorch/examples/llm_server/python/server.py +244 -0
  3163. executorch/examples/llm_server/python/serving_chat.py +664 -0
  3164. executorch/examples/llm_server/python/session_runtime.py +250 -0
  3165. executorch/examples/llm_server/python/tests/conftest.py +143 -0
  3166. executorch/examples/llm_server/python/tests/test_contract.py +457 -0
  3167. executorch/examples/llm_server/python/tests/test_gemma_tool_parser.py +131 -0
  3168. executorch/examples/llm_server/python/tests/test_hermes_tool_parser.py +100 -0
  3169. executorch/examples/llm_server/python/tests/test_qwen_tool_parser.py +218 -0
  3170. executorch/examples/llm_server/python/tests/test_sampling_params.py +269 -0
  3171. executorch/examples/llm_server/python/tests/test_session_runtime.py +244 -0
  3172. executorch/examples/llm_server/python/tests/test_sessions.py +426 -0
  3173. executorch/examples/llm_server/python/tests/test_streaming_stops.py +274 -0
  3174. executorch/examples/llm_server/python/tests/test_template.py +382 -0
  3175. executorch/examples/llm_server/python/tests/test_tool_calls.py +221 -0
  3176. executorch/examples/llm_server/python/tests/test_warm_resume_scaffold.py +745 -0
  3177. executorch/examples/llm_server/python/tests/test_worker_client.py +261 -0
  3178. executorch/examples/llm_server/python/tool_parsers/__init__.py +29 -0
  3179. executorch/examples/llm_server/python/tool_parsers/gemma.py +258 -0
  3180. executorch/examples/llm_server/python/tool_parsers/hermes.py +119 -0
  3181. executorch/examples/llm_server/python/tool_parsers/qwen.py +193 -0
  3182. executorch/examples/llm_server/python/tool_parsers/types.py +33 -0
  3183. executorch/examples/llm_server/python/worker_client.py +275 -0
  3184. executorch/examples/models/__init__.py +120 -0
  3185. executorch/examples/models/checkpoint.py +142 -0
  3186. executorch/examples/models/codegen/__init__.py +16 -0
  3187. executorch/examples/models/codegen/convert_weight.py +93 -0
  3188. executorch/examples/models/deeplab_v3/__init__.py +9 -0
  3189. executorch/examples/models/deeplab_v3/model.py +50 -0
  3190. executorch/examples/models/deepseek-r1-distill-llama-8B/config/deepseek_xnnpack_q8da4w.yaml +16 -0
  3191. executorch/examples/models/deit_tiny/__init__.py +8 -0
  3192. executorch/examples/models/deit_tiny/model.py +36 -0
  3193. executorch/examples/models/dinov2/__init__.py +0 -0
  3194. executorch/examples/models/dinov2/export_dinov2.py +187 -0
  3195. executorch/examples/models/edsr/__init__.py +11 -0
  3196. executorch/examples/models/edsr/model.py +28 -0
  3197. executorch/examples/models/efficient_sam/__init__.py +11 -0
  3198. executorch/examples/models/efficient_sam/efficient_sam_core/build_efficient_sam.py +25 -0
  3199. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam.py +316 -0
  3200. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam_decoder.py +373 -0
  3201. executorch/examples/models/efficient_sam/efficient_sam_core/efficient_sam_encoder.py +261 -0
  3202. executorch/examples/models/efficient_sam/efficient_sam_core/mlp.py +31 -0
  3203. executorch/examples/models/efficient_sam/efficient_sam_core/two_way_transformer.py +268 -0
  3204. executorch/examples/models/efficient_sam/model.py +34 -0
  3205. executorch/examples/models/emformer_rnnt/__init__.py +17 -0
  3206. executorch/examples/models/emformer_rnnt/model.py +132 -0
  3207. executorch/examples/models/gemma/__init__.py +16 -0
  3208. executorch/examples/models/gemma/convert_weights.py +104 -0
  3209. executorch/examples/models/gemma2/__init__.py +19 -0
  3210. executorch/examples/models/gemma2/convert_weights.py +113 -0
  3211. executorch/examples/models/gemma3/__init__.py +16 -0
  3212. executorch/examples/models/gemma3/convert_weights.py +110 -0
  3213. executorch/examples/models/gemma4/__init__.py +13 -0
  3214. executorch/examples/models/gemma4/export_gemma4.py +884 -0
  3215. executorch/examples/models/gemma4/image_utils.py +155 -0
  3216. executorch/examples/models/gemma4/quant_utils.py +93 -0
  3217. executorch/examples/models/gemma4/run_gemma4.py +365 -0
  3218. executorch/examples/models/gemma4/speech_transform.py +149 -0
  3219. executorch/examples/models/gemma4/tests/test_speech_transform.py +107 -0
  3220. executorch/examples/models/gemma4/text_decoder/__init__.py +17 -0
  3221. executorch/examples/models/gemma4/text_decoder/convert_weights.py +314 -0
  3222. executorch/examples/models/gemma4/text_decoder/gemma4_attention.py +629 -0
  3223. executorch/examples/models/gemma4/text_decoder/gemma4_config.py +299 -0
  3224. executorch/examples/models/gemma4/text_decoder/gemma4_cross_decoder.py +83 -0
  3225. executorch/examples/models/gemma4/text_decoder/gemma4_decoder_layer.py +185 -0
  3226. executorch/examples/models/gemma4/text_decoder/gemma4_model.py +207 -0
  3227. executorch/examples/models/gemma4/text_decoder/gemma4_self_decoder.py +229 -0
  3228. executorch/examples/models/gemma4/text_decoder/gemma4_transformer.py +171 -0
  3229. executorch/examples/models/gemma4_31b/__init__.py +5 -0
  3230. executorch/examples/models/gemma4_31b/cuda_packers.py +160 -0
  3231. executorch/examples/models/gemma4_31b/cuda_source_transformations.py +353 -0
  3232. executorch/examples/models/gemma4_31b/export.py +612 -0
  3233. executorch/examples/models/gemma4_31b/gguf_loader.py +60 -0
  3234. executorch/examples/models/gemma4_31b/inference.py +263 -0
  3235. executorch/examples/models/gemma4_31b/mlx_source_transformations.py +234 -0
  3236. executorch/examples/models/gemma4_31b/model.py +645 -0
  3237. executorch/examples/models/gemma4_31b/quant/quantize.py +340 -0
  3238. executorch/examples/models/gemma4_31b/quant/recipe.py +62 -0
  3239. executorch/examples/models/gemma4_31b/quant/tests/test_pack_cuda.py +492 -0
  3240. executorch/examples/models/gemma4_31b/quant/tests/test_quantize.py +230 -0
  3241. executorch/examples/models/gemma4_31b/quant/tests/test_recipe.py +167 -0
  3242. executorch/examples/models/gemma4_31b/quant/tests/test_safetensors_roundtrip.py +143 -0
  3243. executorch/examples/models/gemma4_31b/quantize_and_save.py +158 -0
  3244. executorch/examples/models/gemma4_31b/sampler.py +37 -0
  3245. executorch/examples/models/gemma4_31b/serve.py +214 -0
  3246. executorch/examples/models/gemma4_31b/test_ondevice_serving.py +62 -0
  3247. executorch/examples/models/gemma4_31b/test_serve.py +184 -0
  3248. executorch/examples/models/gemma4_31b/tests/test_cuda_packers.py +501 -0
  3249. executorch/examples/models/gemma4_31b/tests/test_cuda_pipeline.py +334 -0
  3250. executorch/examples/models/gemma4_31b/tests/test_mlx_pipeline.py +582 -0
  3251. executorch/examples/models/gemma4_31b/tests/test_pipeline.py +504 -0
  3252. executorch/examples/models/gemma4_31b/tests/test_recipe.py +61 -0
  3253. executorch/examples/models/glm/__init__.py +16 -0
  3254. executorch/examples/models/glm/convert_weights.py +79 -0
  3255. executorch/examples/models/granite/__init__.py +16 -0
  3256. executorch/examples/models/granite/convert_weights.py +106 -0
  3257. executorch/examples/models/granite_speech/__init__.py +16 -0
  3258. executorch/examples/models/granite_speech/convert_weights.py +111 -0
  3259. executorch/examples/models/inception_v3/__init__.py +11 -0
  3260. executorch/examples/models/inception_v3/model.py +28 -0
  3261. executorch/examples/models/inception_v4/__init__.py +11 -0
  3262. executorch/examples/models/inception_v4/model.py +26 -0
  3263. executorch/examples/models/internvl3/__init__.py +16 -0
  3264. executorch/examples/models/internvl3/convert_weights.py +82 -0
  3265. executorch/examples/models/lfm2/__init__.py +10 -0
  3266. executorch/examples/models/lfm2/config/lfm2_mlx_4w.yaml +15 -0
  3267. executorch/examples/models/lfm2/config/lfm2_xnnpack_fp32.yaml +12 -0
  3268. executorch/examples/models/lfm2/config/lfm2_xnnpack_q8da4w.yaml +15 -0
  3269. executorch/examples/models/lfm2/convert_weights.py +92 -0
  3270. executorch/examples/models/lfm2/short_conv.py +112 -0
  3271. executorch/examples/models/lfm2/test_lfm2_5_mlx.py +102 -0
  3272. executorch/examples/models/llama/__init__.py +20 -0
  3273. executorch/examples/models/llama/attention.py +882 -0
  3274. executorch/examples/models/llama/config/llama_attention_sink.yaml +30 -0
  3275. executorch/examples/models/llama/config/llama_bf16.yaml +7 -0
  3276. executorch/examples/models/llama/config/llama_q8da4w.yaml +11 -0
  3277. executorch/examples/models/llama/config/llama_xnnpack.yaml +17 -0
  3278. executorch/examples/models/llama/config/llama_xnnpack_qat.yaml +23 -0
  3279. executorch/examples/models/llama/config/llama_xnnpack_spinquant.yaml +22 -0
  3280. executorch/examples/models/llama/config/test_llm_config.py +106 -0
  3281. executorch/examples/models/llama/convert_weights.py +61 -0
  3282. executorch/examples/models/llama/eval_llama.py +38 -0
  3283. executorch/examples/models/llama/eval_llama_lib.py +441 -0
  3284. executorch/examples/models/llama/evaluate/__init__.py +11 -0
  3285. executorch/examples/models/llama/evaluate/eager_eval.py +89 -0
  3286. executorch/examples/models/llama/experimental/__init__.py +0 -0
  3287. executorch/examples/models/llama/experimental/generate.py +190 -0
  3288. executorch/examples/models/llama/experimental/load_gguf_q4_0.py +184 -0
  3289. executorch/examples/models/llama/experimental/subclass.py +413 -0
  3290. executorch/examples/models/llama/experimental/test_subclass.py +28 -0
  3291. executorch/examples/models/llama/export_llama.py +56 -0
  3292. executorch/examples/models/llama/export_llama_lib.py +1932 -0
  3293. executorch/examples/models/llama/fairseq2.py +63 -0
  3294. executorch/examples/models/llama/feed_forward.py +72 -0
  3295. executorch/examples/models/llama/hf_download.py +50 -0
  3296. executorch/examples/models/llama/install_requirement_helper.py +29 -0
  3297. executorch/examples/models/llama/llama_transformer.py +523 -0
  3298. executorch/examples/models/llama/lora.py +80 -0
  3299. executorch/examples/models/llama/model.py +396 -0
  3300. executorch/examples/models/llama/model_args.py +234 -0
  3301. executorch/examples/models/llama/norm.py +172 -0
  3302. executorch/examples/models/llama/rope.py +402 -0
  3303. executorch/examples/models/llama/runner/eager.py +142 -0
  3304. executorch/examples/models/llama/runner/generation.py +234 -0
  3305. executorch/examples/models/llama/runner/native.py +145 -0
  3306. executorch/examples/models/llama/source_transformation/__init__.py +0 -0
  3307. executorch/examples/models/llama/source_transformation/apply_spin_quant_r1_r2.py +202 -0
  3308. executorch/examples/models/llama/source_transformation/attention.py +223 -0
  3309. executorch/examples/models/llama/source_transformation/attention_sink.py +378 -0
  3310. executorch/examples/models/llama/source_transformation/custom_kv_cache.py +714 -0
  3311. executorch/examples/models/llama/source_transformation/lora.py +153 -0
  3312. executorch/examples/models/llama/source_transformation/pre_quantization.py +340 -0
  3313. executorch/examples/models/llama/source_transformation/prune_vocab.py +119 -0
  3314. executorch/examples/models/llama/source_transformation/quantize.py +904 -0
  3315. executorch/examples/models/llama/source_transformation/rms_norm.py +23 -0
  3316. executorch/examples/models/llama/source_transformation/rope.py +39 -0
  3317. executorch/examples/models/llama/source_transformation/sdpa.py +550 -0
  3318. executorch/examples/models/llama/source_transformation/spin_quant.py +88 -0
  3319. executorch/examples/models/llama/source_transformation/test_attention_sink.py +462 -0
  3320. executorch/examples/models/llama/source_transformation/test_quantized_kv_cache.py +126 -0
  3321. executorch/examples/models/llama/source_transformation/test_quantized_sdpa.py +167 -0
  3322. executorch/examples/models/llama/source_transformation/test_sdpa_with_quantized_kv_cache.py +97 -0
  3323. executorch/examples/models/llama/static_attention.py +1601 -0
  3324. executorch/examples/models/llama/tests/test_export_llama_lib.py +158 -0
  3325. executorch/examples/models/llama/tests/test_pre_quantization_transforms.py +188 -0
  3326. executorch/examples/models/llama/tests/test_qwen3_5_attention.py +128 -0
  3327. executorch/examples/models/llama/tests/test_replace_kv_cache.py +158 -0
  3328. executorch/examples/models/llama/tests/test_ring_attention.py +359 -0
  3329. executorch/examples/models/llama/tests/test_ring_kv_cache.py +492 -0
  3330. executorch/examples/models/llama/tests/test_simple_sdpa.py +66 -0
  3331. executorch/examples/models/llama/tests/test_static_attention.py +624 -0
  3332. executorch/examples/models/llama/tests/test_yoco_attention.py +708 -0
  3333. executorch/examples/models/llama/tokenizer/tiktoken.py +224 -0
  3334. executorch/examples/models/llama3_2_vision/__init__.py +14 -0
  3335. executorch/examples/models/llama3_2_vision/preprocess/__init__.py +0 -0
  3336. executorch/examples/models/llama3_2_vision/preprocess/export_preprocess.py +45 -0
  3337. executorch/examples/models/llama3_2_vision/preprocess/model.py +72 -0
  3338. executorch/examples/models/llama3_2_vision/preprocess/test_preprocess.py +338 -0
  3339. executorch/examples/models/llama3_2_vision/runner/eager.py +59 -0
  3340. executorch/examples/models/llama3_2_vision/runner/exported.py +94 -0
  3341. executorch/examples/models/llama3_2_vision/runner/generation.py +102 -0
  3342. executorch/examples/models/llama3_2_vision/runner/native.py +143 -0
  3343. executorch/examples/models/llama3_2_vision/text_decoder/model.py +199 -0
  3344. executorch/examples/models/llama3_2_vision/text_decoder/test/__init__.py +0 -0
  3345. executorch/examples/models/llama3_2_vision/text_decoder/test/test_text_decoder.py +88 -0
  3346. executorch/examples/models/llama3_2_vision/vision_encoder/__init__.py +12 -0
  3347. executorch/examples/models/llama3_2_vision/vision_encoder/model.py +96 -0
  3348. executorch/examples/models/llama3_2_vision/vision_encoder/test/__init__.py +0 -0
  3349. executorch/examples/models/llama3_2_vision/vision_encoder/test/test_vision_encoder.py +46 -0
  3350. executorch/examples/models/llava/__init__.py +11 -0
  3351. executorch/examples/models/llava/export_llava.py +365 -0
  3352. executorch/examples/models/llava/model.py +415 -0
  3353. executorch/examples/models/llava/test/test_llava.py +151 -0
  3354. executorch/examples/models/llava/test/test_pte.py +105 -0
  3355. executorch/examples/models/lstm/__init__.py +12 -0
  3356. executorch/examples/models/lstm/model.py +31 -0
  3357. executorch/examples/models/mlperf_tiny/__init__.py +20 -0
  3358. executorch/examples/models/mlperf_tiny/deep_autoencoder.py +40 -0
  3359. executorch/examples/models/mlperf_tiny/ds_cnn.py +86 -0
  3360. executorch/examples/models/mlperf_tiny/mobilenet_v1_025.py +94 -0
  3361. executorch/examples/models/mlperf_tiny/resnet8.py +93 -0
  3362. executorch/examples/models/mobilebert/__init__.py +11 -0
  3363. executorch/examples/models/mobilebert/model.py +31 -0
  3364. executorch/examples/models/mobilenet_v2/__init__.py +12 -0
  3365. executorch/examples/models/mobilenet_v2/model.py +41 -0
  3366. executorch/examples/models/mobilenet_v3/__init__.py +11 -0
  3367. executorch/examples/models/mobilenet_v3/model.py +30 -0
  3368. executorch/examples/models/model_base.py +47 -0
  3369. executorch/examples/models/model_factory.py +60 -0
  3370. executorch/examples/models/moshi/mimi/test_mimi.py +245 -0
  3371. executorch/examples/models/parakeet/export_parakeet_tdt.py +826 -0
  3372. executorch/examples/models/parakeet/quantize.py +8 -0
  3373. executorch/examples/models/phi-3-mini/__init__.py +11 -0
  3374. executorch/examples/models/phi-3-mini-lora/export_model.py +144 -0
  3375. executorch/examples/models/phi_4_mini/__init__.py +16 -0
  3376. executorch/examples/models/phi_4_mini/config/phi_4_mini_xnnpack.yaml +12 -0
  3377. executorch/examples/models/phi_4_mini/convert_weights.py +153 -0
  3378. executorch/examples/models/qwen2_5/__init__.py +16 -0
  3379. executorch/examples/models/qwen2_5/config/qwen2_5_coder_xnnpack_q8da4w.yaml +20 -0
  3380. executorch/examples/models/qwen2_5/config/qwen2_5_xnnpack_q8da4w.yaml +14 -0
  3381. executorch/examples/models/qwen2_5/convert_weights.py +105 -0
  3382. executorch/examples/models/qwen3/__init__.py +16 -0
  3383. executorch/examples/models/qwen3/config/qwen3_multimethod.yaml +34 -0
  3384. executorch/examples/models/qwen3/config/qwen3_xnnpack_lora.yaml +21 -0
  3385. executorch/examples/models/qwen3/config/qwen3_xnnpack_q8da4w.yaml +20 -0
  3386. executorch/examples/models/qwen3/convert_weights.py +142 -0
  3387. executorch/examples/models/qwen3_5/__init__.py +19 -0
  3388. executorch/examples/models/qwen3_5/config/qwen3_5_xnnpack_fp32.yaml +21 -0
  3389. executorch/examples/models/qwen3_5/convert_weights.py +165 -0
  3390. executorch/examples/models/qwen3_5/tests/__init__.py +2 -0
  3391. executorch/examples/models/qwen3_5/tests/test_convert_weights.py +108 -0
  3392. executorch/examples/models/qwen3_5_moe/__init__.py +0 -0
  3393. executorch/examples/models/qwen3_5_moe/export.py +1383 -0
  3394. executorch/examples/models/qwen3_5_moe/inference.py +196 -0
  3395. executorch/examples/models/qwen3_5_moe/metal_source_transformations.py +336 -0
  3396. executorch/examples/models/qwen3_5_moe/mlx_source_transformations.py +371 -0
  3397. executorch/examples/models/qwen3_5_moe/model.py +955 -0
  3398. executorch/examples/models/qwen3_5_moe/quantize_and_save.py +570 -0
  3399. executorch/examples/models/qwen3_5_moe/run.py +329 -0
  3400. executorch/examples/models/qwen3_5_moe/sampler.py +60 -0
  3401. executorch/examples/models/qwen3_5_moe/serve.py +182 -0
  3402. executorch/examples/models/qwen3_5_moe/test_chunked_prefill.py +124 -0
  3403. executorch/examples/models/qwen3_5_moe/test_quantize_roundtrip.py +323 -0
  3404. executorch/examples/models/qwen3_5_moe/test_sampler.py +142 -0
  3405. executorch/examples/models/qwen3_5_moe/test_serve.py +158 -0
  3406. executorch/examples/models/qwen3_5_moe/test_turboquant.py +211 -0
  3407. executorch/examples/models/resnet/__init__.py +12 -0
  3408. executorch/examples/models/resnet/model.py +48 -0
  3409. executorch/examples/models/silero_vad/export_silero_vad.py +232 -0
  3410. executorch/examples/models/smollm2/__init__.py +16 -0
  3411. executorch/examples/models/smollm2/convert_weights.py +84 -0
  3412. executorch/examples/models/smollm3/__init__.py +16 -0
  3413. executorch/examples/models/smollm3/convert_weights.py +112 -0
  3414. executorch/examples/models/smolvlm/__init__.py +16 -0
  3415. executorch/examples/models/smolvlm/convert_weights.py +77 -0
  3416. executorch/examples/models/sortformer/export_sortformer.py +409 -0
  3417. executorch/examples/models/sortformer/validate_pte.py +136 -0
  3418. executorch/examples/models/stable_diffusion/__init__.py +21 -0
  3419. executorch/examples/models/stable_diffusion/model.py +202 -0
  3420. executorch/examples/models/test/__init__.py +0 -0
  3421. executorch/examples/models/test/test_export.py +161 -0
  3422. executorch/examples/models/torchvision_vit/__init__.py +11 -0
  3423. executorch/examples/models/torchvision_vit/model.py +28 -0
  3424. executorch/examples/models/toy_model/__init__.py +25 -0
  3425. executorch/examples/models/toy_model/model.py +143 -0
  3426. executorch/examples/models/voxtral_realtime/__init__.py +5 -0
  3427. executorch/examples/models/voxtral_realtime/export_voxtral_rt.py +677 -0
  3428. executorch/examples/models/voxtral_realtime/model.py +1517 -0
  3429. executorch/examples/models/voxtral_realtime/tests/test_ring_kv_cache.py +42 -0
  3430. executorch/examples/models/voxtral_tts/__init__.py +5 -0
  3431. executorch/examples/models/voxtral_tts/export_voxtral_tts.py +720 -0
  3432. executorch/examples/models/voxtral_tts/model.py +1609 -0
  3433. executorch/examples/models/voxtral_tts/voice.py +91 -0
  3434. executorch/examples/models/wav2letter/__init__.py +11 -0
  3435. executorch/examples/models/wav2letter/model.py +29 -0
  3436. executorch/examples/models/whisper/__init__.py +8 -0
  3437. executorch/examples/models/whisper/model.py +43 -0
  3438. executorch/examples/models/yolo26/__init__.py +8 -0
  3439. executorch/examples/models/yolo26/export_and_validate.py +397 -0
  3440. executorch/examples/models/yolo26/model.py +30 -0
  3441. executorch/examples/nxp/experimental/cifar_net/cifar_net.py +301 -0
  3442. executorch/examples/qualcomm/__init__.py +5 -0
  3443. executorch/examples/qualcomm/custom_op/custom_ops_1.py +305 -0
  3444. executorch/examples/qualcomm/custom_op/custom_ops_2.py +315 -0
  3445. executorch/examples/qualcomm/oss_scripts/__init__.py +5 -0
  3446. executorch/examples/qualcomm/oss_scripts/albert.py +175 -0
  3447. executorch/examples/qualcomm/oss_scripts/bert.py +163 -0
  3448. executorch/examples/qualcomm/oss_scripts/conv_former.py +135 -0
  3449. executorch/examples/qualcomm/oss_scripts/convnext_small.py +139 -0
  3450. executorch/examples/qualcomm/oss_scripts/cvt.py +201 -0
  3451. executorch/examples/qualcomm/oss_scripts/deit.py +153 -0
  3452. executorch/examples/qualcomm/oss_scripts/depthanything_v2_small.py +214 -0
  3453. executorch/examples/qualcomm/oss_scripts/dino_v2.py +139 -0
  3454. executorch/examples/qualcomm/oss_scripts/distilbert.py +164 -0
  3455. executorch/examples/qualcomm/oss_scripts/dit.py +152 -0
  3456. executorch/examples/qualcomm/oss_scripts/efficientSAM/efficientSAM.py +329 -0
  3457. executorch/examples/qualcomm/oss_scripts/efficientSAM/source_transformation/__init__.py +17 -0
  3458. executorch/examples/qualcomm/oss_scripts/efficientSAM/source_transformation/mask_decoder.py +125 -0
  3459. executorch/examples/qualcomm/oss_scripts/efficientSAM/source_transformation/pos_emb.py +64 -0
  3460. executorch/examples/qualcomm/oss_scripts/efficientnet.py +144 -0
  3461. executorch/examples/qualcomm/oss_scripts/esrgan.py +172 -0
  3462. executorch/examples/qualcomm/oss_scripts/eurobert.py +173 -0
  3463. executorch/examples/qualcomm/oss_scripts/fastvit.py +218 -0
  3464. executorch/examples/qualcomm/oss_scripts/fbnet.py +137 -0
  3465. executorch/examples/qualcomm/oss_scripts/focalnet.py +138 -0
  3466. executorch/examples/qualcomm/oss_scripts/gMLP_image_classification.py +127 -0
  3467. executorch/examples/qualcomm/oss_scripts/hf_causal_lm.py +260 -0
  3468. executorch/examples/qualcomm/oss_scripts/llama/__init__.py +604 -0
  3469. executorch/examples/qualcomm/oss_scripts/llama/dataset/__init__.py +53 -0
  3470. executorch/examples/qualcomm/oss_scripts/llama/dataset/builders.py +348 -0
  3471. executorch/examples/qualcomm/oss_scripts/llama/dataset/collators.py +75 -0
  3472. executorch/examples/qualcomm/oss_scripts/llama/dataset/config.py +41 -0
  3473. executorch/examples/qualcomm/oss_scripts/llama/dataset/datasets.py +41 -0
  3474. executorch/examples/qualcomm/oss_scripts/llama/dataset/loaders.py +105 -0
  3475. executorch/examples/qualcomm/oss_scripts/llama/dataset/preprocessors.py +122 -0
  3476. executorch/examples/qualcomm/oss_scripts/llama/dataset/schema.py +34 -0
  3477. executorch/examples/qualcomm/oss_scripts/llama/decoder_constants.py +66 -0
  3478. executorch/examples/qualcomm/oss_scripts/llama/encoder/__init__.py +31 -0
  3479. executorch/examples/qualcomm/oss_scripts/llama/encoder/encoder_config.py +120 -0
  3480. executorch/examples/qualcomm/oss_scripts/llama/encoder/encoder_quant_recipe.py +118 -0
  3481. executorch/examples/qualcomm/oss_scripts/llama/evaluator/__init__.py +25 -0
  3482. executorch/examples/qualcomm/oss_scripts/llama/evaluator/device_evaluator.py +794 -0
  3483. executorch/examples/qualcomm/oss_scripts/llama/evaluator/lm_eval_adapter.py +99 -0
  3484. executorch/examples/qualcomm/oss_scripts/llama/inference/__init__.py +25 -0
  3485. executorch/examples/qualcomm/oss_scripts/llama/inference/decoder.py +148 -0
  3486. executorch/examples/qualcomm/oss_scripts/llama/inference/encoder.py +22 -0
  3487. executorch/examples/qualcomm/oss_scripts/llama/inference/model.py +59 -0
  3488. executorch/examples/qualcomm/oss_scripts/llama/llama.py +870 -0
  3489. executorch/examples/qualcomm/oss_scripts/llama/masking_utils.py +312 -0
  3490. executorch/examples/qualcomm/oss_scripts/llama/mix_precision_analyzer.py +694 -0
  3491. executorch/examples/qualcomm/oss_scripts/llama/model/__init__.py +16 -0
  3492. executorch/examples/qualcomm/oss_scripts/llama/model/apply_rope.py +52 -0
  3493. executorch/examples/qualcomm/oss_scripts/llama/model/audio_encoder.py +157 -0
  3494. executorch/examples/qualcomm/oss_scripts/llama/model/embedding.py +39 -0
  3495. executorch/examples/qualcomm/oss_scripts/llama/model/feed_forward.py +141 -0
  3496. executorch/examples/qualcomm/oss_scripts/llama/model/layernorm.py +50 -0
  3497. executorch/examples/qualcomm/oss_scripts/llama/model/static_llama.py +1088 -0
  3498. executorch/examples/qualcomm/oss_scripts/llama/model/vision_encoder.py +364 -0
  3499. executorch/examples/qualcomm/oss_scripts/llama/quantize/__init__.py +12 -0
  3500. executorch/examples/qualcomm/oss_scripts/llama/quantize/ptq.py +77 -0
  3501. executorch/examples/qualcomm/oss_scripts/llama/quantize/strategy.py +34 -0
  3502. executorch/examples/qualcomm/oss_scripts/llama/range_setting_pt2e.py +279 -0
  3503. executorch/examples/qualcomm/oss_scripts/llama/static_llm_quant_recipe.py +738 -0
  3504. executorch/examples/qualcomm/oss_scripts/llama/tokenizer.py +414 -0
  3505. executorch/examples/qualcomm/oss_scripts/llama/utils.py +70 -0
  3506. executorch/examples/qualcomm/oss_scripts/llama/wrappers/__init__.py +23 -0
  3507. executorch/examples/qualcomm/oss_scripts/llama/wrappers/attention_sink_wrappers.py +469 -0
  3508. executorch/examples/qualcomm/oss_scripts/llama/wrappers/base_component.py +197 -0
  3509. executorch/examples/qualcomm/oss_scripts/llama/wrappers/llm_wrappers.py +1344 -0
  3510. executorch/examples/qualcomm/oss_scripts/llm_utils/decoder_model_wrapper.py +165 -0
  3511. executorch/examples/qualcomm/oss_scripts/llm_utils/eval_decoder_model_qnn.py +299 -0
  3512. executorch/examples/qualcomm/oss_scripts/llm_utils/qnn_decoder_model_manager.py +341 -0
  3513. executorch/examples/qualcomm/oss_scripts/maxvit_t.py +247 -0
  3514. executorch/examples/qualcomm/oss_scripts/mobilevit_v1.py +166 -0
  3515. executorch/examples/qualcomm/oss_scripts/mobilevit_v2.py +171 -0
  3516. executorch/examples/qualcomm/oss_scripts/moshi/mimi.py +525 -0
  3517. executorch/examples/qualcomm/oss_scripts/moshi/model/static_conv.py +145 -0
  3518. executorch/examples/qualcomm/oss_scripts/moshi/model/static_convtr.py +175 -0
  3519. executorch/examples/qualcomm/oss_scripts/moshi/model/static_mimi.py +679 -0
  3520. executorch/examples/qualcomm/oss_scripts/moshi/model/static_seanet_decoder.py +313 -0
  3521. executorch/examples/qualcomm/oss_scripts/pvt.py +137 -0
  3522. executorch/examples/qualcomm/oss_scripts/regnet.py +144 -0
  3523. executorch/examples/qualcomm/oss_scripts/retinanet.py +319 -0
  3524. executorch/examples/qualcomm/oss_scripts/roberta.py +191 -0
  3525. executorch/examples/qualcomm/oss_scripts/squeezenet.py +129 -0
  3526. executorch/examples/qualcomm/oss_scripts/ssd300_vgg16.py +275 -0
  3527. executorch/examples/qualcomm/oss_scripts/swin_transformer.py +191 -0
  3528. executorch/examples/qualcomm/oss_scripts/swin_v2_t.py +189 -0
  3529. executorch/examples/qualcomm/oss_scripts/t5/t5.py +380 -0
  3530. executorch/examples/qualcomm/oss_scripts/t5/t5_model.py +550 -0
  3531. executorch/examples/qualcomm/oss_scripts/vit_b_16.py +140 -0
  3532. executorch/examples/qualcomm/oss_scripts/whisper/whisper.py +543 -0
  3533. executorch/examples/qualcomm/oss_scripts/whisper/whisper_model.py +114 -0
  3534. executorch/examples/qualcomm/qaihub_scripts/llama/llama2/qaihub_llama2_7b.py +241 -0
  3535. executorch/examples/qualcomm/qaihub_scripts/llama/llama3/qaihub_llama3_8b.py +248 -0
  3536. executorch/examples/qualcomm/qaihub_scripts/stable_diffusion/qaihub_stable_diffusion.py +403 -0
  3537. executorch/examples/qualcomm/qaihub_scripts/stable_diffusion/stable_diffusion_lib.py +22 -0
  3538. executorch/examples/qualcomm/qaihub_scripts/utils/export.py +507 -0
  3539. executorch/examples/qualcomm/qaihub_scripts/utils/utils.py +82 -0
  3540. executorch/examples/qualcomm/scripts/deeplab_v3.py +200 -0
  3541. executorch/examples/qualcomm/scripts/edsr.py +231 -0
  3542. executorch/examples/qualcomm/scripts/export_example.py +127 -0
  3543. executorch/examples/qualcomm/scripts/inception_v3.py +133 -0
  3544. executorch/examples/qualcomm/scripts/inception_v4.py +132 -0
  3545. executorch/examples/qualcomm/scripts/mobilebert_fine_tune.py +378 -0
  3546. executorch/examples/qualcomm/scripts/mobilenet_v2.py +133 -0
  3547. executorch/examples/qualcomm/scripts/mobilenet_v3.py +140 -0
  3548. executorch/examples/qualcomm/scripts/torchvision_vit.py +180 -0
  3549. executorch/examples/qualcomm/scripts/wav2letter.py +218 -0
  3550. executorch/examples/qualcomm/util_scripts/cli.py +681 -0
  3551. executorch/examples/qualcomm/util_scripts/gen_etrecord.py +104 -0
  3552. executorch/examples/qualcomm/util_scripts/qairt_visualizer_demo.py +93 -0
  3553. executorch/examples/qualcomm/util_scripts/qnn_intermediate_debugger_demo.py +217 -0
  3554. executorch/examples/qualcomm/utils.py +364 -0
  3555. executorch/examples/xnnpack/__init__.py +51 -0
  3556. executorch/examples/xnnpack/aot_compiler.py +148 -0
  3557. executorch/examples/xnnpack/quantization/example.py +205 -0
  3558. executorch/examples/xnnpack/quantization/utils.py +42 -0
  3559. executorch/exir/__init__.py +57 -0
  3560. executorch/exir/_program_utils.py +104 -0
  3561. executorch/exir/_serialize/__init__.py +20 -0
  3562. executorch/exir/_serialize/_cord.py +49 -0
  3563. executorch/exir/_serialize/_dataclass.py +145 -0
  3564. executorch/exir/_serialize/_flatbuffer.py +426 -0
  3565. executorch/exir/_serialize/_flatbuffer_program.py +359 -0
  3566. executorch/exir/_serialize/_named_data_store.py +246 -0
  3567. executorch/exir/_serialize/_program.py +827 -0
  3568. executorch/exir/_serialize/_serialize.py +123 -0
  3569. executorch/exir/_serialize/data_serializer.py +80 -0
  3570. executorch/exir/_serialize/generate_program.py +167 -0
  3571. executorch/exir/_serialize/generated/__init__.py +7 -0
  3572. executorch/exir/_serialize/generated/executorch_flatbuffer/AllocationDetails.py +130 -0
  3573. executorch/exir/_serialize/generated/executorch_flatbuffer/BackendDelegate.py +189 -0
  3574. executorch/exir/_serialize/generated/executorch_flatbuffer/BackendDelegateDataReference.py +113 -0
  3575. executorch/exir/_serialize/generated/executorch_flatbuffer/BackendDelegateInlineData.py +141 -0
  3576. executorch/exir/_serialize/generated/executorch_flatbuffer/Bool.py +96 -0
  3577. executorch/exir/_serialize/generated/executorch_flatbuffer/BoolList.py +141 -0
  3578. executorch/exir/_serialize/generated/executorch_flatbuffer/Buffer.py +141 -0
  3579. executorch/exir/_serialize/generated/executorch_flatbuffer/Chain.py +317 -0
  3580. executorch/exir/_serialize/generated/executorch_flatbuffer/CompileSpec.py +162 -0
  3581. executorch/exir/_serialize/generated/executorch_flatbuffer/ContainerMetadata.py +120 -0
  3582. executorch/exir/_serialize/generated/executorch_flatbuffer/DataLocation.py +7 -0
  3583. executorch/exir/_serialize/generated/executorch_flatbuffer/DataSegment.py +113 -0
  3584. executorch/exir/_serialize/generated/executorch_flatbuffer/DelegateCall.py +158 -0
  3585. executorch/exir/_serialize/generated/executorch_flatbuffer/DeviceType.py +7 -0
  3586. executorch/exir/_serialize/generated/executorch_flatbuffer/Double.py +96 -0
  3587. executorch/exir/_serialize/generated/executorch_flatbuffer/DoubleList.py +141 -0
  3588. executorch/exir/_serialize/generated/executorch_flatbuffer/EValue.py +137 -0
  3589. executorch/exir/_serialize/generated/executorch_flatbuffer/ExecutionPlan.py +595 -0
  3590. executorch/exir/_serialize/generated/executorch_flatbuffer/ExtraTensorInfo.py +168 -0
  3591. executorch/exir/_serialize/generated/executorch_flatbuffer/Frame.py +157 -0
  3592. executorch/exir/_serialize/generated/executorch_flatbuffer/FrameList.py +143 -0
  3593. executorch/exir/_serialize/generated/executorch_flatbuffer/FreeCall.py +96 -0
  3594. executorch/exir/_serialize/generated/executorch_flatbuffer/Instruction.py +131 -0
  3595. executorch/exir/_serialize/generated/executorch_flatbuffer/InstructionArguments.py +33 -0
  3596. executorch/exir/_serialize/generated/executorch_flatbuffer/Int.py +96 -0
  3597. executorch/exir/_serialize/generated/executorch_flatbuffer/IntList.py +141 -0
  3598. executorch/exir/_serialize/generated/executorch_flatbuffer/JumpFalseCall.py +113 -0
  3599. executorch/exir/_serialize/generated/executorch_flatbuffer/KernelCall.py +158 -0
  3600. executorch/exir/_serialize/generated/executorch_flatbuffer/KernelTypes.py +57 -0
  3601. executorch/exir/_serialize/generated/executorch_flatbuffer/MoveCall.py +113 -0
  3602. executorch/exir/_serialize/generated/executorch_flatbuffer/NamedData.py +117 -0
  3603. executorch/exir/_serialize/generated/executorch_flatbuffer/NonConstBufferDevice.py +130 -0
  3604. executorch/exir/_serialize/generated/executorch_flatbuffer/Null.py +80 -0
  3605. executorch/exir/_serialize/generated/executorch_flatbuffer/Operator.py +120 -0
  3606. executorch/exir/_serialize/generated/executorch_flatbuffer/OptionalTensorList.py +141 -0
  3607. executorch/exir/_serialize/generated/executorch_flatbuffer/Program.py +474 -0
  3608. executorch/exir/_serialize/generated/executorch_flatbuffer/ScalarType.py +28 -0
  3609. executorch/exir/_serialize/generated/executorch_flatbuffer/String.py +100 -0
  3610. executorch/exir/_serialize/generated/executorch_flatbuffer/SubsegmentOffsets.py +158 -0
  3611. executorch/exir/_serialize/generated/executorch_flatbuffer/Tensor.py +355 -0
  3612. executorch/exir/_serialize/generated/executorch_flatbuffer/TensorDataLocation.py +7 -0
  3613. executorch/exir/_serialize/generated/executorch_flatbuffer/TensorList.py +141 -0
  3614. executorch/exir/_serialize/generated/executorch_flatbuffer/TensorShapeDynamism.py +8 -0
  3615. executorch/exir/_serialize/generated/executorch_flatbuffer/__init__.py +91 -0
  3616. executorch/exir/_serialize/padding.py +39 -0
  3617. executorch/exir/_serialize/program.fbs +534 -0
  3618. executorch/exir/_serialize/scalar_type.fbs +43 -0
  3619. executorch/exir/_serialize/test/__init__.py +0 -0
  3620. executorch/exir/_serialize/test/test_cord.py +63 -0
  3621. executorch/exir/_serialize/test/test_flatbuffer.py +273 -0
  3622. executorch/exir/_serialize/test/test_flatbuffer_program.py +174 -0
  3623. executorch/exir/_serialize/test/test_named_data_store.py +249 -0
  3624. executorch/exir/_serialize/test/test_program.py +1369 -0
  3625. executorch/exir/_serialize/test/test_serialize.py +289 -0
  3626. executorch/exir/_warnings.py +44 -0
  3627. executorch/exir/backend/backend_api.py +794 -0
  3628. executorch/exir/backend/backend_details.py +150 -0
  3629. executorch/exir/backend/canonical_partitioners/all_node_partitioner.py +55 -0
  3630. executorch/exir/backend/canonical_partitioners/config_partitioner.py +262 -0
  3631. executorch/exir/backend/canonical_partitioners/duplicate_constant_node_pass.py +151 -0
  3632. executorch/exir/backend/canonical_partitioners/duplicate_dequant_node_pass.py +111 -0
  3633. executorch/exir/backend/canonical_partitioners/group_partitioner.py +382 -0
  3634. executorch/exir/backend/canonical_partitioners/pattern_op_partitioner.py +185 -0
  3635. executorch/exir/backend/compile_spec_schema.py +17 -0
  3636. executorch/exir/backend/operator_support.py +127 -0
  3637. executorch/exir/backend/partitioner.py +114 -0
  3638. executorch/exir/backend/test/backend_with_compiler_demo.py +142 -0
  3639. executorch/exir/backend/test/backend_with_delegate_mapping_demo.py +210 -0
  3640. executorch/exir/backend/test/backend_with_named_data_map.py +115 -0
  3641. executorch/exir/backend/test/backend_with_preprocess_all_demo.py +297 -0
  3642. executorch/exir/backend/test/demo_backend.py +35 -0
  3643. executorch/exir/backend/test/demos/rpc/executor_backend_partitioner.py +77 -0
  3644. executorch/exir/backend/test/demos/rpc/executor_backend_preprocess.py +39 -0
  3645. executorch/exir/backend/test/demos/rpc/test_rpc.py +189 -0
  3646. executorch/exir/backend/test/demos/test_delegate_aten_mode.py +72 -0
  3647. executorch/exir/backend/test/device_util.py +112 -0
  3648. executorch/exir/backend/test/hta_partitioner_demo.py +247 -0
  3649. executorch/exir/backend/test/op_partitioner_demo.py +266 -0
  3650. executorch/exir/backend/test/test_backend_with_named_data_map.py +85 -0
  3651. executorch/exir/backend/test/test_backends_lifted.py +1322 -0
  3652. executorch/exir/backend/test/test_backends_nested.py +258 -0
  3653. executorch/exir/backend/test/test_compatibility.py +118 -0
  3654. executorch/exir/backend/test/test_debug_handle_map.py +136 -0
  3655. executorch/exir/backend/test/test_delegate_map_builder.py +274 -0
  3656. executorch/exir/backend/test/test_graph_partition.py +248 -0
  3657. executorch/exir/backend/test/test_group_partitioner.py +1770 -0
  3658. executorch/exir/backend/test/test_lowered_backend_module.py +281 -0
  3659. executorch/exir/backend/test/test_partitioner.py +731 -0
  3660. executorch/exir/backend/test/test_passes.py +88 -0
  3661. executorch/exir/backend/test/test_to_backend_multi_method.py +595 -0
  3662. executorch/exir/backend/test/test_utils.py +392 -0
  3663. executorch/exir/backend/utils.py +724 -0
  3664. executorch/exir/capture/__init__.py +28 -0
  3665. executorch/exir/capture/_capture.py +381 -0
  3666. executorch/exir/capture/_config.py +140 -0
  3667. executorch/exir/capture/_unlift.py +159 -0
  3668. executorch/exir/common.py +140 -0
  3669. executorch/exir/control_flow.py +204 -0
  3670. executorch/exir/debug_handle_utils.py +29 -0
  3671. executorch/exir/delegate.py +171 -0
  3672. executorch/exir/delegate.pyi +21 -0
  3673. executorch/exir/dialects/__init__.py +0 -0
  3674. executorch/exir/dialects/_ops.py +166 -0
  3675. executorch/exir/dialects/backend/_ops.py +123 -0
  3676. executorch/exir/dialects/backend/test/test_backend_ops.py +88 -0
  3677. executorch/exir/dialects/edge/_ops.py +405 -0
  3678. executorch/exir/dialects/edge/arg/model.py +238 -0
  3679. executorch/exir/dialects/edge/arg/type.py +46 -0
  3680. executorch/exir/dialects/edge/dtype/runner.py +122 -0
  3681. executorch/exir/dialects/edge/dtype/supported.py +49 -0
  3682. executorch/exir/dialects/edge/dtype/utils.py +36 -0
  3683. executorch/exir/dialects/edge/edge.yaml +8388 -0
  3684. executorch/exir/dialects/edge/op/api.py +86 -0
  3685. executorch/exir/dialects/edge/op/sample_input.py +1283 -0
  3686. executorch/exir/dialects/edge/op/test/test_api.py +51 -0
  3687. executorch/exir/dialects/edge/spec/gen.py +523 -0
  3688. executorch/exir/dialects/edge/spec/utils.py +328 -0
  3689. executorch/exir/dialects/edge/test/test_edge_ops.py +443 -0
  3690. executorch/exir/dialects/edge/test/test_edge_yaml.py +225 -0
  3691. executorch/exir/dialects/test/test_exir_dialect_ops.py +22 -0
  3692. executorch/exir/dim_order_utils.py +85 -0
  3693. executorch/exir/dynamic_shape.py +12 -0
  3694. executorch/exir/emit/__init__.py +11 -0
  3695. executorch/exir/emit/_emit_program.py +216 -0
  3696. executorch/exir/emit/_emitter.py +2117 -0
  3697. executorch/exir/emit/test/test_emit.py +2812 -0
  3698. executorch/exir/error.py +55 -0
  3699. executorch/exir/graph.py +86 -0
  3700. executorch/exir/graph_module.py +153 -0
  3701. executorch/exir/lowered_backend_module.py +1073 -0
  3702. executorch/exir/memory.py +50 -0
  3703. executorch/exir/memory_planning.py +1610 -0
  3704. executorch/exir/operator/convert.py +371 -0
  3705. executorch/exir/operator/manip.py +89 -0
  3706. executorch/exir/operator/test/test_operator.py +172 -0
  3707. executorch/exir/operator/util.py +68 -0
  3708. executorch/exir/pass_base.py +979 -0
  3709. executorch/exir/pass_manager.py +241 -0
  3710. executorch/exir/passes/__init__.py +545 -0
  3711. executorch/exir/passes/_device_copy_ops_registry.py +58 -0
  3712. executorch/exir/passes/_quant_patterns_and_replacements.py +1564 -0
  3713. executorch/exir/passes/const_prop_pass.py +84 -0
  3714. executorch/exir/passes/constant_prop_pass.py +402 -0
  3715. executorch/exir/passes/convert_constant_dim_order_pass.py +86 -0
  3716. executorch/exir/passes/cse_pass.py +201 -0
  3717. executorch/exir/passes/debug_handle_generator_pass.py +81 -0
  3718. executorch/exir/passes/dim_order_ops_registry.py +90 -0
  3719. executorch/exir/passes/dynamic_shape_prop_pass.py +301 -0
  3720. executorch/exir/passes/executorch_prim_ops_registry.py +186 -0
  3721. executorch/exir/passes/external_constants_pass.py +113 -0
  3722. executorch/exir/passes/init_mutable_pass.py +32 -0
  3723. executorch/exir/passes/insert_write_back_for_buffers_pass.py +185 -0
  3724. executorch/exir/passes/legalize_portable_dim_order_pass.py +69 -0
  3725. executorch/exir/passes/memory_format_ops_pass.py +139 -0
  3726. executorch/exir/passes/memory_planning_pass.py +329 -0
  3727. executorch/exir/passes/normalize_transpose_pass.py +24 -0
  3728. executorch/exir/passes/normalize_view_copy_base_pass.py +62 -0
  3729. executorch/exir/passes/pass_registry.py +89 -0
  3730. executorch/exir/passes/propagate_device_config.py +56 -0
  3731. executorch/exir/passes/propagate_device_pass.py +458 -0
  3732. executorch/exir/passes/prune_empty_tensors_pass.py +68 -0
  3733. executorch/exir/passes/quant_fusion_pass.py +174 -0
  3734. executorch/exir/passes/quantize_io_pass.py +414 -0
  3735. executorch/exir/passes/reinplace.py +532 -0
  3736. executorch/exir/passes/remove_graph_asserts_pass.py +62 -0
  3737. executorch/exir/passes/remove_mixed_type_operators.py +95 -0
  3738. executorch/exir/passes/remove_noop_pass.py +129 -0
  3739. executorch/exir/passes/remove_unused_parameters_pass.py +55 -0
  3740. executorch/exir/passes/replace_aten_with_edge_pass.py +59 -0
  3741. executorch/exir/passes/replace_broken_ops_with_function_ops_pass.py +42 -0
  3742. executorch/exir/passes/replace_edge_with_backend_pass.py +56 -0
  3743. executorch/exir/passes/replace_sym_size_op_pass.py +35 -0
  3744. executorch/exir/passes/replace_view_copy_with_view_pass.py +327 -0
  3745. executorch/exir/passes/scalar_to_tensor_pass.py +44 -0
  3746. executorch/exir/passes/spec_prop_pass.py +132 -0
  3747. executorch/exir/passes/sym_shape_eval_pass.py +289 -0
  3748. executorch/exir/passes/sym_to_tensor_pass.py +64 -0
  3749. executorch/exir/passes/to_device_pass.py +45 -0
  3750. executorch/exir/passes/weights_to_outputs_pass.py +88 -0
  3751. executorch/exir/print_program.py +428 -0
  3752. executorch/exir/program/__init__.py +32 -0
  3753. executorch/exir/program/_fake_program.py +67 -0
  3754. executorch/exir/program/_program.py +1998 -0
  3755. executorch/exir/program/test/__init__.py +0 -0
  3756. executorch/exir/program/test/test_fake_program.py +78 -0
  3757. executorch/exir/program/test/test_program.py +952 -0
  3758. executorch/exir/scalar_type.py +38 -0
  3759. executorch/exir/schema.py +330 -0
  3760. executorch/exir/serde/__init__.py +0 -0
  3761. executorch/exir/serde/export_serialize.py +2875 -0
  3762. executorch/exir/serde/schema.py +409 -0
  3763. executorch/exir/serde/schema_check.py +293 -0
  3764. executorch/exir/serde/serialize.py +838 -0
  3765. executorch/exir/serde/union.py +77 -0
  3766. executorch/exir/sym_util.py +105 -0
  3767. executorch/exir/tensor.py +413 -0
  3768. executorch/exir/tensor_layout.py +39 -0
  3769. executorch/exir/tests/asr_joiner.py +82 -0
  3770. executorch/exir/tests/common.py +96 -0
  3771. executorch/exir/tests/control_flow_models.py +105 -0
  3772. executorch/exir/tests/dynamic_shape_models.py +51 -0
  3773. executorch/exir/tests/models.py +576 -0
  3774. executorch/exir/tests/test_arg_validator.py +72 -0
  3775. executorch/exir/tests/test_common.py +81 -0
  3776. executorch/exir/tests/test_delegate.py +308 -0
  3777. executorch/exir/tests/test_device_copy_ops.py +73 -0
  3778. executorch/exir/tests/test_dim_order_utils.py +49 -0
  3779. executorch/exir/tests/test_dynamic_shape_propagation.py +174 -0
  3780. executorch/exir/tests/test_error.py +19 -0
  3781. executorch/exir/tests/test_extract_io_quant_params.py +93 -0
  3782. executorch/exir/tests/test_joint_graph.py +124 -0
  3783. executorch/exir/tests/test_legalize_portable_dim_order_pass.py +228 -0
  3784. executorch/exir/tests/test_memory_format_ops_pass.py +443 -0
  3785. executorch/exir/tests/test_memory_format_ops_pass_aten.py +142 -0
  3786. executorch/exir/tests/test_memory_format_ops_pass_utils.py +266 -0
  3787. executorch/exir/tests/test_memory_planning.py +1767 -0
  3788. executorch/exir/tests/test_op_convert.py +88 -0
  3789. executorch/exir/tests/test_pass_infra.py +559 -0
  3790. executorch/exir/tests/test_passes.py +2898 -0
  3791. executorch/exir/tests/test_print_program.py +54 -0
  3792. executorch/exir/tests/test_propagate_device_pass.py +1275 -0
  3793. executorch/exir/tests/test_prune_empty_tensors_pass.py +112 -0
  3794. executorch/exir/tests/test_quant_fusion_pass.py +548 -0
  3795. executorch/exir/tests/test_quantization.py +120 -0
  3796. executorch/exir/tests/test_quantize_io_pass.py +156 -0
  3797. executorch/exir/tests/test_reinplace_pass.py +725 -0
  3798. executorch/exir/tests/test_remove_unused_parameters_pass.py +205 -0
  3799. executorch/exir/tests/test_remove_view_copy.py +236 -0
  3800. executorch/exir/tests/test_serde.py +352 -0
  3801. executorch/exir/tests/test_tensor.py +416 -0
  3802. executorch/exir/tests/test_verification.py +326 -0
  3803. executorch/exir/tests/test_warnings.py +169 -0
  3804. executorch/exir/tests/transformer.py +122 -0
  3805. executorch/exir/tracer.py +803 -0
  3806. executorch/exir/types.py +18 -0
  3807. executorch/exir/verification/arg_validator.py +140 -0
  3808. executorch/exir/verification/dev_html.py +68 -0
  3809. executorch/exir/verification/interpreter.py +425 -0
  3810. executorch/exir/verification/test/test_verifier.py +137 -0
  3811. executorch/exir/verification/verifier.py +346 -0
  3812. executorch/exir/version.py +9 -0
  3813. executorch/exir/wrap.py +32 -0
  3814. executorch/export/__init__.py +40 -0
  3815. executorch/export/export.py +696 -0
  3816. executorch/export/recipe.py +328 -0
  3817. executorch/export/recipe_provider.py +60 -0
  3818. executorch/export/recipe_registry.py +86 -0
  3819. executorch/export/stages.py +686 -0
  3820. executorch/export/target_recipes.py +185 -0
  3821. executorch/export/tests/test_executorch_export.py +34 -0
  3822. executorch/export/tests/test_export_recipe.py +131 -0
  3823. executorch/export/tests/test_export_session.py +973 -0
  3824. executorch/export/tests/test_export_stages.py +534 -0
  3825. executorch/export/tests/test_recipe_provider.py +98 -0
  3826. executorch/export/tests/test_recipe_registry.py +139 -0
  3827. executorch/export/tests/test_target_recipes.py +539 -0
  3828. executorch/export/types.py +22 -0
  3829. executorch/export/utils.py +51 -0
  3830. executorch/extension/apple/ExecuTorch/__tests__/resources/generate_coreml_test_models.py +81 -0
  3831. executorch/extension/audio/mel_spectrogram.py +332 -0
  3832. executorch/extension/export_util/__init__.py +13 -0
  3833. executorch/extension/export_util/utils.py +147 -0
  3834. executorch/extension/flat_tensor/__init__.py +0 -0
  3835. executorch/extension/flat_tensor/serialize/__init__.py +0 -0
  3836. executorch/extension/flat_tensor/serialize/flat_tensor.fbs +73 -0
  3837. executorch/extension/flat_tensor/serialize/flat_tensor_schema.py +34 -0
  3838. executorch/extension/flat_tensor/serialize/scalar_type.fbs +43 -0
  3839. executorch/extension/flat_tensor/serialize/serialize.py +446 -0
  3840. executorch/extension/flat_tensor/test/test_serialize.py +326 -0
  3841. executorch/extension/gguf_util/convert_main.py +53 -0
  3842. executorch/extension/gguf_util/converter.py +27 -0
  3843. executorch/extension/gguf_util/converters/llama_converter.py +123 -0
  3844. executorch/extension/gguf_util/load_gguf.py +103 -0
  3845. executorch/extension/image/benchmark/compare_benchmarks.py +122 -0
  3846. executorch/extension/llm/custom_ops/__init__.py +0 -0
  3847. executorch/extension/llm/custom_ops/custom_ops.py +581 -0
  3848. executorch/extension/llm/custom_ops/custom_ops_aot_lib.dll +0 -0
  3849. executorch/extension/llm/custom_ops/model_sharding.py +102 -0
  3850. executorch/extension/llm/custom_ops/op_fallback.py +29 -0
  3851. executorch/extension/llm/custom_ops/op_tile_crop_aot.py +38 -0
  3852. executorch/extension/llm/custom_ops/preprocess_custom_ops.py +69 -0
  3853. executorch/extension/llm/custom_ops/spinquant/special_hadamard_code_gen.py +279 -0
  3854. executorch/extension/llm/custom_ops/spinquant/third-party/FFHT/example.py +20 -0
  3855. executorch/extension/llm/custom_ops/spinquant/third-party/FFHT/gen.py +869 -0
  3856. executorch/extension/llm/custom_ops/test_preprocess_custom_ops.py +34 -0
  3857. executorch/extension/llm/custom_ops/test_quantized_sdpa.py +550 -0
  3858. executorch/extension/llm/custom_ops/test_sdpa_with_kv_cache.py +685 -0
  3859. executorch/extension/llm/custom_ops/test_update_cache.py +754 -0
  3860. executorch/extension/llm/custom_ops/test_update_cross_attn_cache.py +286 -0
  3861. executorch/extension/llm/export/__init__.py +11 -0
  3862. executorch/extension/llm/export/builder.py +592 -0
  3863. executorch/extension/llm/export/config/llm_config.py +912 -0
  3864. executorch/extension/llm/export/export_llm.py +106 -0
  3865. executorch/extension/llm/export/export_passes.py +202 -0
  3866. executorch/extension/llm/export/gguf.py +577 -0
  3867. executorch/extension/llm/export/int4.py +193 -0
  3868. executorch/extension/llm/export/load.py +315 -0
  3869. executorch/extension/llm/export/nvfp4.py +191 -0
  3870. executorch/extension/llm/export/partitioner_lib.py +278 -0
  3871. executorch/extension/llm/export/quant/__init__.py +20 -0
  3872. executorch/extension/llm/export/quant/convert.py +216 -0
  3873. executorch/extension/llm/export/quant/quantize.py +386 -0
  3874. executorch/extension/llm/export/quant/recipe.py +62 -0
  3875. executorch/extension/llm/export/quant/test/test_convert.py +362 -0
  3876. executorch/extension/llm/export/quant/test/test_quantize.py +310 -0
  3877. executorch/extension/llm/export/quant/test/test_recipe.py +118 -0
  3878. executorch/extension/llm/export/quant/test/test_safetensors_roundtrip.py +143 -0
  3879. executorch/extension/llm/export/quantize.py +286 -0
  3880. executorch/extension/llm/export/quantizer_lib.py +443 -0
  3881. executorch/extension/llm/export/test/__init__.py +0 -0
  3882. executorch/extension/llm/export/test/test_builder.py +118 -0
  3883. executorch/extension/llm/export/test/test_export_llm.py +155 -0
  3884. executorch/extension/llm/export/test/test_gguf.py +409 -0
  3885. executorch/extension/llm/export/test/test_int4.py +139 -0
  3886. executorch/extension/llm/export/test_export_passes.py +209 -0
  3887. executorch/extension/llm/modules/__init__.py +24 -0
  3888. executorch/extension/llm/modules/_position_embeddings.py +729 -0
  3889. executorch/extension/llm/modules/attention.py +413 -0
  3890. executorch/extension/llm/modules/kv_cache.py +151 -0
  3891. executorch/extension/llm/modules/test/__init__.py +0 -0
  3892. executorch/extension/llm/modules/test/test_attention.py +353 -0
  3893. executorch/extension/llm/modules/test/test_kv_cache.py +218 -0
  3894. executorch/extension/llm/modules/test/test_position_embeddings.py +230 -0
  3895. executorch/extension/llm/modules/test/test_turboquant_kv_cache.py +262 -0
  3896. executorch/extension/llm/modules/turboquant/__init__.py +11 -0
  3897. executorch/extension/llm/modules/turboquant/codebook.py +124 -0
  3898. executorch/extension/llm/modules/turboquant/kv_cache.py +170 -0
  3899. executorch/extension/llm/runner/__init__.py +238 -0
  3900. executorch/extension/llm/runner/_llm_runner.pyi +596 -0
  3901. executorch/extension/llm/runner/test/test_runner_pybindings.py +266 -0
  3902. executorch/extension/llm/tokenizers/pytorch_tokenizers/__init__.py +63 -0
  3903. executorch/extension/llm/tokenizers/pytorch_tokenizers/constants.py +31 -0
  3904. executorch/extension/llm/tokenizers/pytorch_tokenizers/hf_tokenizer.py +57 -0
  3905. executorch/extension/llm/tokenizers/pytorch_tokenizers/llama2c.py +111 -0
  3906. executorch/extension/llm/tokenizers/pytorch_tokenizers/tiktoken.py +197 -0
  3907. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/__init__.py +0 -0
  3908. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/llama2c/__init__.py +0 -0
  3909. executorch/extension/llm/tokenizers/pytorch_tokenizers/tools/llama2c/convert.py +49 -0
  3910. executorch/extension/llm/tokenizers/setup.py +200 -0
  3911. executorch/extension/llm/tokenizers/test/test_hf_tokenizer.py +96 -0
  3912. executorch/extension/llm/tokenizers/test/test_python_bindings.py +131 -0
  3913. executorch/extension/llm/tokenizers/test/test_tekken_python.py +453 -0
  3914. executorch/extension/llm/tokenizers/test/test_tiktoken.py +49 -0
  3915. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/abseil.podspec.gen.py +243 -0
  3916. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/copts/copts.py +194 -0
  3917. executorch/extension/llm/tokenizers/third-party/abseil-cpp/absl/copts/generate_copts.py +109 -0
  3918. executorch/extension/llm/tokenizers/third-party/abseil-cpp/conanfile.py +51 -0
  3919. executorch/extension/llm/tokenizers/third-party/abseil-cpp/create_lts.py +139 -0
  3920. executorch/extension/llm/tokenizers/third-party/json/docs/mkdocs/scripts/check_structure.py +179 -0
  3921. executorch/extension/llm/tokenizers/third-party/json/tests/thirdparty/imapdl/filterbr.py +109 -0
  3922. executorch/extension/llm/tokenizers/third-party/json/tools/amalgamate/amalgamate.py +299 -0
  3923. executorch/extension/llm/tokenizers/third-party/json/tools/gdb_pretty_printer/nlohmann-json.py +32 -0
  3924. executorch/extension/llm/tokenizers/third-party/json/tools/generate_natvis/generate_natvis.py +41 -0
  3925. executorch/extension/llm/tokenizers/third-party/json/tools/serve_header/serve_header.py +410 -0
  3926. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateCommon.py +354 -0
  3927. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateTest.py +186 -0
  3928. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcd.py +999 -0
  3929. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcpHeader.py +98 -0
  3930. executorch/extension/llm/tokenizers/third-party/pcre2/maint/GenerateUcpTables.py +203 -0
  3931. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateCommon.py +31 -0
  3932. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateDates.py +59 -0
  3933. executorch/extension/llm/tokenizers/third-party/pcre2/maint/UpdateRelease.py +29 -0
  3934. executorch/extension/llm/tokenizers/third-party/re2/benchlog/benchplot.py +98 -0
  3935. executorch/extension/llm/tokenizers/third-party/re2/python/re2.py +583 -0
  3936. executorch/extension/llm/tokenizers/third-party/re2/python/re2_test.py +489 -0
  3937. executorch/extension/llm/tokenizers/third-party/re2/python/setup.py +158 -0
  3938. executorch/extension/llm/tokenizers/third-party/re2/python/toolchains/generate.py +98 -0
  3939. executorch/extension/llm/tokenizers/third-party/re2/re2/make_unicode_casefold.py +151 -0
  3940. executorch/extension/llm/tokenizers/third-party/re2/re2/make_unicode_groups.py +117 -0
  3941. executorch/extension/llm/tokenizers/third-party/re2/re2/unicode.py +284 -0
  3942. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/setup.py +225 -0
  3943. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/__init__.py +1224 -0
  3944. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/_version.py +1 -0
  3945. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/sentencepiece_model_pb2.py +44 -0
  3946. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/src/sentencepiece/sentencepiece_pb2.py +30 -0
  3947. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/test/__init__.py +0 -0
  3948. executorch/extension/llm/tokenizers/third-party/sentencepiece/python/test/sentencepiece_test.py +937 -0
  3949. executorch/extension/module/test/resources/gen_bundled_program.py +99 -0
  3950. executorch/extension/pybindings/_portable_lib.cp314-win_amd64.pyd +0 -0
  3951. executorch/extension/pybindings/data_loader.cp314-win_amd64.pyd +0 -0
  3952. executorch/extension/pybindings/data_loader.pyi +12 -0
  3953. executorch/extension/pybindings/portable_lib.py +108 -0
  3954. executorch/extension/pybindings/pybindings.pyi +393 -0
  3955. executorch/extension/pybindings/test/make_test.py +186 -0
  3956. executorch/extension/pybindings/test/test_backend_pybinding.py +27 -0
  3957. executorch/extension/pybindings/test/test_pybindings.py +735 -0
  3958. executorch/extension/pytree/__init__.py +54 -0
  3959. executorch/extension/pytree/test/test.py +331 -0
  3960. executorch/extension/training/__init__.py +22 -0
  3961. executorch/extension/training/examples/CIFAR/data_utils.py +389 -0
  3962. executorch/extension/training/examples/CIFAR/export.py +220 -0
  3963. executorch/extension/training/examples/CIFAR/main.py +188 -0
  3964. executorch/extension/training/examples/CIFAR/model.py +73 -0
  3965. executorch/extension/training/examples/CIFAR/train_utils.py +622 -0
  3966. executorch/extension/training/examples/XOR/export_model.py +77 -0
  3967. executorch/extension/training/examples/XOR/model.py +34 -0
  3968. executorch/extension/training/examples/XOR/test/test_export.py +19 -0
  3969. executorch/extension/training/pybindings/_training_lib.pyi +45 -0
  3970. executorch/extension/training/pybindings/_training_module.py +86 -0
  3971. executorch/extension/training/pybindings/test/test.py +67 -0
  3972. executorch/extension/wasm/test/test_model.py +34 -0
  3973. executorch/include/executorch/extension/kernel_util/make_boxed_from_unboxed_functor.h +260 -0
  3974. executorch/include/executorch/extension/kernel_util/meta_programming.h +119 -0
  3975. executorch/include/executorch/extension/kernel_util/type_list.h +145 -0
  3976. executorch/include/executorch/extension/tensor/tensor.h +14 -0
  3977. executorch/include/executorch/extension/tensor/tensor_accessor.h +218 -0
  3978. executorch/include/executorch/extension/tensor/tensor_ptr.h +561 -0
  3979. executorch/include/executorch/extension/tensor/tensor_ptr_maker.h +687 -0
  3980. executorch/include/executorch/extension/threadpool/cpuinfo_utils.h +24 -0
  3981. executorch/include/executorch/extension/threadpool/threadpool.h +130 -0
  3982. executorch/include/executorch/extension/threadpool/threadpool_guard.h +37 -0
  3983. executorch/include/executorch/runtime/backend/backend_execution_context.h +80 -0
  3984. executorch/include/executorch/runtime/backend/backend_init_context.h +149 -0
  3985. executorch/include/executorch/runtime/backend/backend_option_context.h +34 -0
  3986. executorch/include/executorch/runtime/backend/backend_options_map.h +229 -0
  3987. executorch/include/executorch/runtime/backend/interface.h +230 -0
  3988. executorch/include/executorch/runtime/backend/options.h +208 -0
  3989. executorch/include/executorch/runtime/core/array_ref.h +264 -0
  3990. executorch/include/executorch/runtime/core/data_loader.h +141 -0
  3991. executorch/include/executorch/runtime/core/defines.h +20 -0
  3992. executorch/include/executorch/runtime/core/device_allocator.h +198 -0
  3993. executorch/include/executorch/runtime/core/device_memory_buffer.h +129 -0
  3994. executorch/include/executorch/runtime/core/error.h +264 -0
  3995. executorch/include/executorch/runtime/core/evalue.h +867 -0
  3996. executorch/include/executorch/runtime/core/event_tracer.h +592 -0
  3997. executorch/include/executorch/runtime/core/event_tracer_hooks.h +340 -0
  3998. executorch/include/executorch/runtime/core/event_tracer_hooks_delegate.h +204 -0
  3999. executorch/include/executorch/runtime/core/exec_aten/exec_aten.h +208 -0
  4000. executorch/include/executorch/runtime/core/exec_aten/testing_util/tensor_factory.h +1133 -0
  4001. executorch/include/executorch/runtime/core/exec_aten/testing_util/tensor_util.h +378 -0
  4002. executorch/include/executorch/runtime/core/exec_aten/util/dim_order_util.h +290 -0
  4003. executorch/include/executorch/runtime/core/exec_aten/util/scalar_type_util.h +1430 -0
  4004. executorch/include/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +21 -0
  4005. executorch/include/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +68 -0
  4006. executorch/include/executorch/runtime/core/exec_aten/util/tensor_util.h +1428 -0
  4007. executorch/include/executorch/runtime/core/freeable_buffer.h +218 -0
  4008. executorch/include/executorch/runtime/core/function_ref.h +108 -0
  4009. executorch/include/executorch/runtime/core/hierarchical_allocator.h +167 -0
  4010. executorch/include/executorch/runtime/core/memory_allocator.h +249 -0
  4011. executorch/include/executorch/runtime/core/named_data_map.h +75 -0
  4012. executorch/include/executorch/runtime/core/portable_type/bfloat16.h +27 -0
  4013. executorch/include/executorch/runtime/core/portable_type/bfloat16_math.h +14 -0
  4014. executorch/include/executorch/runtime/core/portable_type/bits_types.h +83 -0
  4015. executorch/include/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +1 -0
  4016. executorch/include/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +1 -0
  4017. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +1 -0
  4018. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +299 -0
  4019. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +1 -0
  4020. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +1 -0
  4021. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/Half.h +8 -0
  4022. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +1 -0
  4023. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +1 -0
  4024. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex.h +78 -0
  4025. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex_math.h +441 -0
  4026. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/complex_utils.h +46 -0
  4027. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +1 -0
  4028. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/irange.h +123 -0
  4029. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +905 -0
  4030. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/overflows.h +100 -0
  4031. executorch/include/executorch/runtime/core/portable_type/c10/c10/util/safe_numerics.h +114 -0
  4032. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Export.h +145 -0
  4033. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +741 -0
  4034. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h +481 -0
  4035. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/Half.h +788 -0
  4036. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +148 -0
  4037. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h +50 -0
  4038. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/complex.h +616 -0
  4039. executorch/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h +38 -0
  4040. executorch/include/executorch/runtime/core/portable_type/complex.h +21 -0
  4041. executorch/include/executorch/runtime/core/portable_type/device.h +85 -0
  4042. executorch/include/executorch/runtime/core/portable_type/half.h +27 -0
  4043. executorch/include/executorch/runtime/core/portable_type/optional.h +37 -0
  4044. executorch/include/executorch/runtime/core/portable_type/qint_types.h +83 -0
  4045. executorch/include/executorch/runtime/core/portable_type/scalar.h +123 -0
  4046. executorch/include/executorch/runtime/core/portable_type/scalar_type.h +154 -0
  4047. executorch/include/executorch/runtime/core/portable_type/string_view.h +31 -0
  4048. executorch/include/executorch/runtime/core/portable_type/tensor.h +190 -0
  4049. executorch/include/executorch/runtime/core/portable_type/tensor_impl.h +340 -0
  4050. executorch/include/executorch/runtime/core/portable_type/tensor_options.h +60 -0
  4051. executorch/include/executorch/runtime/core/result.h +333 -0
  4052. executorch/include/executorch/runtime/core/span.h +110 -0
  4053. executorch/include/executorch/runtime/core/tag.h +90 -0
  4054. executorch/include/executorch/runtime/core/tensor_layout.h +93 -0
  4055. executorch/include/executorch/runtime/core/tensor_shape_dynamism.h +39 -0
  4056. executorch/include/executorch/runtime/core/test/mock_cuda_allocator.h +146 -0
  4057. executorch/include/executorch/runtime/core/testing_util/error_matchers.h +303 -0
  4058. executorch/include/executorch/runtime/executor/memory_manager.h +149 -0
  4059. executorch/include/executorch/runtime/executor/merged_data_map.h +150 -0
  4060. executorch/include/executorch/runtime/executor/method.h +465 -0
  4061. executorch/include/executorch/runtime/executor/method_meta.h +316 -0
  4062. executorch/include/executorch/runtime/executor/platform_memory_allocator.h +124 -0
  4063. executorch/include/executorch/runtime/executor/program.h +329 -0
  4064. executorch/include/executorch/runtime/executor/program_validation.h +51 -0
  4065. executorch/include/executorch/runtime/executor/pte_data_map.h +151 -0
  4066. executorch/include/executorch/runtime/executor/tensor_parser.h +167 -0
  4067. executorch/include/executorch/runtime/executor/test/managed_memory_manager.h +68 -0
  4068. executorch/include/executorch/runtime/kernel/kernel_includes.h +62 -0
  4069. executorch/include/executorch/runtime/kernel/kernel_runtime_context.h +131 -0
  4070. executorch/include/executorch/runtime/kernel/operator_registry.h +308 -0
  4071. executorch/include/executorch/runtime/kernel/test/test_util.h +40 -0
  4072. executorch/include/executorch/runtime/kernel/thread_parallel_interface.h +107 -0
  4073. executorch/include/executorch/runtime/platform/abort.h +36 -0
  4074. executorch/include/executorch/runtime/platform/assert.h +124 -0
  4075. executorch/include/executorch/runtime/platform/clock.h +43 -0
  4076. executorch/include/executorch/runtime/platform/compat_unistd.h +75 -0
  4077. executorch/include/executorch/runtime/platform/compiler.h +225 -0
  4078. executorch/include/executorch/runtime/platform/log.h +216 -0
  4079. executorch/include/executorch/runtime/platform/platform.h +276 -0
  4080. executorch/include/executorch/runtime/platform/profiler.h +293 -0
  4081. executorch/include/executorch/runtime/platform/runtime.h +35 -0
  4082. executorch/include/executorch/runtime/platform/system.h +49 -0
  4083. executorch/include/executorch/runtime/platform/test/pal_spy.h +86 -0
  4084. executorch/include/executorch/runtime/platform/test/stub_platform.h +76 -0
  4085. executorch/include/executorch/runtime/platform/types.h +24 -0
  4086. executorch/kernels/portable/__init__.py +26 -0
  4087. executorch/kernels/portable/custom_ops.yaml +32 -0
  4088. executorch/kernels/portable/et_copy_ops.yaml +16 -0
  4089. executorch/kernels/portable/functions.yaml +1071 -0
  4090. executorch/kernels/portable/test/op_grid_sampler_2d_test.py +234 -0
  4091. executorch/kernels/portable/test/op_upsample_bilinear2d_aa_test.py +356 -0
  4092. executorch/kernels/portable/test/op_upsample_bilinear2d_test.py +87 -0
  4093. executorch/kernels/portable/test/op_upsample_nearest2d_test.py +71 -0
  4094. executorch/kernels/portable/test/supported_features_def.yaml +1 -0
  4095. executorch/kernels/portable/test/test_grid_sampler_2d_executorch.py +458 -0
  4096. executorch/kernels/quantized/__init__.py +21 -0
  4097. executorch/kernels/quantized/quantized.yaml +113 -0
  4098. executorch/kernels/quantized/quantized_ops_aot_lib.dll +0 -0
  4099. executorch/kernels/quantized/test/supported_features_def.yaml +1 -0
  4100. executorch/kernels/quantized/test/test_out_variants.py +100 -0
  4101. executorch/kernels/quantized/test/test_quant_dequant_per_token.py +149 -0
  4102. executorch/runtime/__init__.py +334 -0
  4103. executorch/runtime/kernel/test/functions.yaml +13 -0
  4104. executorch/runtime/test/test_runtime.py +106 -0
  4105. executorch/runtime/test/test_runtime_etdump_gen.py +163 -0
  4106. executorch/runtime/test/test_runtime_xnnpack.py +181 -0
  4107. executorch/schema/program.fbs +534 -0
  4108. executorch/schema/scalar_type.fbs +43 -0
  4109. executorch/schema/test/test_schema.py +52 -0
  4110. executorch/share/cmake/executorch-config.cmake +78 -0
  4111. executorch/util/activation_memory_profiler.py +177 -0
  4112. executorch/util/collect_env.py +748 -0
  4113. executorch/util/python_profiler.py +96 -0
  4114. executorch/version.py +4 -0
  4115. executorch-1.4.0.dist-info/METADATA +109 -0
  4116. executorch-1.4.0.dist-info/RECORD +4120 -0
  4117. executorch-1.4.0.dist-info/WHEEL +5 -0
  4118. executorch-1.4.0.dist-info/entry_points.txt +2 -0
  4119. executorch-1.4.0.dist-info/licenses/LICENSE +37 -0
  4120. executorch-1.4.0.dist-info/top_level.txt +9 -0
@@ -0,0 +1,1775 @@
1
+ # Copyright 2021 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
+ # AVX512AMX
7
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__avx512amx
8
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
9
+ pack: xnn_pack_qs8_conv_goki_w
10
+ k-block: 64
11
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c4__avx512amx
12
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
13
+ pack: xnn_pack_qs8_conv_goki_w
14
+ k-block: 64
15
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x16c4__avx512amx
16
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
17
+ pack: xnn_pack_qs8_conv_goki_w
18
+ k-block: 64
19
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x16c4__avx512amx_prfm
20
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
21
+ pack: xnn_pack_qs8_conv_goki_w
22
+ k-block: 64
23
+
24
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x32c4__avx512amx
25
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
26
+ pack: xnn_pack_qs8_conv_goki_w
27
+ k-block: 64
28
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x32c4__avx512amx
29
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
30
+ pack: xnn_pack_qs8_conv_goki_w
31
+ k-block: 64
32
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x32c4__avx512amx
33
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
34
+ pack: xnn_pack_qs8_conv_goki_w
35
+ k-block: 64
36
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x32c4__avx512amx_prfm
37
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
38
+ pack: xnn_pack_qs8_conv_goki_w
39
+ k-block: 64
40
+
41
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x64c4__avx512amx
42
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
43
+ pack: xnn_pack_qs8_conv_goki_w
44
+ k-block: 64
45
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x64c4__avx512amx
46
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
47
+ pack: xnn_pack_qs8_conv_goki_w
48
+ k-block: 64
49
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x64c4__avx512amx
50
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
51
+ pack: xnn_pack_qs8_conv_goki_w
52
+ k-block: 64
53
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_16x64c4__avx512amx_prfm
54
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
55
+ pack: xnn_pack_qs8_conv_goki_w
56
+ k-block: 64
57
+
58
+ # AArch32 assembly
59
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__asm_aarch32_neon_mlal_lane_cortex_a7
60
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
61
+ pack: xnn_pack_qs8_conv_goki_w
62
+ k-block: 8
63
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__asm_aarch32_neon_mlal_lane_cortex_a7_prfm
64
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
65
+ pack: xnn_pack_qs8_conv_goki_w
66
+ k-block: 8
67
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__asm_aarch32_neonv8_mlal_lane_cortex_a35
68
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
69
+ pack: xnn_pack_qs8_conv_goki_w
70
+ k-block: 8
71
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__asm_aarch32_neonv8_mlal_lane_cortex_a35_prfm
72
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
73
+ pack: xnn_pack_qs8_conv_goki_w
74
+ k-block: 8
75
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neon_mlal_lane_cortex_a53
76
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
77
+ pack: xnn_pack_qs8_conv_goki_w
78
+ k-block: 8
79
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neon_mlal_lane_cortex_a53_prfm
80
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
81
+ pack: xnn_pack_qs8_conv_goki_w
82
+ k-block: 8
83
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neon_mlal_lane_ld64
84
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
85
+ pack: xnn_pack_qs8_conv_goki_w
86
+ k-block: 8
87
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neon_mlal_lane_ld64_prfm
88
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
89
+ pack: xnn_pack_qs8_conv_goki_w
90
+ k-block: 8
91
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neonv8_mlal_lane_cortex_a53
92
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
93
+ pack: xnn_pack_qs8_conv_goki_w
94
+ k-block: 8
95
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neonv8_mlal_lane_cortex_a53_prfm
96
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
97
+ pack: xnn_pack_qs8_conv_goki_w
98
+ k-block: 8
99
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neonv8_mlal_lane_ld64
100
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
101
+ pack: xnn_pack_qs8_conv_goki_w
102
+ k-block: 8
103
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__asm_aarch32_neonv8_mlal_lane_ld64_prfm
104
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
105
+ pack: xnn_pack_qs8_conv_goki_w
106
+ k-block: 8
107
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c4__asm_aarch32_neondot_cortex_a55
108
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
109
+ pack: xnn_pack_qs8_conv_goki_w
110
+ k-block: 8
111
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c4__asm_aarch32_neondot_ld64
112
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
113
+ pack: xnn_pack_qs8_conv_goki_w
114
+ k-block: 8
115
+
116
+ # AArch64 assembly
117
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__asm_aarch64_neon_mlal
118
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
119
+ pack: xnn_pack_qs8_conv_goki_w
120
+ k-block: 16
121
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__asm_aarch64_neon_mlal_cortex_a53
122
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
123
+ pack: xnn_pack_qs8_conv_goki_w
124
+ k-block: 16
125
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__asm_aarch64_neon_mlal_cortex_a53_prfm
126
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
127
+ pack: xnn_pack_qs8_conv_goki_w
128
+ k-block: 16
129
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__asm_aarch64_neon_mlal_prfm
130
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
131
+ pack: xnn_pack_qs8_conv_goki_w
132
+ k-block: 16
133
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__asm_aarch64_neon_mlal
134
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
135
+ pack: xnn_pack_qs8_conv_goki_w
136
+ k-block: 16
137
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__asm_aarch64_neon_mlal_cortex_a53
138
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
139
+ pack: xnn_pack_qs8_conv_goki_w
140
+ k-block: 16
141
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__asm_aarch64_neon_mlal_cortex_a53_prfm
142
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
143
+ pack: xnn_pack_qs8_conv_goki_w
144
+ k-block: 16
145
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__asm_aarch64_neon_mlal_prfm
146
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
147
+ pack: xnn_pack_qs8_conv_goki_w
148
+ k-block: 16
149
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c16__asm_aarch64_neon_mlal
150
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
151
+ pack: xnn_pack_qs8_conv_goki_w
152
+ k-block: 16
153
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__asm_aarch64_neon_mlal_lane_ld64
154
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
155
+ pack: xnn_pack_qs8_conv_goki_w
156
+ k-block: 8
157
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__asm_aarch64_neon_mlal_lane_ld64_prfm
158
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
159
+ pack: xnn_pack_qs8_conv_goki_w
160
+ k-block: 8
161
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__asm_aarch64_neondot_cortex_a55
162
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
163
+ pack: xnn_pack_qs8_conv_goki_w
164
+ k-block: 16
165
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__asm_aarch64_neondot_ld64
166
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
167
+ pack: xnn_pack_qs8_conv_goki_w
168
+ k-block: 8
169
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__asm_aarch64_neondot_ld128
170
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
171
+ pack: xnn_pack_qs8_conv_goki_w
172
+ k-block: 16
173
+
174
+ # ARMv6 SIMD
175
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x1c4__armsimd32
176
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_armsimd32_params
177
+ pack: xnn_pack_qs8_conv_goki_w
178
+ k-block: 4
179
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x2c4__armsimd32
180
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_armsimd32_params
181
+ pack: xnn_pack_qs8_conv_goki_w
182
+ k-block: 4
183
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x1c4__armsimd32
184
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_armsimd32_params
185
+ pack: xnn_pack_qs8_conv_goki_w
186
+ k-block: 4
187
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x2c4__armsimd32
188
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_armsimd32_params
189
+ pack: xnn_pack_qs8_conv_goki_w
190
+ k-block: 4
191
+
192
+ # ARM NEONI8MM
193
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__neoni8mm
194
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
195
+ pack: xnn_pack_qs8_conv_goki_w
196
+ k-block: 16
197
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__neoni8mm
198
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
199
+ pack: xnn_pack_qs8_conv_goki_w
200
+ k-block: 16
201
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__neoni8mm
202
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
203
+ pack: xnn_pack_qs8_conv_goki_w
204
+ k-block: 16
205
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x16c8__neoni8mm
206
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
207
+ pack: xnn_pack_qs8_conv_goki_w
208
+ k-block: 16
209
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__neoni8mm
210
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
211
+ pack: xnn_pack_qs8_conv_goki_w
212
+ k-block: 16
213
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16c8__neoni8mm
214
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
215
+ pack: xnn_pack_qs8_conv_goki_w
216
+ k-block: 16
217
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__neoni8mm
218
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
219
+ pack: xnn_pack_qs8_conv_goki_w
220
+ k-block: 16
221
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c8__neoni8mm
222
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
223
+ pack: xnn_pack_qs8_conv_goki_w
224
+ k-block: 16
225
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8c8__neoni8mm
226
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
227
+ pack: xnn_pack_qs8_conv_goki_w
228
+ k-block: 16
229
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16c8__neoni8mm
230
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
231
+ pack: xnn_pack_qs8_conv_goki_w
232
+ k-block: 16
233
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c8__neoni8mm
234
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
235
+ pack: xnn_pack_qs8_conv_goki_w
236
+ k-block: 16
237
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c8__neoni8mm
238
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
239
+ pack: xnn_pack_qs8_conv_goki_w
240
+ k-block: 16
241
+
242
+ # ARM NEON
243
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__neon_mlal_lane
244
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
245
+ pack: xnn_pack_qs8_conv_goki_w
246
+ k-block: 8
247
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__neon_mlal_lane_prfm
248
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
249
+ pack: xnn_pack_qs8_conv_goki_w
250
+ k-block: 8
251
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__neonv8_mlal_lane
252
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
253
+ pack: xnn_pack_qs8_conv_goki_w
254
+ k-block: 8
255
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8__neonv8_mlal_lane_prfm
256
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
257
+ pack: xnn_pack_qs8_conv_goki_w
258
+ k-block: 8
259
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_dup
260
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
261
+ pack: xnn_pack_qs8_conv_goki_w
262
+ k-block: 16
263
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld1r
264
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
265
+ pack: xnn_pack_qs8_conv_goki_w
266
+ k-block: 16
267
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld2r
268
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
269
+ pack: xnn_pack_qs8_conv_goki_w
270
+ k-block: 16
271
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neon_mlal_ld4r
272
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
273
+ pack: xnn_pack_qs8_conv_goki_w
274
+ k-block: 16
275
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_dup
276
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
277
+ pack: xnn_pack_qs8_conv_goki_w
278
+ k-block: 16
279
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld1r
280
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
281
+ pack: xnn_pack_qs8_conv_goki_w
282
+ k-block: 16
283
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld2r
284
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
285
+ pack: xnn_pack_qs8_conv_goki_w
286
+ k-block: 16
287
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2__neonv8_mlal_ld4r
288
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
289
+ pack: xnn_pack_qs8_conv_goki_w
290
+ k-block: 16
291
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2s4__neon_mlal
292
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
293
+ pack: xnn_pack_qs8_conv_goki_w
294
+ k-block: 16
295
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c2s4__neonv8_mlal
296
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
297
+ pack: xnn_pack_qs8_conv_goki_w
298
+ k-block: 16
299
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_dup
300
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
301
+ pack: xnn_pack_qs8_conv_goki_w
302
+ k-block: 16
303
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_ld1r
304
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
305
+ pack: xnn_pack_qs8_conv_goki_w
306
+ k-block: 16
307
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neon_mlal_ld2r
308
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
309
+ pack: xnn_pack_qs8_conv_goki_w
310
+ k-block: 16
311
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neondot
312
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
313
+ pack: xnn_pack_qs8_conv_goki_w
314
+ k-block: 8
315
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_dup
316
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
317
+ pack: xnn_pack_qs8_conv_goki_w
318
+ k-block: 16
319
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_ld1r
320
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
321
+ pack: xnn_pack_qs8_conv_goki_w
322
+ k-block: 16
323
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4__neonv8_mlal_ld2r
324
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
325
+ pack: xnn_pack_qs8_conv_goki_w
326
+ k-block: 16
327
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4s2__neon_mlal
328
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
329
+ pack: xnn_pack_qs8_conv_goki_w
330
+ k-block: 16
331
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c4s2__neonv8_mlal
332
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
333
+ pack: xnn_pack_qs8_conv_goki_w
334
+ k-block: 16
335
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__aarch64_neondot_ld128
336
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
337
+ pack: xnn_pack_qs8_conv_goki_w
338
+ k-block: 8
339
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__neon_mlal
340
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
341
+ pack: xnn_pack_qs8_conv_goki_w
342
+ k-block: 16
343
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__neondot_ld64
344
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
345
+ pack: xnn_pack_qs8_conv_goki_w
346
+ k-block: 8
347
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__neonv8_mlal
348
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
349
+ pack: xnn_pack_qs8_conv_goki_w
350
+ k-block: 16
351
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16__neon_mlal_lane
352
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
353
+ pack: xnn_pack_qs8_conv_goki_w
354
+ k-block: 8
355
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16__neon_mlal_lane_prfm
356
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
357
+ pack: xnn_pack_qs8_conv_goki_w
358
+ k-block: 8
359
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16__neonv8_mlal_lane
360
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
361
+ pack: xnn_pack_qs8_conv_goki_w
362
+ k-block: 8
363
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16__neonv8_mlal_lane_prfm
364
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
365
+ pack: xnn_pack_qs8_conv_goki_w
366
+ k-block: 8
367
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__neondot
368
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
369
+ pack: xnn_pack_qs8_conv_goki_w
370
+ k-block: 8
371
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__aarch64_neondot_ld128
372
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
373
+ pack: xnn_pack_qs8_conv_goki_w
374
+ k-block: 8
375
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__neondot_ld64
376
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
377
+ pack: xnn_pack_qs8_conv_goki_w
378
+ k-block: 8
379
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8__neon_mlal_lane
380
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
381
+ pack: xnn_pack_qs8_conv_goki_w
382
+ k-block: 8
383
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8__neon_mlal_lane_prfm
384
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
385
+ pack: xnn_pack_qs8_conv_goki_w
386
+ k-block: 8
387
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8__neonv8_mlal_lane
388
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
389
+ pack: xnn_pack_qs8_conv_goki_w
390
+ k-block: 8
391
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8__neonv8_mlal_lane_prfm
392
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
393
+ pack: xnn_pack_qs8_conv_goki_w
394
+ k-block: 8
395
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_dup
396
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
397
+ pack: xnn_pack_qs8_conv_goki_w
398
+ k-block: 16
399
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld1r
400
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
401
+ pack: xnn_pack_qs8_conv_goki_w
402
+ k-block: 16
403
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld2r
404
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
405
+ pack: xnn_pack_qs8_conv_goki_w
406
+ k-block: 16
407
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neon_mlal_ld4r
408
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
409
+ pack: xnn_pack_qs8_conv_goki_w
410
+ k-block: 16
411
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_dup
412
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
413
+ pack: xnn_pack_qs8_conv_goki_w
414
+ k-block: 16
415
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld1r
416
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
417
+ pack: xnn_pack_qs8_conv_goki_w
418
+ k-block: 16
419
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld2r
420
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
421
+ pack: xnn_pack_qs8_conv_goki_w
422
+ k-block: 16
423
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2__neonv8_mlal_ld4r
424
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
425
+ pack: xnn_pack_qs8_conv_goki_w
426
+ k-block: 16
427
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2s4__neon_mlal
428
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
429
+ pack: xnn_pack_qs8_conv_goki_w
430
+ k-block: 16
431
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c2s4__neonv8_mlal
432
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
433
+ pack: xnn_pack_qs8_conv_goki_w
434
+ k-block: 16
435
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_dup
436
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
437
+ pack: xnn_pack_qs8_conv_goki_w
438
+ k-block: 16
439
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_ld1r
440
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
441
+ pack: xnn_pack_qs8_conv_goki_w
442
+ k-block: 16
443
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neon_mlal_ld2r
444
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
445
+ pack: xnn_pack_qs8_conv_goki_w
446
+ k-block: 16
447
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_dup
448
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
449
+ pack: xnn_pack_qs8_conv_goki_w
450
+ k-block: 16
451
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_ld1r
452
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
453
+ pack: xnn_pack_qs8_conv_goki_w
454
+ k-block: 16
455
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4__neonv8_mlal_ld2r
456
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
457
+ pack: xnn_pack_qs8_conv_goki_w
458
+ k-block: 16
459
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4s2__neon_mlal
460
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
461
+ pack: xnn_pack_qs8_conv_goki_w
462
+ k-block: 16
463
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c4s2__neonv8_mlal
464
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
465
+ pack: xnn_pack_qs8_conv_goki_w
466
+ k-block: 16
467
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__neon_mlal
468
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
469
+ pack: xnn_pack_qs8_conv_goki_w
470
+ k-block: 16
471
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__neonv8_mlal
472
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
473
+ pack: xnn_pack_qs8_conv_goki_w
474
+ k-block: 16
475
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x16__neon_mlal_lane
476
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
477
+ pack: xnn_pack_qs8_conv_goki_w
478
+ k-block: 8
479
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x16__neon_mlal_lane_prfm
480
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
481
+ pack: xnn_pack_qs8_conv_goki_w
482
+ k-block: 8
483
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x16__neonv8_mlal_lane
484
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
485
+ pack: xnn_pack_qs8_conv_goki_w
486
+ k-block: 8
487
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x16__neonv8_mlal_lane_prfm
488
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
489
+ pack: xnn_pack_qs8_conv_goki_w
490
+ k-block: 8
491
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8__neon_mlal_lane
492
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
493
+ pack: xnn_pack_qs8_conv_goki_w
494
+ k-block: 8
495
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8__neon_mlal_lane_prfm
496
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
497
+ pack: xnn_pack_qs8_conv_goki_w
498
+ k-block: 8
499
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8__neonv8_mlal_lane
500
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
501
+ pack: xnn_pack_qs8_conv_goki_w
502
+ k-block: 8
503
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8__neonv8_mlal_lane_prfm
504
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
505
+ pack: xnn_pack_qs8_conv_goki_w
506
+ k-block: 8
507
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16__neon_mlal_lane
508
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
509
+ pack: xnn_pack_qs8_conv_goki_w
510
+ k-block: 8
511
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16__neon_mlal_lane_prfm
512
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
513
+ pack: xnn_pack_qs8_conv_goki_w
514
+ k-block: 8
515
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16__neonv8_mlal_lane
516
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
517
+ pack: xnn_pack_qs8_conv_goki_w
518
+ k-block: 8
519
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16__neonv8_mlal_lane_prfm
520
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
521
+ pack: xnn_pack_qs8_conv_goki_w
522
+ k-block: 8
523
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__neon_mlal_lane
524
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
525
+ pack: xnn_pack_qs8_conv_goki_w
526
+ k-block: 8
527
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__neon_mlal_lane_prfm
528
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
529
+ pack: xnn_pack_qs8_conv_goki_w
530
+ k-block: 8
531
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__neonv8_mlal_lane
532
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
533
+ pack: xnn_pack_qs8_conv_goki_w
534
+ k-block: 8
535
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8__neonv8_mlal_lane_prfm
536
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
537
+ pack: xnn_pack_qs8_conv_goki_w
538
+ k-block: 8
539
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c4__neondot
540
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
541
+ pack: xnn_pack_qs8_conv_goki_w
542
+ k-block: 8
543
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__neon_mlal_lane
544
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
545
+ pack: xnn_pack_qs8_conv_goki_w
546
+ k-block: 8
547
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__neon_mlal_lane_prfm
548
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
549
+ pack: xnn_pack_qs8_conv_goki_w
550
+ k-block: 8
551
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__neonv8_mlal_lane
552
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
553
+ pack: xnn_pack_qs8_conv_goki_w
554
+ k-block: 8
555
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16__neonv8_mlal_lane_prfm
556
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
557
+ pack: xnn_pack_qs8_conv_goki_w
558
+ k-block: 8
559
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__neondot
560
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
561
+ pack: xnn_pack_qs8_conv_goki_w
562
+ k-block: 8
563
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8__neon_mlal_lane
564
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
565
+ pack: xnn_pack_qs8_conv_goki_w
566
+ k-block: 8
567
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8__neon_mlal_lane_prfm
568
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
569
+ pack: xnn_pack_qs8_conv_goki_w
570
+ k-block: 8
571
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8__neonv8_mlal_lane
572
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
573
+ pack: xnn_pack_qs8_conv_goki_w
574
+ k-block: 8
575
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8__neonv8_mlal_lane_prfm
576
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
577
+ pack: xnn_pack_qs8_conv_goki_w
578
+ k-block: 8
579
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8c4__neondot
580
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
581
+ pack: xnn_pack_qs8_conv_goki_w
582
+ k-block: 8
583
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16__neon_mlal_lane
584
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
585
+ pack: xnn_pack_qs8_conv_goki_w
586
+ k-block: 8
587
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16__neon_mlal_lane_prfm
588
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neon_params
589
+ pack: xnn_pack_qs8_conv_goki_w
590
+ k-block: 8
591
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16__neonv8_mlal_lane
592
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
593
+ pack: xnn_pack_qs8_conv_goki_w
594
+ k-block: 8
595
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16__neonv8_mlal_lane_prfm
596
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
597
+ pack: xnn_pack_qs8_conv_goki_w
598
+ k-block: 8
599
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x16c4__neondot
600
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
601
+ pack: xnn_pack_qs8_conv_goki_w
602
+ k-block: 8
603
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c4__neondot
604
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
605
+ pack: xnn_pack_qs8_conv_goki_w
606
+ k-block: 8
607
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c4__neondot
608
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_neonv8_params
609
+ pack: xnn_pack_qs8_conv_goki_w
610
+ k-block: 8
611
+
612
+ # ARM SME2
613
+ - name: xnn_pqs8_qc8w_igemm_minmax_fp32_ukernel_32x32c4__neonsme2
614
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
615
+ pack-lh-fn: xnn_x8_pack_lh_ukernel__igemm_neonsme
616
+ pack-lh-size-fn: xnn_x8_pack_lh_size__igemm_neonsme
617
+ pack: xnn_pack_kai_qs8_conv_goki_w_sme
618
+ k-block: 4
619
+ cpp-check: XNN_ENABLE_KLEIDIAI
620
+
621
+ # ARM SME
622
+ - name: xnn_pqs8_qc8w_igemm_minmax_fp32_ukernel_32x32c4__neonsme
623
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
624
+ pack-lh-fn: xnn_x8_pack_lh_ukernel__igemm_neonsme
625
+ pack-lh-size-fn: xnn_x8_pack_lh_size__igemm_neonsme
626
+ pack: xnn_pack_kai_qs8_conv_goki_w_sme
627
+ k-block: 4
628
+ cpp-check: XNN_ENABLE_KLEIDIAI
629
+
630
+ # x86 SSE
631
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld64
632
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
633
+ pack: xnn_pack_qs8_conv_goki_w
634
+ k-block: 8
635
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld64
636
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
637
+ pack: xnn_pack_qs8_conv_goki_w
638
+ k-block: 8
639
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld64
640
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
641
+ pack: xnn_pack_qs8_conv_goki_w
642
+ k-block: 8
643
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld64
644
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
645
+ pack: xnn_pack_qs8_conv_goki_w
646
+ k-block: 8
647
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld64
648
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
649
+ pack: xnn_pack_qs8_conv_goki_w
650
+ k-block: 8
651
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld64
652
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
653
+ pack: xnn_pack_qs8_conv_goki_w
654
+ k-block: 8
655
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld64
656
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
657
+ pack: xnn_pack_qs8_conv_goki_w
658
+ k-block: 8
659
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld64
660
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
661
+ pack: xnn_pack_qs8_conv_goki_w
662
+ k-block: 8
663
+
664
+ # x86 AVX
665
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__avx_ld64
666
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
667
+ pack: xnn_pack_qs8_conv_goki_w
668
+ k-block: 8
669
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__avx_ld64
670
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
671
+ pack: xnn_pack_qs8_conv_goki_w
672
+ k-block: 8
673
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__avx_ld64
674
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
675
+ pack: xnn_pack_qs8_conv_goki_w
676
+ k-block: 8
677
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__avx_ld64
678
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
679
+ pack: xnn_pack_qs8_conv_goki_w
680
+ k-block: 8
681
+
682
+ # x86 SSE
683
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__sse2_ld128
684
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
685
+ pack: xnn_pack_qs8_conv_goki_w
686
+ k-block: 8
687
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__sse41_ld128
688
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
689
+ pack: xnn_pack_qs8_conv_goki_w
690
+ k-block: 8
691
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__sse2_ld128
692
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
693
+ pack: xnn_pack_qs8_conv_goki_w
694
+ k-block: 8
695
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__sse41_ld128
696
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
697
+ pack: xnn_pack_qs8_conv_goki_w
698
+ k-block: 8
699
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__sse2_ld128
700
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
701
+ pack: xnn_pack_qs8_conv_goki_w
702
+ k-block: 8
703
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__sse41_ld128
704
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
705
+ pack: xnn_pack_qs8_conv_goki_w
706
+ k-block: 8
707
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__sse2_ld128
708
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
709
+ pack: xnn_pack_qs8_conv_goki_w
710
+ k-block: 8
711
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__sse41_ld128
712
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
713
+ pack: xnn_pack_qs8_conv_goki_w
714
+ k-block: 8
715
+
716
+ # x86 AVX
717
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__avx_ld128
718
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
719
+ pack: xnn_pack_qs8_conv_goki_w
720
+ k-block: 8
721
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__avx_ld128
722
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
723
+ pack: xnn_pack_qs8_conv_goki_w
724
+ k-block: 8
725
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__avx_ld128
726
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
727
+ pack: xnn_pack_qs8_conv_goki_w
728
+ k-block: 8
729
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__avx_ld128
730
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
731
+ pack: xnn_pack_qs8_conv_goki_w
732
+ k-block: 8
733
+
734
+ # x86 SSE
735
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld64
736
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
737
+ pack: xnn_pack_qs8_conv_goki_w
738
+ k-block: 8
739
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld64
740
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
741
+ pack: xnn_pack_qs8_conv_goki_w
742
+ k-block: 8
743
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld64
744
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
745
+ pack: xnn_pack_qs8_conv_goki_w
746
+ k-block: 8
747
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld64
748
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
749
+ pack: xnn_pack_qs8_conv_goki_w
750
+ k-block: 8
751
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld64
752
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
753
+ pack: xnn_pack_qs8_conv_goki_w
754
+ k-block: 8
755
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld64
756
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
757
+ pack: xnn_pack_qs8_conv_goki_w
758
+ k-block: 8
759
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld64
760
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
761
+ pack: xnn_pack_qs8_conv_goki_w
762
+ k-block: 8
763
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld64
764
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
765
+ pack: xnn_pack_qs8_conv_goki_w
766
+ k-block: 8
767
+
768
+ # x86 AVX
769
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld64
770
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
771
+ pack: xnn_pack_qs8_conv_goki_w
772
+ k-block: 8
773
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld64
774
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
775
+ pack: xnn_pack_qs8_conv_goki_w
776
+ k-block: 8
777
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld64
778
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
779
+ pack: xnn_pack_qs8_conv_goki_w
780
+ k-block: 8
781
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld64
782
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
783
+ pack: xnn_pack_qs8_conv_goki_w
784
+ k-block: 8
785
+
786
+ # x86 SSE
787
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__sse2_ld128
788
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
789
+ pack: xnn_pack_qs8_conv_goki_w
790
+ k-block: 8
791
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__sse41_ld128
792
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
793
+ pack: xnn_pack_qs8_conv_goki_w
794
+ k-block: 8
795
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__sse2_ld128
796
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
797
+ pack: xnn_pack_qs8_conv_goki_w
798
+ k-block: 8
799
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__sse41_ld128
800
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
801
+ pack: xnn_pack_qs8_conv_goki_w
802
+ k-block: 8
803
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__sse2_ld128
804
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
805
+ pack: xnn_pack_qs8_conv_goki_w
806
+ k-block: 8
807
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__sse41_ld128
808
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
809
+ pack: xnn_pack_qs8_conv_goki_w
810
+ k-block: 8
811
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__sse2_ld128
812
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
813
+ pack: xnn_pack_qs8_conv_goki_w
814
+ k-block: 8
815
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__sse41_ld128
816
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
817
+ pack: xnn_pack_qs8_conv_goki_w
818
+ k-block: 8
819
+
820
+ # x86 AVX
821
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__avx_ld128
822
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
823
+ pack: xnn_pack_qs8_conv_goki_w
824
+ k-block: 8
825
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__avx_ld128
826
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
827
+ pack: xnn_pack_qs8_conv_goki_w
828
+ k-block: 8
829
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__avx_ld128
830
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
831
+ pack: xnn_pack_qs8_conv_goki_w
832
+ k-block: 8
833
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__avx_ld128
834
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
835
+ pack: xnn_pack_qs8_conv_goki_w
836
+ k-block: 8
837
+
838
+ # x86 SSE
839
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld64
840
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
841
+ pack: xnn_pack_qs8_conv_goki_w
842
+ k-block: 8
843
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld64
844
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
845
+ pack: xnn_pack_qs8_conv_goki_w
846
+ k-block: 8
847
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld64
848
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
849
+ pack: xnn_pack_qs8_conv_goki_w
850
+ k-block: 8
851
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld64
852
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
853
+ pack: xnn_pack_qs8_conv_goki_w
854
+ k-block: 8
855
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld64
856
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
857
+ pack: xnn_pack_qs8_conv_goki_w
858
+ k-block: 8
859
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld64
860
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
861
+ pack: xnn_pack_qs8_conv_goki_w
862
+ k-block: 8
863
+
864
+ # x86 AVX
865
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__avx_ld64
866
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
867
+ pack: xnn_pack_qs8_conv_goki_w
868
+ k-block: 8
869
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__avx_ld64
870
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
871
+ pack: xnn_pack_qs8_conv_goki_w
872
+ k-block: 8
873
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__avx_ld64
874
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
875
+ pack: xnn_pack_qs8_conv_goki_w
876
+ k-block: 8
877
+ # x86 SSE
878
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse2_ld128
879
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
880
+ pack: xnn_pack_qs8_conv_goki_w
881
+ k-block: 8
882
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__sse41_ld128
883
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
884
+ pack: xnn_pack_qs8_conv_goki_w
885
+ k-block: 8
886
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__sse2_ld128
887
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
888
+ pack: xnn_pack_qs8_conv_goki_w
889
+ k-block: 8
890
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__sse41_ld128
891
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
892
+ pack: xnn_pack_qs8_conv_goki_w
893
+ k-block: 8
894
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse2_ld128
895
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
896
+ pack: xnn_pack_qs8_conv_goki_w
897
+ k-block: 8
898
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__sse41_ld128
899
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
900
+ pack: xnn_pack_qs8_conv_goki_w
901
+ k-block: 8
902
+
903
+ # x86 AVX
904
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__avx_ld128
905
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
906
+ pack: xnn_pack_qs8_conv_goki_w
907
+ k-block: 8
908
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__avx_ld128
909
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
910
+ pack: xnn_pack_qs8_conv_goki_w
911
+ k-block: 8
912
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__avx_ld128
913
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
914
+ pack: xnn_pack_qs8_conv_goki_w
915
+ k-block: 8
916
+
917
+ # x86 AVX2
918
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx2
919
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
920
+ pack: xnn_pack_qs8_conv_goki_w
921
+ k-block: 8
922
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__avx2
923
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
924
+ pack: xnn_pack_qs8_conv_goki_w
925
+ k-block: 8
926
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__avx2
927
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
928
+ pack: xnn_pack_qs8_conv_goki_w
929
+ k-block: 8
930
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__avx2
931
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
932
+ pack: xnn_pack_qs8_conv_goki_w
933
+ k-block: 8
934
+
935
+ # x86 AVX256SKX
936
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx256skx
937
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
938
+ pack: xnn_pack_qs8_conv_goki_w
939
+ k-block: 8
940
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__avx256skx
941
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
942
+ pack: xnn_pack_qs8_conv_goki_w
943
+ k-block: 8
944
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__avx256skx
945
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
946
+ pack: xnn_pack_qs8_conv_goki_w
947
+ k-block: 8
948
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__avx256skx
949
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
950
+ pack: xnn_pack_qs8_conv_goki_w
951
+ k-block: 8
952
+
953
+ # x86 AVX512
954
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512skx
955
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
956
+ pack: xnn_pack_qs8_conv_goki_w
957
+ k-block: 8
958
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c8__avx512skx
959
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
960
+ pack: xnn_pack_qs8_conv_goki_w
961
+ k-block: 8
962
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512skx
963
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
964
+ pack: xnn_pack_qs8_conv_goki_w
965
+ k-block: 8
966
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c8__avx512skx
967
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
968
+ pack: xnn_pack_qs8_conv_goki_w
969
+ k-block: 8
970
+
971
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512skx_prfm
972
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
973
+ pack: xnn_pack_qs8_conv_goki_w
974
+ k-block: 8
975
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c8__avx512skx_prfm
976
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
977
+ pack: xnn_pack_qs8_conv_goki_w
978
+ k-block: 8
979
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512skx_prfm
980
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
981
+ pack: xnn_pack_qs8_conv_goki_w
982
+ k-block: 8
983
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c8__avx512skx_prfm
984
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
985
+ pack: xnn_pack_qs8_conv_goki_w
986
+ k-block: 8
987
+
988
+ # x86 AVX512 VNNI
989
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__avx512vnni
990
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
991
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
992
+ k-block: 8
993
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__avx512vnni
994
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
995
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
996
+ k-block: 8
997
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c4__avx512vnni
998
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
999
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1000
+ k-block: 8
1001
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c4__avx512vnni
1002
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1003
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1004
+ k-block: 8
1005
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c4__avx512vnni
1006
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1007
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1008
+ k-block: 8
1009
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x16c4__avx512vnni
1010
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1011
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1012
+ k-block: 8
1013
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x16c4__avx512vnni
1014
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1015
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1016
+ k-block: 8
1017
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x16c4__avx512vnni
1018
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1019
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1020
+ k-block: 8
1021
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x16c4__avx512vnni
1022
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1023
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1024
+ k-block: 8
1025
+
1026
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__avx512vnni_prfm
1027
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1028
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1029
+ k-block: 8
1030
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__avx512vnni_prfm
1031
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1032
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1033
+ k-block: 8
1034
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c4__avx512vnni_prfm
1035
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1036
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1037
+ k-block: 8
1038
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c4__avx512vnni_prfm
1039
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1040
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1041
+ k-block: 8
1042
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c4__avx512vnni_prfm
1043
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1044
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1045
+ k-block: 8
1046
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x16c4__avx512vnni_prfm
1047
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1048
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1049
+ k-block: 8
1050
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x16c4__avx512vnni_prfm
1051
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1052
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1053
+ k-block: 8
1054
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x16c4__avx512vnni_prfm
1055
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1056
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1057
+ k-block: 8
1058
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x16c4__avx512vnni_prfm
1059
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1060
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1061
+ k-block: 8
1062
+
1063
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512vnni
1064
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1065
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1066
+ k-block: 16
1067
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c8__avx512vnni
1068
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1069
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1070
+ k-block: 16
1071
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512vnni
1072
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1073
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1074
+ k-block: 16
1075
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c8__avx512vnni
1076
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1077
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1078
+ k-block: 16
1079
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x16c8__avx512vnni
1080
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1081
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1082
+ k-block: 16
1083
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x16c8__avx512vnni
1084
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1085
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1086
+ k-block: 16
1087
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x16c8__avx512vnni
1088
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1089
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1090
+ k-block: 16
1091
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x16c8__avx512vnni
1092
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1093
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1094
+ k-block: 16
1095
+
1096
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c8__avx512vnni_prfm
1097
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1098
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1099
+ k-block: 16
1100
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x16c8__avx512vnni_prfm
1101
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1102
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1103
+ k-block: 16
1104
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x16c8__avx512vnni_prfm
1105
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1106
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1107
+ k-block: 16
1108
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x16c8__avx512vnni_prfm
1109
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1110
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1111
+ k-block: 16
1112
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x16c8__avx512vnni_prfm
1113
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1114
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1115
+ k-block: 16
1116
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x16c8__avx512vnni_prfm
1117
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1118
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1119
+ k-block: 16
1120
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x16c8__avx512vnni_prfm
1121
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1122
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1123
+ k-block: 16
1124
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x16c8__avx512vnni_prfm
1125
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1126
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1127
+ k-block: 16
1128
+
1129
+ # x86 AVX256 VNNI
1130
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx256vnni
1131
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1132
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1133
+ k-block: 16
1134
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avx256vnni
1135
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1136
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1137
+ k-block: 16
1138
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x8c8__avx256vnni
1139
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1140
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1141
+ k-block: 16
1142
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c8__avx256vnni
1143
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1144
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1145
+ k-block: 16
1146
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x8c8__avx256vnni
1147
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1148
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1149
+ k-block: 16
1150
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x8c8__avx256vnni
1151
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1152
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1153
+ k-block: 16
1154
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x8c8__avx256vnni
1155
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1156
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1157
+ k-block: 16
1158
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x8c8__avx256vnni
1159
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1160
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1161
+ k-block: 16
1162
+
1163
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avx256vnni_prfm
1164
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1165
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1166
+ k-block: 16
1167
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avx256vnni_prfm
1168
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1169
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1170
+ k-block: 16
1171
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x8c8__avx256vnni_prfm
1172
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1173
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1174
+ k-block: 16
1175
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c8__avx256vnni_prfm
1176
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1177
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1178
+ k-block: 16
1179
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_9x8c8__avx256vnni_prfm
1180
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1181
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1182
+ k-block: 16
1183
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_10x8c8__avx256vnni_prfm
1184
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1185
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1186
+ k-block: 16
1187
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_12x8c8__avx256vnni_prfm
1188
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1189
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1190
+ k-block: 16
1191
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_14x8c8__avx256vnni_prfm
1192
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1193
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1194
+ k-block: 16
1195
+
1196
+ # x86 AVX VNNI
1197
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avxvnni
1198
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1199
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1200
+ k-block: 16
1201
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__avxvnni
1202
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1203
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1204
+ k-block: 16
1205
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__avxvnni
1206
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1207
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1208
+ k-block: 16
1209
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__avxvnni
1210
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1211
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1212
+ k-block: 16
1213
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avxvnni
1214
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1215
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1216
+ k-block: 16
1217
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8c8__avxvnni
1218
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1219
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1220
+ k-block: 16
1221
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x8c8__avxvnni
1222
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1223
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1224
+ k-block: 16
1225
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c8__avxvnni
1226
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1227
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1228
+ k-block: 16
1229
+
1230
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avxvnni_prfm
1231
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1232
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1233
+ k-block: 16
1234
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__avxvnni_prfm
1235
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1236
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1237
+ k-block: 16
1238
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__avxvnni_prfm
1239
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1240
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1241
+ k-block: 16
1242
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__avxvnni_prfm
1243
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1244
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1245
+ k-block: 16
1246
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avxvnni_prfm
1247
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1248
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1249
+ k-block: 16
1250
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x8c8__avxvnni_prfm
1251
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1252
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1253
+ k-block: 16
1254
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x8c8__avxvnni_prfm
1255
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1256
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1257
+ k-block: 16
1258
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x8c8__avxvnni_prfm
1259
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1260
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1261
+ k-block: 16
1262
+
1263
+ # x86 AVX VNNI INT8
1264
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__avxvnniint8_prfm
1265
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1266
+ pack: xnn_pack_qs8_conv_goki_w
1267
+ k-block: 16
1268
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x8c8__avxvnniint8_prfm
1269
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1270
+ pack: xnn_pack_qs8_conv_goki_w
1271
+ k-block: 16
1272
+
1273
+ # WAsm SIMD
1274
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld64
1275
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1276
+ pack: xnn_pack_qs8_conv_goki_w
1277
+ k-block: 8
1278
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2__wasmsimd_dot16x2_ld128
1279
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1280
+ pack: xnn_pack_qs8_conv_goki_w
1281
+ k-block: 8
1282
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld64
1283
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1284
+ pack: xnn_pack_qs8_conv_goki_w
1285
+ k-block: 8
1286
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c2s4__wasmsimd_dot16x2_ld128
1287
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1288
+ pack: xnn_pack_qs8_conv_goki_w
1289
+ k-block: 8
1290
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c2__wasmsimd_dot16x2
1291
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1292
+ pack: xnn_pack_qs8_conv_goki_w
1293
+ k-block: 8
1294
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c2s2__wasmsimd_dot16x2
1295
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1296
+ pack: xnn_pack_qs8_conv_goki_w
1297
+ k-block: 8
1298
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld64
1299
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1300
+ pack: xnn_pack_qs8_conv_goki_w
1301
+ k-block: 8
1302
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c8__wasmsimd_dot16x2_ld128
1303
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1304
+ pack: xnn_pack_qs8_conv_goki_w
1305
+ k-block: 8
1306
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld64
1307
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1308
+ pack: xnn_pack_qs8_conv_goki_w
1309
+ k-block: 8
1310
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2__wasmsimd_dot16x2_ld128
1311
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1312
+ pack: xnn_pack_qs8_conv_goki_w
1313
+ k-block: 8
1314
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld64
1315
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1316
+ pack: xnn_pack_qs8_conv_goki_w
1317
+ k-block: 8
1318
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c2s4__wasmsimd_dot16x2_ld128
1319
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1320
+ pack: xnn_pack_qs8_conv_goki_w
1321
+ k-block: 8
1322
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld64
1323
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1324
+ pack: xnn_pack_qs8_conv_goki_w
1325
+ k-block: 8
1326
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c8__wasmsimd_dot16x2_ld128
1327
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1328
+ pack: xnn_pack_qs8_conv_goki_w
1329
+ k-block: 8
1330
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld64
1331
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1332
+ pack: xnn_pack_qs8_conv_goki_w
1333
+ k-block: 8
1334
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2__wasmsimd_dot16x2_ld128
1335
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1336
+ pack: xnn_pack_qs8_conv_goki_w
1337
+ k-block: 8
1338
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld64
1339
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1340
+ pack: xnn_pack_qs8_conv_goki_w
1341
+ k-block: 8
1342
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c2s4__wasmsimd_dot16x2_ld128
1343
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1344
+ pack: xnn_pack_qs8_conv_goki_w
1345
+ k-block: 8
1346
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld64
1347
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1348
+ pack: xnn_pack_qs8_conv_goki_w
1349
+ k-block: 8
1350
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c8__wasmsimd_dot16x2_ld128
1351
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1352
+ pack: xnn_pack_qs8_conv_goki_w
1353
+ k-block: 8
1354
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld64
1355
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1356
+ pack: xnn_pack_qs8_conv_goki_w
1357
+ k-block: 8
1358
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2__wasmsimd_dot16x2_ld128
1359
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1360
+ pack: xnn_pack_qs8_conv_goki_w
1361
+ k-block: 8
1362
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld64
1363
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1364
+ pack: xnn_pack_qs8_conv_goki_w
1365
+ k-block: 8
1366
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c2s4__wasmsimd_dot16x2_ld128
1367
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1368
+ pack: xnn_pack_qs8_conv_goki_w
1369
+ k-block: 8
1370
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c2__wasmsimd_dot16x2
1371
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1372
+ pack: xnn_pack_qs8_conv_goki_w
1373
+ k-block: 8
1374
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c2s2__wasmsimd_dot16x2
1375
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1376
+ pack: xnn_pack_qs8_conv_goki_w
1377
+ k-block: 8
1378
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld64
1379
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1380
+ pack: xnn_pack_qs8_conv_goki_w
1381
+ k-block: 8
1382
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c8__wasmsimd_dot16x2_ld128
1383
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1384
+ pack: xnn_pack_qs8_conv_goki_w
1385
+ k-block: 8
1386
+
1387
+ # WAsm Relaxed SIMD
1388
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c16__wasmsdot
1389
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1390
+ pack: xnn_pack_qs8_conv_goki_w
1391
+ k-block: 16
1392
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4c16__wasmusdot
1393
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1394
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1395
+ k-block: 16
1396
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c16__wasmsdot
1397
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1398
+ pack: xnn_pack_qs8_conv_goki_w
1399
+ k-block: 16
1400
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c16__wasmusdot
1401
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1402
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1403
+ k-block: 16
1404
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c16__wasmsdot
1405
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1406
+ pack: xnn_pack_qs8_conv_goki_w
1407
+ k-block: 16
1408
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4c16__wasmusdot
1409
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1410
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1411
+ k-block: 16
1412
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c16__wasmsdot
1413
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1414
+ pack: xnn_pack_qs8_conv_goki_w
1415
+ k-block: 16
1416
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c16__wasmusdot
1417
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1418
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1419
+ k-block: 16
1420
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c16__wasmsdot
1421
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1422
+ pack: xnn_pack_qs8_conv_goki_w
1423
+ k-block: 16
1424
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4c16__wasmusdot
1425
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1426
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1427
+ k-block: 16
1428
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c16__wasmsdot
1429
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1430
+ pack: xnn_pack_qs8_conv_goki_w
1431
+ k-block: 16
1432
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c16__wasmusdot
1433
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1434
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1435
+ k-block: 16
1436
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c16__wasmsdot
1437
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1438
+ pack: xnn_pack_qs8_conv_goki_w
1439
+ k-block: 16
1440
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4c16__wasmusdot
1441
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1442
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1443
+ k-block: 16
1444
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c16__wasmsdot
1445
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1446
+ pack: xnn_pack_qs8_conv_goki_w
1447
+ k-block: 16
1448
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c16__wasmusdot
1449
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1450
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1451
+ k-block: 16
1452
+
1453
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__wasmusdot
1454
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1455
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1456
+ k-block: 8
1457
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__wasmusdot_u2
1458
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1459
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1460
+ k-block: 8
1461
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__wasmusdot
1462
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1463
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1464
+ k-block: 8
1465
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__wasmusdot_u2
1466
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1467
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1468
+ k-block: 8
1469
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__wasmusdot
1470
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1471
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1472
+ k-block: 8
1473
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__wasmusdot_u2
1474
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1475
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1476
+ k-block: 8
1477
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__wasmusdot
1478
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1479
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1480
+ k-block: 8
1481
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__wasmusdot_u2
1482
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1483
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1484
+ k-block: 8
1485
+
1486
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__wasmsdot
1487
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1488
+ pack: xnn_pack_qs8_conv_goki_w
1489
+ k-block: 8
1490
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x8c8__wasmsdot_u2
1491
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1492
+ pack: xnn_pack_qs8_conv_goki_w
1493
+ k-block: 8
1494
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__wasmsdot
1495
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1496
+ pack: xnn_pack_qs8_conv_goki_w
1497
+ k-block: 8
1498
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x8c8__wasmsdot_u2
1499
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1500
+ pack: xnn_pack_qs8_conv_goki_w
1501
+ k-block: 8
1502
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__wasmsdot
1503
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1504
+ pack: xnn_pack_qs8_conv_goki_w
1505
+ k-block: 8
1506
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x8c8__wasmsdot_u2
1507
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1508
+ pack: xnn_pack_qs8_conv_goki_w
1509
+ k-block: 8
1510
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__wasmsdot
1511
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1512
+ pack: xnn_pack_qs8_conv_goki_w
1513
+ k-block: 8
1514
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x8c8__wasmsdot_u2
1515
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1516
+ pack: xnn_pack_qs8_conv_goki_w
1517
+ k-block: 8
1518
+
1519
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__wasmusdot_u2
1520
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1521
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1522
+ k-block: 8
1523
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__wasmusdot_u2
1524
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1525
+ pack: xnn_pack_qs8_to_qu8_conv_goki_w
1526
+ k-block: 8
1527
+
1528
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__wasmsdot
1529
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1530
+ pack: xnn_pack_qs8_conv_goki_w
1531
+ k-block: 8
1532
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__wasmsdot_u2
1533
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1534
+ pack: xnn_pack_qs8_conv_goki_w
1535
+ k-block: 8
1536
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x16c4__wasmsdot_u2_acc2
1537
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1538
+ pack: xnn_pack_qs8_conv_goki_w
1539
+ k-block: 8
1540
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16c4__wasmsdot
1541
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1542
+ pack: xnn_pack_qs8_conv_goki_w
1543
+ k-block: 8
1544
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16c4__wasmsdot_u2
1545
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1546
+ pack: xnn_pack_qs8_conv_goki_w
1547
+ k-block: 8
1548
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x16c4__wasmsdot_u2_acc2
1549
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1550
+ pack: xnn_pack_qs8_conv_goki_w
1551
+ k-block: 8
1552
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__wasmsdot
1553
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1554
+ pack: xnn_pack_qs8_conv_goki_w
1555
+ k-block: 8
1556
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__wasmsdot_u2
1557
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1558
+ pack: xnn_pack_qs8_conv_goki_w
1559
+ k-block: 8
1560
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x16c4__wasmsdot_u2_acc2
1561
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1562
+ pack: xnn_pack_qs8_conv_goki_w
1563
+ k-block: 8
1564
+
1565
+ # Scalar
1566
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x2__scalar_fmagic
1567
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1568
+ pack: xnn_pack_qs8_conv_goki_w
1569
+ k-block: 1
1570
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x2__scalar_imagic
1571
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1572
+ pack: xnn_pack_qs8_conv_goki_w
1573
+ k-block: 1
1574
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x2__scalar_lrintf
1575
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1576
+ pack: xnn_pack_qs8_conv_goki_w
1577
+ k-block: 1
1578
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4__scalar_fmagic
1579
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1580
+ pack: xnn_pack_qs8_conv_goki_w
1581
+ k-block: 1
1582
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4__scalar_imagic
1583
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1584
+ pack: xnn_pack_qs8_conv_goki_w
1585
+ k-block: 1
1586
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4__scalar_lrintf
1587
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1588
+ pack: xnn_pack_qs8_conv_goki_w
1589
+ k-block: 1
1590
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x2__scalar_fmagic
1591
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1592
+ pack: xnn_pack_qs8_conv_goki_w
1593
+ k-block: 1
1594
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x2__scalar_imagic
1595
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1596
+ pack: xnn_pack_qs8_conv_goki_w
1597
+ k-block: 1
1598
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x2__scalar_lrintf
1599
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1600
+ pack: xnn_pack_qs8_conv_goki_w
1601
+ k-block: 1
1602
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4__scalar_fmagic
1603
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1604
+ pack: xnn_pack_qs8_conv_goki_w
1605
+ k-block: 1
1606
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4__scalar_imagic
1607
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1608
+ pack: xnn_pack_qs8_conv_goki_w
1609
+ k-block: 1
1610
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x4__scalar_lrintf
1611
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1612
+ pack: xnn_pack_qs8_conv_goki_w
1613
+ k-block: 1
1614
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x2__scalar_fmagic
1615
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1616
+ pack: xnn_pack_qs8_conv_goki_w
1617
+ k-block: 1
1618
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x2__scalar_imagic
1619
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1620
+ pack: xnn_pack_qs8_conv_goki_w
1621
+ k-block: 1
1622
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x2__scalar_lrintf
1623
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1624
+ pack: xnn_pack_qs8_conv_goki_w
1625
+ k-block: 1
1626
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4__scalar_fmagic
1627
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1628
+ pack: xnn_pack_qs8_conv_goki_w
1629
+ k-block: 1
1630
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4__scalar_imagic
1631
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1632
+ pack: xnn_pack_qs8_conv_goki_w
1633
+ k-block: 1
1634
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x4__scalar_lrintf
1635
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1636
+ pack: xnn_pack_qs8_conv_goki_w
1637
+ k-block: 1
1638
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x2__scalar_fmagic
1639
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1640
+ pack: xnn_pack_qs8_conv_goki_w
1641
+ k-block: 1
1642
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x2__scalar_imagic
1643
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1644
+ pack: xnn_pack_qs8_conv_goki_w
1645
+ k-block: 1
1646
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x2__scalar_lrintf
1647
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1648
+ pack: xnn_pack_qs8_conv_goki_w
1649
+ k-block: 1
1650
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4__scalar_fmagic
1651
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1652
+ pack: xnn_pack_qs8_conv_goki_w
1653
+ k-block: 1
1654
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4__scalar_imagic
1655
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1656
+ pack: xnn_pack_qs8_conv_goki_w
1657
+ k-block: 1
1658
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4__scalar_lrintf
1659
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1660
+ pack: xnn_pack_qs8_conv_goki_w
1661
+ k-block: 1
1662
+
1663
+ # Hexagon HVX
1664
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x32c4__hvx
1665
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1666
+ pack: xnn_pack_qs8_conv_goki_w
1667
+ k-block: 4
1668
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x32c4__hvx
1669
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1670
+ pack: xnn_pack_qs8_conv_goki_w
1671
+ k-block: 4
1672
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x32c4__hvx
1673
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1674
+ pack: xnn_pack_qs8_conv_goki_w
1675
+ k-block: 4
1676
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x32c4__hvx
1677
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1678
+ pack: xnn_pack_qs8_conv_goki_w
1679
+ k-block: 4
1680
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x32c4__hvx
1681
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1682
+ pack: xnn_pack_qs8_conv_goki_w
1683
+ k-block: 4
1684
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x32c4__hvx
1685
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1686
+ pack: xnn_pack_qs8_conv_goki_w
1687
+ k-block: 4
1688
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x32c4__hvx
1689
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1690
+ pack: xnn_pack_qs8_conv_goki_w
1691
+ k-block: 4
1692
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x32c4__hvx
1693
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1694
+ pack: xnn_pack_qs8_conv_goki_w
1695
+ k-block: 4
1696
+
1697
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x64c4__hvx
1698
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1699
+ pack: xnn_pack_qs8_conv_goki_w
1700
+ k-block: 4
1701
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x64c4__hvx
1702
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1703
+ pack: xnn_pack_qs8_conv_goki_w
1704
+ k-block: 4
1705
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x64c4__hvx
1706
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1707
+ pack: xnn_pack_qs8_conv_goki_w
1708
+ k-block: 4
1709
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x64c4__hvx
1710
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1711
+ pack: xnn_pack_qs8_conv_goki_w
1712
+ k-block: 4
1713
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x64c4__hvx
1714
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1715
+ pack: xnn_pack_qs8_conv_goki_w
1716
+ k-block: 4
1717
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x64c4__hvx
1718
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1719
+ pack: xnn_pack_qs8_conv_goki_w
1720
+ k-block: 4
1721
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x64c4__hvx
1722
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1723
+ pack: xnn_pack_qs8_conv_goki_w
1724
+ k-block: 4
1725
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x64c4__hvx
1726
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1727
+ pack: xnn_pack_qs8_conv_goki_w
1728
+ k-block: 4
1729
+
1730
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x128c4__hvx
1731
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1732
+ pack: xnn_pack_qs8_conv_goki_w
1733
+ k-block: 4
1734
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_2x128c4__hvx
1735
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1736
+ pack: xnn_pack_qs8_conv_goki_w
1737
+ k-block: 4
1738
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_3x128c4__hvx
1739
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1740
+ pack: xnn_pack_qs8_conv_goki_w
1741
+ k-block: 4
1742
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x128c4__hvx
1743
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1744
+ pack: xnn_pack_qs8_conv_goki_w
1745
+ k-block: 4
1746
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_5x128c4__hvx
1747
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1748
+ pack: xnn_pack_qs8_conv_goki_w
1749
+ k-block: 4
1750
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_6x128c4__hvx
1751
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1752
+ pack: xnn_pack_qs8_conv_goki_w
1753
+ k-block: 4
1754
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x128c4__hvx
1755
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1756
+ pack: xnn_pack_qs8_conv_goki_w
1757
+ k-block: 4
1758
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_8x128c4__hvx
1759
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1760
+ pack: xnn_pack_qs8_conv_goki_w
1761
+ k-block: 4
1762
+
1763
+ # RISC-V Vector
1764
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_1x4v__rvv
1765
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1766
+ pack: xnn_pack_qs8_conv_goki_w
1767
+ k-block: 1
1768
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_4x4v__rvv
1769
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1770
+ pack: xnn_pack_qs8_conv_goki_w
1771
+ k-block: 1
1772
+ - name: xnn_qs8_qc8w_igemm_minmax_fp32_ukernel_7x4v__rvv
1773
+ init: xnn_init_qs8_qc8w_conv_minmax_fp32_scalar_params
1774
+ pack: xnn_pack_qs8_conv_goki_w
1775
+ k-block: 1