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,1600 @@
1
+ # Copyright 2023 Google LLC
2
+ #
3
+ # This source code is licensed under the BSD-style license found in the
4
+ # LICENSE file in the root directory of this source tree.
5
+
6
+ # AVX512AMX
7
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x64c4__avx512amx
8
+ init: xnn_init_f32_minmax_scalar_params
9
+ pack: xnn_pack_qs8_gemm_goi_w
10
+ k-block: 64
11
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x64c4__avx512amx
12
+ init: xnn_init_f32_minmax_scalar_params
13
+ pack: xnn_pack_qs8_gemm_goi_w
14
+ k-block: 64
15
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x64c4__avx512amx
16
+ init: xnn_init_f32_minmax_scalar_params
17
+ pack: xnn_pack_qs8_gemm_goi_w
18
+ k-block: 64
19
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x64c4__avx512amx_prfm
20
+ init: xnn_init_f32_minmax_scalar_params
21
+ pack: xnn_pack_qs8_gemm_goi_w
22
+ k-block: 64
23
+
24
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x32c4__avx512amx
25
+ init: xnn_init_f32_minmax_scalar_params
26
+ pack: xnn_pack_qs8_gemm_goi_w
27
+ k-block: 64
28
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x32c4__avx512amx
29
+ init: xnn_init_f32_minmax_scalar_params
30
+ pack: xnn_pack_qs8_gemm_goi_w
31
+ k-block: 64
32
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x32c4__avx512amx
33
+ init: xnn_init_f32_minmax_scalar_params
34
+ pack: xnn_pack_qs8_gemm_goi_w
35
+ k-block: 64
36
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x32c4__avx512amx_prfm
37
+ init: xnn_init_f32_minmax_scalar_params
38
+ pack: xnn_pack_qs8_gemm_goi_w
39
+ k-block: 64
40
+
41
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__avx512amx
42
+ init: xnn_init_f32_minmax_scalar_params
43
+ pack: xnn_pack_qs8_gemm_goi_w
44
+ k-block: 64
45
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c4__avx512amx
46
+ init: xnn_init_f32_minmax_scalar_params
47
+ pack: xnn_pack_qs8_gemm_goi_w
48
+ k-block: 64
49
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x16c4__avx512amx
50
+ init: xnn_init_f32_minmax_scalar_params
51
+ pack: xnn_pack_qs8_gemm_goi_w
52
+ k-block: 64
53
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_16x16c4__avx512amx_prfm
54
+ init: xnn_init_f32_minmax_scalar_params
55
+ pack: xnn_pack_qs8_gemm_goi_w
56
+ k-block: 64
57
+
58
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__asm_amd64_avx512vnni
59
+ init: xnn_init_f32_minmax_scalar_params
60
+ pack: xnn_pack_qs8_gemm_goi_w
61
+ k-block: 8
62
+ unsigned-inputs: True
63
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c8__asm_amd64_avx512vnni
64
+ init: xnn_init_f32_minmax_scalar_params
65
+ pack: xnn_pack_qs8_gemm_goi_w
66
+ k-block: 8
67
+ unsigned-inputs: True
68
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c8__asm_amd64_avx512vnni
69
+ init: xnn_init_f32_minmax_scalar_params
70
+ pack: xnn_pack_qs8_gemm_goi_w
71
+ k-block: 8
72
+ unsigned-inputs: True
73
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c8__asm_amd64_avx512vnni
74
+ init: xnn_init_f32_minmax_scalar_params
75
+ pack: xnn_pack_qs8_gemm_goi_w
76
+ k-block: 8
77
+ unsigned-inputs: True
78
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__asm_amd64_avx512vnni
79
+ init: xnn_init_f32_minmax_scalar_params
80
+ pack: xnn_pack_qs8_gemm_goi_w
81
+ k-block: 8
82
+ unsigned-inputs: True
83
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16c8__asm_amd64_avx512vnni
84
+ init: xnn_init_f32_minmax_scalar_params
85
+ pack: xnn_pack_qs8_gemm_goi_w
86
+ k-block: 8
87
+ unsigned-inputs: True
88
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__asm_amd64_avx512vnni
89
+ init: xnn_init_f32_minmax_scalar_params
90
+ pack: xnn_pack_qs8_gemm_goi_w
91
+ k-block: 8
92
+ unsigned-inputs: True
93
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__asm_amd64_avx512vnni
94
+ init: xnn_init_f32_minmax_scalar_params
95
+ pack: xnn_pack_qs8_gemm_goi_w
96
+ k-block: 8
97
+ unsigned-inputs: True
98
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c8__asm_amd64_avx512vnni
99
+ init: xnn_init_f32_minmax_scalar_params
100
+ pack: xnn_pack_qs8_gemm_goi_w
101
+ k-block: 8
102
+ unsigned-inputs: True
103
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c8__asm_amd64_avx512vnni
104
+ init: xnn_init_f32_minmax_scalar_params
105
+ pack: xnn_pack_qs8_gemm_goi_w
106
+ k-block: 8
107
+ unsigned-inputs: True
108
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_11x16c8__asm_amd64_avx512vnni
109
+ init: xnn_init_f32_minmax_scalar_params
110
+ pack: xnn_pack_qs8_gemm_goi_w
111
+ k-block: 8
112
+ unsigned-inputs: True
113
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x32c8__asm_amd64_avx512vnni
114
+ init: xnn_init_f32_minmax_scalar_params
115
+ pack: xnn_pack_qs8_gemm_goi_w
116
+ k-block: 8
117
+ unsigned-inputs: True
118
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x32c8__asm_amd64_avx512vnni
119
+ init: xnn_init_f32_minmax_scalar_params
120
+ pack: xnn_pack_qs8_gemm_goi_w
121
+ k-block: 8
122
+ unsigned-inputs: True
123
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x32c8__asm_amd64_avx512vnni
124
+ init: xnn_init_f32_minmax_scalar_params
125
+ pack: xnn_pack_qs8_gemm_goi_w
126
+ k-block: 8
127
+ unsigned-inputs: True
128
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x32c8__asm_amd64_avx512vnni
129
+ init: xnn_init_f32_minmax_scalar_params
130
+ pack: xnn_pack_qs8_gemm_goi_w
131
+ k-block: 8
132
+ unsigned-inputs: True
133
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x32c8__asm_amd64_avx512vnni
134
+ init: xnn_init_f32_minmax_scalar_params
135
+ pack: xnn_pack_qs8_gemm_goi_w
136
+ k-block: 8
137
+ unsigned-inputs: True
138
+
139
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x32c4__asm_amd64_avx512vnni
140
+ init: xnn_init_f32_minmax_scalar_params
141
+ pack: xnn_pack_qs8_gemm_goi_w
142
+ k-block: 4
143
+ unsigned-inputs: True
144
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x32c4__asm_amd64_avx512vnni
145
+ init: xnn_init_f32_minmax_scalar_params
146
+ pack: xnn_pack_qs8_gemm_goi_w
147
+ k-block: 4
148
+ unsigned-inputs: True
149
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x32c4__asm_amd64_avx512vnni
150
+ init: xnn_init_f32_minmax_scalar_params
151
+ pack: xnn_pack_qs8_gemm_goi_w
152
+ k-block: 4
153
+ unsigned-inputs: True
154
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x32c4__asm_amd64_avx512vnni
155
+ init: xnn_init_f32_minmax_scalar_params
156
+ pack: xnn_pack_qs8_gemm_goi_w
157
+ k-block: 4
158
+ unsigned-inputs: True
159
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x32c4__asm_amd64_avx512vnni
160
+ init: xnn_init_f32_minmax_scalar_params
161
+ pack: xnn_pack_qs8_gemm_goi_w
162
+ k-block: 4
163
+ unsigned-inputs: True
164
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x32c4__asm_amd64_avx512vnni
165
+ init: xnn_init_f32_minmax_scalar_params
166
+ pack: xnn_pack_qs8_gemm_goi_w
167
+ k-block: 4
168
+ unsigned-inputs: True
169
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x32c4__asm_amd64_avx512vnni
170
+ init: xnn_init_f32_minmax_scalar_params
171
+ pack: xnn_pack_qs8_gemm_goi_w
172
+ k-block: 4
173
+ unsigned-inputs: True
174
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x32c4__asm_amd64_avx512vnni
175
+ init: xnn_init_f32_minmax_scalar_params
176
+ pack: xnn_pack_qs8_gemm_goi_w
177
+ k-block: 4
178
+ unsigned-inputs: True
179
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x32c4__asm_amd64_avx512vnni
180
+ init: xnn_init_f32_minmax_scalar_params
181
+ pack: xnn_pack_qs8_gemm_goi_w
182
+ k-block: 4
183
+ unsigned-inputs: True
184
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x32c4__asm_amd64_avx512vnni
185
+ init: xnn_init_f32_minmax_scalar_params
186
+ pack: xnn_pack_qs8_gemm_goi_w
187
+ k-block: 4
188
+ unsigned-inputs: True
189
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_11x32c4__asm_amd64_avx512vnni
190
+ init: xnn_init_f32_minmax_scalar_params
191
+ pack: xnn_pack_qs8_gemm_goi_w
192
+ k-block: 4
193
+ unsigned-inputs: True
194
+
195
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__asm_amd64_avx512vnni
196
+ init: xnn_init_f32_minmax_scalar_params
197
+ pack: xnn_pack_qs8_gemm_goi_w
198
+ k-block: 4
199
+ unsigned-inputs: True
200
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c4__asm_amd64_avx512vnni
201
+ init: xnn_init_f32_minmax_scalar_params
202
+ pack: xnn_pack_qs8_gemm_goi_w
203
+ k-block: 4
204
+ unsigned-inputs: True
205
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c4__asm_amd64_avx512vnni
206
+ init: xnn_init_f32_minmax_scalar_params
207
+ pack: xnn_pack_qs8_gemm_goi_w
208
+ k-block: 4
209
+ unsigned-inputs: True
210
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_amd64_avx512vnni
211
+ init: xnn_init_f32_minmax_scalar_params
212
+ pack: xnn_pack_qs8_gemm_goi_w
213
+ k-block: 4
214
+ unsigned-inputs: True
215
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c4__asm_amd64_avx512vnni
216
+ init: xnn_init_f32_minmax_scalar_params
217
+ pack: xnn_pack_qs8_gemm_goi_w
218
+ k-block: 4
219
+ unsigned-inputs: True
220
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16c4__asm_amd64_avx512vnni
221
+ init: xnn_init_f32_minmax_scalar_params
222
+ pack: xnn_pack_qs8_gemm_goi_w
223
+ k-block: 4
224
+ unsigned-inputs: True
225
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c4__asm_amd64_avx512vnni
226
+ init: xnn_init_f32_minmax_scalar_params
227
+ pack: xnn_pack_qs8_gemm_goi_w
228
+ k-block: 4
229
+ unsigned-inputs: True
230
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c4__asm_amd64_avx512vnni
231
+ init: xnn_init_f32_minmax_scalar_params
232
+ pack: xnn_pack_qs8_gemm_goi_w
233
+ k-block: 4
234
+ unsigned-inputs: True
235
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c4__asm_amd64_avx512vnni
236
+ init: xnn_init_f32_minmax_scalar_params
237
+ pack: xnn_pack_qs8_gemm_goi_w
238
+ k-block: 4
239
+ unsigned-inputs: True
240
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c4__asm_amd64_avx512vnni
241
+ init: xnn_init_f32_minmax_scalar_params
242
+ pack: xnn_pack_qs8_gemm_goi_w
243
+ k-block: 4
244
+ unsigned-inputs: True
245
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_11x16c4__asm_amd64_avx512vnni
246
+ init: xnn_init_f32_minmax_scalar_params
247
+ pack: xnn_pack_qs8_gemm_goi_w
248
+ k-block: 4
249
+ unsigned-inputs: True
250
+
251
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x64c4__asm_amd64_avx512vnni
252
+ init: xnn_init_f32_minmax_scalar_params
253
+ pack: xnn_pack_qs8_gemm_goi_w
254
+ k-block: 4
255
+ unsigned-inputs: True
256
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x64c4__asm_amd64_avx512vnni
257
+ init: xnn_init_f32_minmax_scalar_params
258
+ pack: xnn_pack_qs8_gemm_goi_w
259
+ k-block: 4
260
+ unsigned-inputs: True
261
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x64c4__asm_amd64_avx512vnni
262
+ init: xnn_init_f32_minmax_scalar_params
263
+ pack: xnn_pack_qs8_gemm_goi_w
264
+ k-block: 4
265
+ unsigned-inputs: True
266
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x64c4__asm_amd64_avx512vnni
267
+ init: xnn_init_f32_minmax_scalar_params
268
+ pack: xnn_pack_qs8_gemm_goi_w
269
+ k-block: 4
270
+ unsigned-inputs: True
271
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x64c4__asm_amd64_avx512vnni
272
+ init: xnn_init_f32_minmax_scalar_params
273
+ pack: xnn_pack_qs8_gemm_goi_w
274
+ k-block: 4
275
+ unsigned-inputs: True
276
+
277
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8__asm_aarch32_neonmlal_ld64_2
278
+ init: xnn_init_f32_minmax_scalar_params
279
+ pack: xnn_pack_qs8_gemm_goi_w
280
+ k-block: 8
281
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8__asm_aarch32_neonmlal_ld64_2
282
+ init: xnn_init_f32_minmax_scalar_params
283
+ pack: xnn_pack_qs8_gemm_goi_w
284
+ k-block: 8
285
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8__asm_aarch32_neonmlal_ld64_2
286
+ init: xnn_init_f32_minmax_scalar_params
287
+ pack: xnn_pack_qs8_gemm_goi_w
288
+ k-block: 8
289
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8__asm_aarch32_neonmlal_ld64_2
290
+ init: xnn_init_f32_minmax_scalar_params
291
+ pack: xnn_pack_qs8_gemm_goi_w
292
+ k-block: 8
293
+
294
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld32_2
295
+ init: xnn_init_f32_minmax_scalar_params
296
+ pack: xnn_pack_qs8_gemm_goi_w
297
+ k-block: 4
298
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld32_2
299
+ init: xnn_init_f32_minmax_scalar_params
300
+ pack: xnn_pack_qs8_gemm_goi_w
301
+ k-block: 4
302
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld32_2
303
+ init: xnn_init_f32_minmax_scalar_params
304
+ pack: xnn_pack_qs8_gemm_goi_w
305
+ k-block: 4
306
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld32_2
307
+ init: xnn_init_f32_minmax_scalar_params
308
+ pack: xnn_pack_qs8_gemm_goi_w
309
+ k-block: 4
310
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld64_2
311
+ init: xnn_init_f32_minmax_scalar_params
312
+ pack: xnn_pack_qs8_gemm_goi_w
313
+ k-block: 4
314
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld64_2
315
+ init: xnn_init_f32_minmax_scalar_params
316
+ pack: xnn_pack_qs8_gemm_goi_w
317
+ k-block: 4
318
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld64_2
319
+ init: xnn_init_f32_minmax_scalar_params
320
+ pack: xnn_pack_qs8_gemm_goi_w
321
+ k-block: 4
322
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld64_2
323
+ init: xnn_init_f32_minmax_scalar_params
324
+ pack: xnn_pack_qs8_gemm_goi_w
325
+ k-block: 4
326
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__asm_aarch64_neondot_ld128_2
327
+ init: xnn_init_f32_minmax_scalar_params
328
+ pack: xnn_pack_qs8_gemm_goi_w
329
+ k-block: 4
330
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__asm_aarch64_neondot_ld128_2
331
+ init: xnn_init_f32_minmax_scalar_params
332
+ pack: xnn_pack_qs8_gemm_goi_w
333
+ k-block: 4
334
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__asm_aarch64_neondot_ld128_2
335
+ init: xnn_init_f32_minmax_scalar_params
336
+ pack: xnn_pack_qs8_gemm_goi_w
337
+ k-block: 4
338
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__asm_aarch64_neondot_ld128_2
339
+ init: xnn_init_f32_minmax_scalar_params
340
+ pack: xnn_pack_qs8_gemm_goi_w
341
+ k-block: 4
342
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__asm_aarch64_neondot_ld128_2
343
+ init: xnn_init_f32_minmax_scalar_params
344
+ pack: xnn_pack_qs8_gemm_goi_w
345
+ k-block: 4
346
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__asm_aarch64_neondot_ld128_2
347
+ init: xnn_init_f32_minmax_scalar_params
348
+ pack: xnn_pack_qs8_gemm_goi_w
349
+ k-block: 4
350
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c4__asm_aarch64_neondot_ld128_2
351
+ init: xnn_init_f32_minmax_scalar_params
352
+ pack: xnn_pack_qs8_gemm_goi_w
353
+ k-block: 4
354
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__asm_aarch64_neondot_ld32_2
355
+ init: xnn_init_f32_minmax_scalar_params
356
+ pack: xnn_pack_qs8_gemm_goi_w
357
+ k-block: 4
358
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__asm_aarch64_neondot_ld32_2
359
+ init: xnn_init_f32_minmax_scalar_params
360
+ pack: xnn_pack_qs8_gemm_goi_w
361
+ k-block: 4
362
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c4__asm_aarch64_neondot_ld32_2
363
+ init: xnn_init_f32_minmax_scalar_params
364
+ pack: xnn_pack_qs8_gemm_goi_w
365
+ k-block: 4
366
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__asm_aarch64_neondot_ld64_2
367
+ init: xnn_init_f32_minmax_scalar_params
368
+ pack: xnn_pack_qs8_gemm_goi_w
369
+ k-block: 4
370
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__asm_aarch64_neondot_ld64_2
371
+ init: xnn_init_f32_minmax_scalar_params
372
+ pack: xnn_pack_qs8_gemm_goi_w
373
+ k-block: 4
374
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c4__asm_aarch64_neondot_ld64_2
375
+ init: xnn_init_f32_minmax_scalar_params
376
+ pack: xnn_pack_qs8_gemm_goi_w
377
+ k-block: 4
378
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld32_2
379
+ init: xnn_init_f32_minmax_scalar_params
380
+ pack: xnn_pack_qs8_gemm_goi_w
381
+ k-block: 4
382
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld32_2
383
+ init: xnn_init_f32_minmax_scalar_params
384
+ pack: xnn_pack_qs8_gemm_goi_w
385
+ k-block: 4
386
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld32_2
387
+ init: xnn_init_f32_minmax_scalar_params
388
+ pack: xnn_pack_qs8_gemm_goi_w
389
+ k-block: 4
390
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld32_2
391
+ init: xnn_init_f32_minmax_scalar_params
392
+ pack: xnn_pack_qs8_gemm_goi_w
393
+ k-block: 4
394
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld64_2
395
+ init: xnn_init_f32_minmax_scalar_params
396
+ pack: xnn_pack_qs8_gemm_goi_w
397
+ k-block: 4
398
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld64_2
399
+ init: xnn_init_f32_minmax_scalar_params
400
+ pack: xnn_pack_qs8_gemm_goi_w
401
+ k-block: 4
402
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld64_2
403
+ init: xnn_init_f32_minmax_scalar_params
404
+ pack: xnn_pack_qs8_gemm_goi_w
405
+ k-block: 4
406
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld64_2
407
+ init: xnn_init_f32_minmax_scalar_params
408
+ pack: xnn_pack_qs8_gemm_goi_w
409
+ k-block: 4
410
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__asm_aarch64_neondot_ld128_2
411
+ init: xnn_init_f32_minmax_scalar_params
412
+ pack: xnn_pack_qs8_gemm_goi_w
413
+ k-block: 4
414
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c4__asm_aarch64_neondot_ld128_2
415
+ init: xnn_init_f32_minmax_scalar_params
416
+ pack: xnn_pack_qs8_gemm_goi_w
417
+ k-block: 4
418
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c4__asm_aarch64_neondot_ld128_2
419
+ init: xnn_init_f32_minmax_scalar_params
420
+ pack: xnn_pack_qs8_gemm_goi_w
421
+ k-block: 4
422
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld128_2
423
+ init: xnn_init_f32_minmax_scalar_params
424
+ pack: xnn_pack_qs8_gemm_goi_w
425
+ k-block: 4
426
+ # AArch32 assembly
427
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__asm_aarch32_neondot_cortex_a55
428
+ init: xnn_init_f32_minmax_scalar_params
429
+ pack: xnn_pack_qs8_gemm_goi_w
430
+ k-block: 8
431
+
432
+ # ARM NEONI8MM
433
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__neoni8mm
434
+ init: xnn_init_f32_minmax_scalar_params
435
+ pack: xnn_pack_qs8_gemm_goi_w
436
+ k-block: 16
437
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__neoni8mm
438
+ init: xnn_init_f32_minmax_scalar_params
439
+ pack: xnn_pack_qs8_gemm_goi_w
440
+ k-block: 16
441
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x32c8__neoni8mm
442
+ init: xnn_init_f32_minmax_scalar_params
443
+ pack: xnn_pack_qs8_gemm_goi_w
444
+ k-block: 16
445
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__neoni8mm
446
+ init: xnn_init_f32_minmax_scalar_params
447
+ pack: xnn_pack_qs8_gemm_goi_w
448
+ k-block: 16
449
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c8__neoni8mm
450
+ init: xnn_init_f32_minmax_scalar_params
451
+ pack: xnn_pack_qs8_gemm_goi_w
452
+ k-block: 16
453
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x32c8__neoni8mm
454
+ init: xnn_init_f32_minmax_scalar_params
455
+ pack: xnn_pack_qs8_gemm_goi_w
456
+ k-block: 16
457
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__neoni8mm
458
+ init: xnn_init_f32_minmax_scalar_params
459
+ pack: xnn_pack_qs8_gemm_goi_w
460
+ k-block: 16
461
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c8__neoni8mm
462
+ init: xnn_init_f32_minmax_scalar_params
463
+ pack: xnn_pack_qs8_gemm_goi_w
464
+ k-block: 16
465
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x32c8__neoni8mm
466
+ init: xnn_init_f32_minmax_scalar_params
467
+ pack: xnn_pack_qs8_gemm_goi_w
468
+ k-block: 16
469
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__neoni8mm
470
+ init: xnn_init_f32_minmax_scalar_params
471
+ pack: xnn_pack_qs8_gemm_goi_w
472
+ k-block: 16
473
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c8__neoni8mm
474
+ init: xnn_init_f32_minmax_scalar_params
475
+ pack: xnn_pack_qs8_gemm_goi_w
476
+ k-block: 16
477
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x32c8__neoni8mm
478
+ init: xnn_init_f32_minmax_scalar_params
479
+ pack: xnn_pack_qs8_gemm_goi_w
480
+ k-block: 16
481
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__neoni8mm
482
+ init: xnn_init_f32_minmax_scalar_params
483
+ pack: xnn_pack_qs8_gemm_goi_w
484
+ k-block: 16
485
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__neoni8mm
486
+ init: xnn_init_f32_minmax_scalar_params
487
+ pack: xnn_pack_qs8_gemm_goi_w
488
+ k-block: 16
489
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x32c8__neoni8mm
490
+ init: xnn_init_f32_minmax_scalar_params
491
+ pack: xnn_pack_qs8_gemm_goi_w
492
+ k-block: 16
493
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c8__neoni8mm
494
+ init: xnn_init_f32_minmax_scalar_params
495
+ pack: xnn_pack_qs8_gemm_goi_w
496
+ k-block: 16
497
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16c8__neoni8mm
498
+ init: xnn_init_f32_minmax_scalar_params
499
+ pack: xnn_pack_qs8_gemm_goi_w
500
+ k-block: 16
501
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x32c8__neoni8mm
502
+ init: xnn_init_f32_minmax_scalar_params
503
+ pack: xnn_pack_qs8_gemm_goi_w
504
+ k-block: 16
505
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__neoni8mm
506
+ init: xnn_init_f32_minmax_scalar_params
507
+ pack: xnn_pack_qs8_gemm_goi_w
508
+ k-block: 16
509
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__neoni8mm
510
+ init: xnn_init_f32_minmax_scalar_params
511
+ pack: xnn_pack_qs8_gemm_goi_w
512
+ k-block: 16
513
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x32c8__neoni8mm
514
+ init: xnn_init_f32_minmax_scalar_params
515
+ pack: xnn_pack_qs8_gemm_goi_w
516
+ k-block: 16
517
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__neoni8mm
518
+ init: xnn_init_f32_minmax_scalar_params
519
+ pack: xnn_pack_qs8_gemm_goi_w
520
+ k-block: 16
521
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__neoni8mm
522
+ init: xnn_init_f32_minmax_scalar_params
523
+ pack: xnn_pack_qs8_gemm_goi_w
524
+ k-block: 16
525
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x32c8__neoni8mm
526
+ init: xnn_init_f32_minmax_scalar_params
527
+ pack: xnn_pack_qs8_gemm_goi_w
528
+ k-block: 16
529
+
530
+ # ARM NEON
531
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8__neon_mlal_lane
532
+ init: xnn_init_f32_minmax_scalar_params
533
+ pack: xnn_pack_qs8_gemm_goi_w
534
+ k-block: 8
535
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8__neon_mlal_lane_prfm
536
+ init: xnn_init_f32_minmax_scalar_params
537
+ pack: xnn_pack_qs8_gemm_goi_w
538
+ k-block: 8
539
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c2s4__neon_mlal
540
+ init: xnn_init_f32_minmax_scalar_params
541
+ pack: xnn_pack_qs8_gemm_goi_w
542
+ k-block: 16
543
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__neondot
544
+ init: xnn_init_f32_minmax_scalar_params
545
+ pack: xnn_pack_qs8_gemm_goi_w
546
+ k-block: 4
547
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__aarch64_neondot_ld128
548
+ init: xnn_init_f32_minmax_scalar_params
549
+ pack: xnn_pack_qs8_gemm_goi_w
550
+ k-block: 16
551
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__neondot_ld64
552
+ init: xnn_init_f32_minmax_scalar_params
553
+ pack: xnn_pack_qs8_gemm_goi_w
554
+ k-block: 8
555
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16__neon_mlal_lane
556
+ init: xnn_init_f32_minmax_scalar_params
557
+ pack: xnn_pack_qs8_gemm_goi_w
558
+ k-block: 8
559
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16__neon_mlal_lane_prfm
560
+ init: xnn_init_f32_minmax_scalar_params
561
+ pack: xnn_pack_qs8_gemm_goi_w
562
+ k-block: 8
563
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__neondot
564
+ init: xnn_init_f32_minmax_scalar_params
565
+ pack: xnn_pack_qs8_gemm_goi_w
566
+ k-block: 4
567
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__aarch64_neondot_ld128
568
+ init: xnn_init_f32_minmax_scalar_params
569
+ pack: xnn_pack_qs8_gemm_goi_w
570
+ k-block: 16
571
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__neondot_ld64
572
+ init: xnn_init_f32_minmax_scalar_params
573
+ pack: xnn_pack_qs8_gemm_goi_w
574
+ k-block: 8
575
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8__neon_mlal_lane
576
+ init: xnn_init_f32_minmax_scalar_params
577
+ pack: xnn_pack_qs8_gemm_goi_w
578
+ k-block: 8
579
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8__neon_mlal_lane_prfm
580
+ init: xnn_init_f32_minmax_scalar_params
581
+ pack: xnn_pack_qs8_gemm_goi_w
582
+ k-block: 8
583
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c2s4__neon_mlal
584
+ init: xnn_init_f32_minmax_scalar_params
585
+ pack: xnn_pack_qs8_gemm_goi_w
586
+ k-block: 16
587
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__neondot
588
+ init: xnn_init_f32_minmax_scalar_params
589
+ pack: xnn_pack_qs8_gemm_goi_w
590
+ k-block: 4
591
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16__neon_mlal_lane
592
+ init: xnn_init_f32_minmax_scalar_params
593
+ pack: xnn_pack_qs8_gemm_goi_w
594
+ k-block: 8
595
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16__neon_mlal_lane_prfm
596
+ init: xnn_init_f32_minmax_scalar_params
597
+ pack: xnn_pack_qs8_gemm_goi_w
598
+ k-block: 8
599
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x16c4__neondot
600
+ init: xnn_init_f32_minmax_scalar_params
601
+ pack: xnn_pack_qs8_gemm_goi_w
602
+ k-block: 4
603
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8__neon_mlal_lane
604
+ init: xnn_init_f32_minmax_scalar_params
605
+ pack: xnn_pack_qs8_gemm_goi_w
606
+ k-block: 8
607
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8__neon_mlal_lane_prfm
608
+ init: xnn_init_f32_minmax_scalar_params
609
+ pack: xnn_pack_qs8_gemm_goi_w
610
+ k-block: 8
611
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__neondot
612
+ init: xnn_init_f32_minmax_scalar_params
613
+ pack: xnn_pack_qs8_gemm_goi_w
614
+ k-block: 4
615
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16__neon_mlal_lane
616
+ init: xnn_init_f32_minmax_scalar_params
617
+ pack: xnn_pack_qs8_gemm_goi_w
618
+ k-block: 8
619
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16__neon_mlal_lane_prfm
620
+ init: xnn_init_f32_minmax_scalar_params
621
+ pack: xnn_pack_qs8_gemm_goi_w
622
+ k-block: 8
623
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x16c4__neondot
624
+ init: xnn_init_f32_minmax_scalar_params
625
+ pack: xnn_pack_qs8_gemm_goi_w
626
+ k-block: 4
627
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8__neon_mlal_lane
628
+ init: xnn_init_f32_minmax_scalar_params
629
+ pack: xnn_pack_qs8_gemm_goi_w
630
+ k-block: 8
631
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8__neon_mlal_lane_prfm
632
+ init: xnn_init_f32_minmax_scalar_params
633
+ pack: xnn_pack_qs8_gemm_goi_w
634
+ k-block: 8
635
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__neondot
636
+ init: xnn_init_f32_minmax_scalar_params
637
+ pack: xnn_pack_qs8_gemm_goi_w
638
+ k-block: 4
639
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16__neon_mlal_lane
640
+ init: xnn_init_f32_minmax_scalar_params
641
+ pack: xnn_pack_qs8_gemm_goi_w
642
+ k-block: 8
643
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16__neon_mlal_lane_prfm
644
+ init: xnn_init_f32_minmax_scalar_params
645
+ pack: xnn_pack_qs8_gemm_goi_w
646
+ k-block: 8
647
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_cortex_a55
648
+ init: xnn_init_f32_minmax_scalar_params
649
+ pack: xnn_pack_qs8_gemm_goi_w
650
+ k-block: 16
651
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld64
652
+ init: xnn_init_f32_minmax_scalar_params
653
+ pack: xnn_pack_qs8_gemm_goi_w
654
+ k-block: 8
655
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__asm_aarch64_neondot_ld128
656
+ init: xnn_init_f32_minmax_scalar_params
657
+ pack: xnn_pack_qs8_gemm_goi_w
658
+ k-block: 16
659
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__neondot
660
+ init: xnn_init_f32_minmax_scalar_params
661
+ pack: xnn_pack_qs8_gemm_goi_w
662
+ k-block: 4
663
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__neondot
664
+ init: xnn_init_f32_minmax_scalar_params
665
+ pack: xnn_pack_qs8_gemm_goi_w
666
+ k-block: 4
667
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c4__neondot
668
+ init: xnn_init_f32_minmax_scalar_params
669
+ pack: xnn_pack_qs8_gemm_goi_w
670
+ k-block: 4
671
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8__neon_mlal_lane
672
+ init: xnn_init_f32_minmax_scalar_params
673
+ pack: xnn_pack_qs8_gemm_goi_w
674
+ k-block: 8
675
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8__neon_mlal_lane_prfm
676
+ init: xnn_init_f32_minmax_scalar_params
677
+ pack: xnn_pack_qs8_gemm_goi_w
678
+ k-block: 8
679
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__neondot
680
+ init: xnn_init_f32_minmax_scalar_params
681
+ pack: xnn_pack_qs8_gemm_goi_w
682
+ k-block: 4
683
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16__neon_mlal_lane
684
+ init: xnn_init_f32_minmax_scalar_params
685
+ pack: xnn_pack_qs8_gemm_goi_w
686
+ k-block: 8
687
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16__neon_mlal_lane_prfm
688
+ init: xnn_init_f32_minmax_scalar_params
689
+ pack: xnn_pack_qs8_gemm_goi_w
690
+ k-block: 8
691
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x16c4__neondot
692
+ init: xnn_init_f32_minmax_scalar_params
693
+ pack: xnn_pack_qs8_gemm_goi_w
694
+ k-block: 4
695
+
696
+ # x86 SSE
697
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__sse2_ld64
698
+ init: xnn_init_f32_minmax_scalar_params
699
+ pack: xnn_pack_qs8_gemm_goi_w
700
+ k-block: 8
701
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__sse2_ld128
702
+ init: xnn_init_f32_minmax_scalar_params
703
+ pack: xnn_pack_qs8_gemm_goi_w
704
+ k-block: 8
705
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__sse41_ld64
706
+ init: xnn_init_f32_minmax_scalar_params
707
+ pack: xnn_pack_qs8_gemm_goi_w
708
+ k-block: 8
709
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__sse41_ld128
710
+ init: xnn_init_f32_minmax_scalar_params
711
+ pack: xnn_pack_qs8_gemm_goi_w
712
+ k-block: 8
713
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__sse2_ld64
714
+ init: xnn_init_f32_minmax_scalar_params
715
+ pack: xnn_pack_qs8_gemm_goi_w
716
+ k-block: 8
717
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__sse2_ld128
718
+ init: xnn_init_f32_minmax_scalar_params
719
+ pack: xnn_pack_qs8_gemm_goi_w
720
+ k-block: 8
721
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__sse41_ld64
722
+ init: xnn_init_f32_minmax_scalar_params
723
+ pack: xnn_pack_qs8_gemm_goi_w
724
+ k-block: 8
725
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__sse41_ld128
726
+ init: xnn_init_f32_minmax_scalar_params
727
+ pack: xnn_pack_qs8_gemm_goi_w
728
+ k-block: 8
729
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__sse2_ld64
730
+ init: xnn_init_f32_minmax_scalar_params
731
+ pack: xnn_pack_qs8_gemm_goi_w
732
+ k-block: 8
733
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__sse2_ld128
734
+ init: xnn_init_f32_minmax_scalar_params
735
+ pack: xnn_pack_qs8_gemm_goi_w
736
+ k-block: 8
737
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__sse41_ld64
738
+ init: xnn_init_f32_minmax_scalar_params
739
+ pack: xnn_pack_qs8_gemm_goi_w
740
+ k-block: 8
741
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__sse41_ld128
742
+ init: xnn_init_f32_minmax_scalar_params
743
+ pack: xnn_pack_qs8_gemm_goi_w
744
+ k-block: 8
745
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__sse2_ld64
746
+ init: xnn_init_f32_minmax_scalar_params
747
+ pack: xnn_pack_qs8_gemm_goi_w
748
+ k-block: 8
749
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__sse2_ld128
750
+ init: xnn_init_f32_minmax_scalar_params
751
+ pack: xnn_pack_qs8_gemm_goi_w
752
+ k-block: 8
753
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__sse41_ld64
754
+ init: xnn_init_f32_minmax_scalar_params
755
+ pack: xnn_pack_qs8_gemm_goi_w
756
+ k-block: 8
757
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__sse41_ld128
758
+ init: xnn_init_f32_minmax_scalar_params
759
+ pack: xnn_pack_qs8_gemm_goi_w
760
+ k-block: 8
761
+
762
+ # x86 AVX
763
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__avx_ld64
764
+ init: xnn_init_f32_minmax_scalar_params
765
+ pack: xnn_pack_qs8_gemm_goi_w
766
+ k-block: 8
767
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__avx_ld128
768
+ init: xnn_init_f32_minmax_scalar_params
769
+ pack: xnn_pack_qs8_gemm_goi_w
770
+ k-block: 8
771
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__avx_ld64
772
+ init: xnn_init_f32_minmax_scalar_params
773
+ pack: xnn_pack_qs8_gemm_goi_w
774
+ k-block: 8
775
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__avx_ld128
776
+ init: xnn_init_f32_minmax_scalar_params
777
+ pack: xnn_pack_qs8_gemm_goi_w
778
+ k-block: 8
779
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__avx_ld64
780
+ init: xnn_init_f32_minmax_scalar_params
781
+ pack: xnn_pack_qs8_gemm_goi_w
782
+ k-block: 8
783
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__avx_ld128
784
+ init: xnn_init_f32_minmax_scalar_params
785
+ pack: xnn_pack_qs8_gemm_goi_w
786
+ k-block: 8
787
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__avx_ld64
788
+ init: xnn_init_f32_minmax_scalar_params
789
+ pack: xnn_pack_qs8_gemm_goi_w
790
+ k-block: 8
791
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__avx_ld128
792
+ init: xnn_init_f32_minmax_scalar_params
793
+ pack: xnn_pack_qs8_gemm_goi_w
794
+ k-block: 8
795
+
796
+ # x86 AVX2
797
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avx2
798
+ init: xnn_init_f32_minmax_scalar_params
799
+ pack: xnn_pack_qs8_gemm_goi_w
800
+ k-block: 8
801
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__avx2
802
+ init: xnn_init_f32_minmax_scalar_params
803
+ pack: xnn_pack_qs8_gemm_goi_w
804
+ k-block: 8
805
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__avx2
806
+ init: xnn_init_f32_minmax_scalar_params
807
+ pack: xnn_pack_qs8_gemm_goi_w
808
+ k-block: 8
809
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__avx2
810
+ init: xnn_init_f32_minmax_scalar_params
811
+ pack: xnn_pack_qs8_gemm_goi_w
812
+ k-block: 8
813
+
814
+ # x86 AVX256SKX
815
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avx256skx
816
+ init: xnn_init_f32_minmax_scalar_params
817
+ pack: xnn_pack_qs8_gemm_goi_w
818
+ k-block: 8
819
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__avx256skx
820
+ init: xnn_init_f32_minmax_scalar_params
821
+ pack: xnn_pack_qs8_gemm_goi_w
822
+ k-block: 8
823
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__avx256skx
824
+ init: xnn_init_f32_minmax_scalar_params
825
+ pack: xnn_pack_qs8_gemm_goi_w
826
+ k-block: 8
827
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__avx256skx
828
+ init: xnn_init_f32_minmax_scalar_params
829
+ pack: xnn_pack_qs8_gemm_goi_w
830
+ k-block: 8
831
+
832
+ # AVX512SKX
833
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__avx512skx
834
+ init: xnn_init_f32_minmax_scalar_params
835
+ pack: xnn_pack_qs8_gemm_goi_w
836
+ k-block: 8
837
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__avx512skx
838
+ init: xnn_init_f32_minmax_scalar_params
839
+ pack: xnn_pack_qs8_gemm_goi_w
840
+ k-block: 8
841
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__avx512skx
842
+ init: xnn_init_f32_minmax_scalar_params
843
+ pack: xnn_pack_qs8_gemm_goi_w
844
+ k-block: 8
845
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__avx512skx
846
+ init: xnn_init_f32_minmax_scalar_params
847
+ pack: xnn_pack_qs8_gemm_goi_w
848
+ k-block: 8
849
+
850
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__avx512skx_prfm
851
+ init: xnn_init_f32_minmax_scalar_params
852
+ pack: xnn_pack_qs8_gemm_goi_w
853
+ k-block: 8
854
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__avx512skx_prfm
855
+ init: xnn_init_f32_minmax_scalar_params
856
+ pack: xnn_pack_qs8_gemm_goi_w
857
+ k-block: 8
858
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__avx512skx_prfm
859
+ init: xnn_init_f32_minmax_scalar_params
860
+ pack: xnn_pack_qs8_gemm_goi_w
861
+ k-block: 8
862
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__avx512skx_prfm
863
+ init: xnn_init_f32_minmax_scalar_params
864
+ pack: xnn_pack_qs8_gemm_goi_w
865
+ k-block: 8
866
+
867
+ # x86 AVX512VNNI
868
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__avx512vnni
869
+ init: xnn_init_f32_minmax_scalar_params
870
+ pack: xnn_pack_qs8_gemm_goi_w
871
+ k-block: 8
872
+ unsigned-inputs: True
873
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__avx512vnni
874
+ init: xnn_init_f32_minmax_scalar_params
875
+ pack: xnn_pack_qs8_gemm_goi_w
876
+ k-block: 8
877
+ unsigned-inputs: True
878
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c4__avx512vnni
879
+ init: xnn_init_f32_minmax_scalar_params
880
+ pack: xnn_pack_qs8_gemm_goi_w
881
+ k-block: 8
882
+ unsigned-inputs: True
883
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c4__avx512vnni
884
+ init: xnn_init_f32_minmax_scalar_params
885
+ pack: xnn_pack_qs8_gemm_goi_w
886
+ k-block: 8
887
+ unsigned-inputs: True
888
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c4__avx512vnni
889
+ init: xnn_init_f32_minmax_scalar_params
890
+ pack: xnn_pack_qs8_gemm_goi_w
891
+ k-block: 8
892
+ unsigned-inputs: True
893
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c4__avx512vnni
894
+ init: xnn_init_f32_minmax_scalar_params
895
+ pack: xnn_pack_qs8_gemm_goi_w
896
+ k-block: 8
897
+ unsigned-inputs: True
898
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c4__avx512vnni
899
+ init: xnn_init_f32_minmax_scalar_params
900
+ pack: xnn_pack_qs8_gemm_goi_w
901
+ k-block: 8
902
+ unsigned-inputs: True
903
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x16c4__avx512vnni
904
+ init: xnn_init_f32_minmax_scalar_params
905
+ pack: xnn_pack_qs8_gemm_goi_w
906
+ k-block: 8
907
+ unsigned-inputs: True
908
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x16c4__avx512vnni
909
+ init: xnn_init_f32_minmax_scalar_params
910
+ pack: xnn_pack_qs8_gemm_goi_w
911
+ k-block: 8
912
+ unsigned-inputs: True
913
+
914
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__avx512vnni_prfm
915
+ init: xnn_init_f32_minmax_scalar_params
916
+ pack: xnn_pack_qs8_gemm_goi_w
917
+ k-block: 8
918
+ unsigned-inputs: True
919
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__avx512vnni_prfm
920
+ init: xnn_init_f32_minmax_scalar_params
921
+ pack: xnn_pack_qs8_gemm_goi_w
922
+ k-block: 8
923
+ unsigned-inputs: True
924
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c4__avx512vnni_prfm
925
+ init: xnn_init_f32_minmax_scalar_params
926
+ pack: xnn_pack_qs8_gemm_goi_w
927
+ k-block: 8
928
+ unsigned-inputs: True
929
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c4__avx512vnni_prfm
930
+ init: xnn_init_f32_minmax_scalar_params
931
+ pack: xnn_pack_qs8_gemm_goi_w
932
+ k-block: 8
933
+ unsigned-inputs: True
934
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c4__avx512vnni_prfm
935
+ init: xnn_init_f32_minmax_scalar_params
936
+ pack: xnn_pack_qs8_gemm_goi_w
937
+ k-block: 8
938
+ unsigned-inputs: True
939
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c4__avx512vnni_prfm
940
+ init: xnn_init_f32_minmax_scalar_params
941
+ pack: xnn_pack_qs8_gemm_goi_w
942
+ k-block: 8
943
+ unsigned-inputs: True
944
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c4__avx512vnni_prfm
945
+ init: xnn_init_f32_minmax_scalar_params
946
+ pack: xnn_pack_qs8_gemm_goi_w
947
+ k-block: 8
948
+ unsigned-inputs: True
949
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x16c4__avx512vnni_prfm
950
+ init: xnn_init_f32_minmax_scalar_params
951
+ pack: xnn_pack_qs8_gemm_goi_w
952
+ k-block: 8
953
+ unsigned-inputs: True
954
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x16c4__avx512vnni_prfm
955
+ init: xnn_init_f32_minmax_scalar_params
956
+ pack: xnn_pack_qs8_gemm_goi_w
957
+ k-block: 8
958
+ unsigned-inputs: True
959
+
960
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__avx512vnni
961
+ init: xnn_init_f32_minmax_scalar_params
962
+ pack: xnn_pack_qs8_gemm_goi_w
963
+ k-block: 16
964
+ unsigned-inputs: True
965
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__avx512vnni
966
+ init: xnn_init_f32_minmax_scalar_params
967
+ pack: xnn_pack_qs8_gemm_goi_w
968
+ k-block: 16
969
+ unsigned-inputs: True
970
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__avx512vnni
971
+ init: xnn_init_f32_minmax_scalar_params
972
+ pack: xnn_pack_qs8_gemm_goi_w
973
+ k-block: 16
974
+ unsigned-inputs: True
975
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__avx512vnni
976
+ init: xnn_init_f32_minmax_scalar_params
977
+ pack: xnn_pack_qs8_gemm_goi_w
978
+ k-block: 16
979
+ unsigned-inputs: True
980
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c8__avx512vnni
981
+ init: xnn_init_f32_minmax_scalar_params
982
+ pack: xnn_pack_qs8_gemm_goi_w
983
+ k-block: 16
984
+ unsigned-inputs: True
985
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c8__avx512vnni
986
+ init: xnn_init_f32_minmax_scalar_params
987
+ pack: xnn_pack_qs8_gemm_goi_w
988
+ k-block: 16
989
+ unsigned-inputs: True
990
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x16c8__avx512vnni
991
+ init: xnn_init_f32_minmax_scalar_params
992
+ pack: xnn_pack_qs8_gemm_goi_w
993
+ k-block: 16
994
+ unsigned-inputs: True
995
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x16c8__avx512vnni
996
+ init: xnn_init_f32_minmax_scalar_params
997
+ pack: xnn_pack_qs8_gemm_goi_w
998
+ k-block: 16
999
+ unsigned-inputs: True
1000
+
1001
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c8__avx512vnni_prfm
1002
+ init: xnn_init_f32_minmax_scalar_params
1003
+ pack: xnn_pack_qs8_gemm_goi_w
1004
+ k-block: 16
1005
+ unsigned-inputs: True
1006
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x16c8__avx512vnni_prfm
1007
+ init: xnn_init_f32_minmax_scalar_params
1008
+ pack: xnn_pack_qs8_gemm_goi_w
1009
+ k-block: 16
1010
+ unsigned-inputs: True
1011
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x16c8__avx512vnni_prfm
1012
+ init: xnn_init_f32_minmax_scalar_params
1013
+ pack: xnn_pack_qs8_gemm_goi_w
1014
+ k-block: 16
1015
+ unsigned-inputs: True
1016
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x16c8__avx512vnni_prfm
1017
+ init: xnn_init_f32_minmax_scalar_params
1018
+ pack: xnn_pack_qs8_gemm_goi_w
1019
+ k-block: 16
1020
+ unsigned-inputs: True
1021
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x16c8__avx512vnni_prfm
1022
+ init: xnn_init_f32_minmax_scalar_params
1023
+ pack: xnn_pack_qs8_gemm_goi_w
1024
+ k-block: 16
1025
+ unsigned-inputs: True
1026
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x16c8__avx512vnni_prfm
1027
+ init: xnn_init_f32_minmax_scalar_params
1028
+ pack: xnn_pack_qs8_gemm_goi_w
1029
+ k-block: 16
1030
+ unsigned-inputs: True
1031
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x16c8__avx512vnni_prfm
1032
+ init: xnn_init_f32_minmax_scalar_params
1033
+ pack: xnn_pack_qs8_gemm_goi_w
1034
+ k-block: 16
1035
+ unsigned-inputs: True
1036
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x16c8__avx512vnni_prfm
1037
+ init: xnn_init_f32_minmax_scalar_params
1038
+ pack: xnn_pack_qs8_gemm_goi_w
1039
+ k-block: 16
1040
+ unsigned-inputs: True
1041
+
1042
+ # x86 AVX512VNNI
1043
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avx256vnni
1044
+ init: xnn_init_f32_minmax_scalar_params
1045
+ pack: xnn_pack_qs8_gemm_goi_w
1046
+ k-block: 16
1047
+ unsigned-inputs: True
1048
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__avx256vnni
1049
+ init: xnn_init_f32_minmax_scalar_params
1050
+ pack: xnn_pack_qs8_gemm_goi_w
1051
+ k-block: 16
1052
+ unsigned-inputs: True
1053
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__avx256vnni
1054
+ init: xnn_init_f32_minmax_scalar_params
1055
+ pack: xnn_pack_qs8_gemm_goi_w
1056
+ k-block: 16
1057
+ unsigned-inputs: True
1058
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__avx256vnni
1059
+ init: xnn_init_f32_minmax_scalar_params
1060
+ pack: xnn_pack_qs8_gemm_goi_w
1061
+ k-block: 16
1062
+ unsigned-inputs: True
1063
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x8c8__avx256vnni
1064
+ init: xnn_init_f32_minmax_scalar_params
1065
+ pack: xnn_pack_qs8_gemm_goi_w
1066
+ k-block: 16
1067
+ unsigned-inputs: True
1068
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x8c8__avx256vnni
1069
+ init: xnn_init_f32_minmax_scalar_params
1070
+ pack: xnn_pack_qs8_gemm_goi_w
1071
+ k-block: 16
1072
+ unsigned-inputs: True
1073
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x8c8__avx256vnni
1074
+ init: xnn_init_f32_minmax_scalar_params
1075
+ pack: xnn_pack_qs8_gemm_goi_w
1076
+ k-block: 16
1077
+ unsigned-inputs: True
1078
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x8c8__avx256vnni
1079
+ init: xnn_init_f32_minmax_scalar_params
1080
+ pack: xnn_pack_qs8_gemm_goi_w
1081
+ k-block: 16
1082
+ unsigned-inputs: True
1083
+
1084
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avx256vnni_prfm
1085
+ init: xnn_init_f32_minmax_scalar_params
1086
+ pack: xnn_pack_qs8_gemm_goi_w
1087
+ k-block: 16
1088
+ unsigned-inputs: True
1089
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__avx256vnni_prfm
1090
+ init: xnn_init_f32_minmax_scalar_params
1091
+ pack: xnn_pack_qs8_gemm_goi_w
1092
+ k-block: 16
1093
+ unsigned-inputs: True
1094
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__avx256vnni_prfm
1095
+ init: xnn_init_f32_minmax_scalar_params
1096
+ pack: xnn_pack_qs8_gemm_goi_w
1097
+ k-block: 16
1098
+ unsigned-inputs: True
1099
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__avx256vnni_prfm
1100
+ init: xnn_init_f32_minmax_scalar_params
1101
+ pack: xnn_pack_qs8_gemm_goi_w
1102
+ k-block: 16
1103
+ unsigned-inputs: True
1104
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_9x8c8__avx256vnni_prfm
1105
+ init: xnn_init_f32_minmax_scalar_params
1106
+ pack: xnn_pack_qs8_gemm_goi_w
1107
+ k-block: 16
1108
+ unsigned-inputs: True
1109
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_10x8c8__avx256vnni_prfm
1110
+ init: xnn_init_f32_minmax_scalar_params
1111
+ pack: xnn_pack_qs8_gemm_goi_w
1112
+ k-block: 16
1113
+ unsigned-inputs: True
1114
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_12x8c8__avx256vnni_prfm
1115
+ init: xnn_init_f32_minmax_scalar_params
1116
+ pack: xnn_pack_qs8_gemm_goi_w
1117
+ k-block: 16
1118
+ unsigned-inputs: True
1119
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_14x8c8__avx256vnni_prfm
1120
+ init: xnn_init_f32_minmax_scalar_params
1121
+ pack: xnn_pack_qs8_gemm_goi_w
1122
+ k-block: 16
1123
+ unsigned-inputs: True
1124
+
1125
+ # AVXVNNI
1126
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avxvnni
1127
+ init: xnn_init_f32_minmax_scalar_params
1128
+ pack: xnn_pack_qs8_gemm_goi_w
1129
+ k-block: 16
1130
+ unsigned-inputs: True
1131
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__avxvnni
1132
+ init: xnn_init_f32_minmax_scalar_params
1133
+ pack: xnn_pack_qs8_gemm_goi_w
1134
+ k-block: 16
1135
+ unsigned-inputs: True
1136
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__avxvnni
1137
+ init: xnn_init_f32_minmax_scalar_params
1138
+ pack: xnn_pack_qs8_gemm_goi_w
1139
+ k-block: 16
1140
+ unsigned-inputs: True
1141
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__avxvnni
1142
+ init: xnn_init_f32_minmax_scalar_params
1143
+ pack: xnn_pack_qs8_gemm_goi_w
1144
+ k-block: 16
1145
+ unsigned-inputs: True
1146
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__avxvnni
1147
+ init: xnn_init_f32_minmax_scalar_params
1148
+ pack: xnn_pack_qs8_gemm_goi_w
1149
+ k-block: 16
1150
+ unsigned-inputs: True
1151
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c8__avxvnni
1152
+ init: xnn_init_f32_minmax_scalar_params
1153
+ pack: xnn_pack_qs8_gemm_goi_w
1154
+ k-block: 16
1155
+ unsigned-inputs: True
1156
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__avxvnni
1157
+ init: xnn_init_f32_minmax_scalar_params
1158
+ pack: xnn_pack_qs8_gemm_goi_w
1159
+ k-block: 16
1160
+ unsigned-inputs: True
1161
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__avxvnni
1162
+ init: xnn_init_f32_minmax_scalar_params
1163
+ pack: xnn_pack_qs8_gemm_goi_w
1164
+ k-block: 16
1165
+ unsigned-inputs: True
1166
+
1167
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__avxvnni_prfm
1168
+ init: xnn_init_f32_minmax_scalar_params
1169
+ pack: xnn_pack_qs8_gemm_goi_w
1170
+ k-block: 16
1171
+ unsigned-inputs: True
1172
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__avxvnni_prfm
1173
+ init: xnn_init_f32_minmax_scalar_params
1174
+ pack: xnn_pack_qs8_gemm_goi_w
1175
+ k-block: 16
1176
+ unsigned-inputs: True
1177
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__avxvnni_prfm
1178
+ init: xnn_init_f32_minmax_scalar_params
1179
+ pack: xnn_pack_qs8_gemm_goi_w
1180
+ k-block: 16
1181
+ unsigned-inputs: True
1182
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__avxvnni_prfm
1183
+ init: xnn_init_f32_minmax_scalar_params
1184
+ pack: xnn_pack_qs8_gemm_goi_w
1185
+ k-block: 16
1186
+ unsigned-inputs: True
1187
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c8__avxvnni_prfm
1188
+ init: xnn_init_f32_minmax_scalar_params
1189
+ pack: xnn_pack_qs8_gemm_goi_w
1190
+ k-block: 16
1191
+ unsigned-inputs: True
1192
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c8__avxvnni_prfm
1193
+ init: xnn_init_f32_minmax_scalar_params
1194
+ pack: xnn_pack_qs8_gemm_goi_w
1195
+ k-block: 16
1196
+ unsigned-inputs: True
1197
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c8__avxvnni_prfm
1198
+ init: xnn_init_f32_minmax_scalar_params
1199
+ pack: xnn_pack_qs8_gemm_goi_w
1200
+ k-block: 16
1201
+ unsigned-inputs: True
1202
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c8__avxvnni_prfm
1203
+ init: xnn_init_f32_minmax_scalar_params
1204
+ pack: xnn_pack_qs8_gemm_goi_w
1205
+ k-block: 16
1206
+ unsigned-inputs: True
1207
+
1208
+ # x86 AVXVNNI
1209
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__avxvnni_u2_acc2
1210
+ init: xnn_init_f32_minmax_scalar_params
1211
+ pack: xnn_pack_qs8_gemm_goi_w
1212
+ k-block: 16
1213
+ unsigned-inputs: True
1214
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__avxvnni_u2_acc2
1215
+ init: xnn_init_f32_minmax_scalar_params
1216
+ pack: xnn_pack_qs8_gemm_goi_w
1217
+ k-block: 16
1218
+ unsigned-inputs: True
1219
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__avxvnni_u2_acc2
1220
+ init: xnn_init_f32_minmax_scalar_params
1221
+ pack: xnn_pack_qs8_gemm_goi_w
1222
+ k-block: 16
1223
+ unsigned-inputs: True
1224
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__avxvnni_u2_acc2
1225
+ init: xnn_init_f32_minmax_scalar_params
1226
+ pack: xnn_pack_qs8_gemm_goi_w
1227
+ k-block: 16
1228
+ unsigned-inputs: True
1229
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__avxvnni_u2_acc2
1230
+ init: xnn_init_f32_minmax_scalar_params
1231
+ pack: xnn_pack_qs8_gemm_goi_w
1232
+ k-block: 16
1233
+ unsigned-inputs: True
1234
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__avxvnni_u2_acc2
1235
+ init: xnn_init_f32_minmax_scalar_params
1236
+ pack: xnn_pack_qs8_gemm_goi_w
1237
+ k-block: 16
1238
+ unsigned-inputs: True
1239
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c4__avxvnni_u2_acc2
1240
+ init: xnn_init_f32_minmax_scalar_params
1241
+ pack: xnn_pack_qs8_gemm_goi_w
1242
+ k-block: 16
1243
+ unsigned-inputs: True
1244
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c4__avxvnni_u2_acc2
1245
+ init: xnn_init_f32_minmax_scalar_params
1246
+ pack: xnn_pack_qs8_gemm_goi_w
1247
+ k-block: 16
1248
+ unsigned-inputs: True
1249
+
1250
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c4__avxvnni_u4_acc4
1251
+ init: xnn_init_f32_minmax_scalar_params
1252
+ pack: xnn_pack_qs8_gemm_goi_w
1253
+ k-block: 32
1254
+ unsigned-inputs: True
1255
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c4__avxvnni_u4_acc4
1256
+ init: xnn_init_f32_minmax_scalar_params
1257
+ pack: xnn_pack_qs8_gemm_goi_w
1258
+ k-block: 32
1259
+ unsigned-inputs: True
1260
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c4__avxvnni_u4_acc4
1261
+ init: xnn_init_f32_minmax_scalar_params
1262
+ pack: xnn_pack_qs8_gemm_goi_w
1263
+ k-block: 32
1264
+ unsigned-inputs: True
1265
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c4__avxvnni_u4_acc4
1266
+ init: xnn_init_f32_minmax_scalar_params
1267
+ pack: xnn_pack_qs8_gemm_goi_w
1268
+ k-block: 32
1269
+ unsigned-inputs: True
1270
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x8c4__avxvnni_u4_acc4
1271
+ init: xnn_init_f32_minmax_scalar_params
1272
+ pack: xnn_pack_qs8_gemm_goi_w
1273
+ k-block: 32
1274
+ unsigned-inputs: True
1275
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x8c4__avxvnni_u4_acc4
1276
+ init: xnn_init_f32_minmax_scalar_params
1277
+ pack: xnn_pack_qs8_gemm_goi_w
1278
+ k-block: 32
1279
+ unsigned-inputs: True
1280
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x8c4__avxvnni_u4_acc4
1281
+ init: xnn_init_f32_minmax_scalar_params
1282
+ pack: xnn_pack_qs8_gemm_goi_w
1283
+ k-block: 32
1284
+ unsigned-inputs: True
1285
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x8c4__avxvnni_u4_acc4
1286
+ init: xnn_init_f32_minmax_scalar_params
1287
+ pack: xnn_pack_qs8_gemm_goi_w
1288
+ k-block: 32
1289
+ unsigned-inputs: True
1290
+
1291
+ # RISC-V Vector
1292
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4v__rvv
1293
+ init: xnn_init_f32_minmax_scalar_params
1294
+ pack: xnn_pack_qs8_gemm_goi_w
1295
+ k-block: 1
1296
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4v__rvv
1297
+ init: xnn_init_f32_minmax_scalar_params
1298
+ pack: xnn_pack_qs8_gemm_goi_w
1299
+ k-block: 1
1300
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4v__rvv
1301
+ init: xnn_init_f32_minmax_scalar_params
1302
+ pack: xnn_pack_qs8_gemm_goi_w
1303
+ k-block: 1
1304
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4v__rvv
1305
+ init: xnn_init_f32_minmax_scalar_params
1306
+ pack: xnn_pack_qs8_gemm_goi_w
1307
+ k-block: 1
1308
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_5x4v__rvv
1309
+ init: xnn_init_f32_minmax_scalar_params
1310
+ pack: xnn_pack_qs8_gemm_goi_w
1311
+ k-block: 1
1312
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_6x4v__rvv
1313
+ init: xnn_init_f32_minmax_scalar_params
1314
+ pack: xnn_pack_qs8_gemm_goi_w
1315
+ k-block: 1
1316
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_7x4v__rvv
1317
+ init: xnn_init_f32_minmax_scalar_params
1318
+ pack: xnn_pack_qs8_gemm_goi_w
1319
+ k-block: 1
1320
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_8x4v__rvv
1321
+ init: xnn_init_f32_minmax_scalar_params
1322
+ pack: xnn_pack_qs8_gemm_goi_w
1323
+ k-block: 1
1324
+
1325
+ # WAsm SIMD
1326
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c2__wasmsimd_dot16x2_ld64
1327
+ init: xnn_init_f32_minmax_scalar_params
1328
+ pack: xnn_pack_qs8_gemm_goi_w
1329
+ k-block: 8
1330
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c2__wasmsimd_dot16x2_ld128
1331
+ init: xnn_init_f32_minmax_scalar_params
1332
+ pack: xnn_pack_qs8_gemm_goi_w
1333
+ k-block: 8
1334
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c2s4__wasmsimd_dot16x2_ld64
1335
+ init: xnn_init_f32_minmax_scalar_params
1336
+ pack: xnn_pack_qs8_gemm_goi_w
1337
+ k-block: 8
1338
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c2s4__wasmsimd_dot16x2_ld128
1339
+ init: xnn_init_f32_minmax_scalar_params
1340
+ pack: xnn_pack_qs8_gemm_goi_w
1341
+ k-block: 8
1342
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__wasmsimd_dot16x2_ld64
1343
+ init: xnn_init_f32_minmax_scalar_params
1344
+ pack: xnn_pack_qs8_gemm_goi_w
1345
+ k-block: 8
1346
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c8__wasmsimd_dot16x2_ld128
1347
+ init: xnn_init_f32_minmax_scalar_params
1348
+ pack: xnn_pack_qs8_gemm_goi_w
1349
+ k-block: 8
1350
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c2__wasmsimd_dot16x2_ld64
1351
+ init: xnn_init_f32_minmax_scalar_params
1352
+ pack: xnn_pack_qs8_gemm_goi_w
1353
+ k-block: 8
1354
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c2__wasmsimd_dot16x2_ld128
1355
+ init: xnn_init_f32_minmax_scalar_params
1356
+ pack: xnn_pack_qs8_gemm_goi_w
1357
+ k-block: 8
1358
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c2s4__wasmsimd_dot16x2_ld64
1359
+ init: xnn_init_f32_minmax_scalar_params
1360
+ pack: xnn_pack_qs8_gemm_goi_w
1361
+ k-block: 8
1362
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c2s4__wasmsimd_dot16x2_ld128
1363
+ init: xnn_init_f32_minmax_scalar_params
1364
+ pack: xnn_pack_qs8_gemm_goi_w
1365
+ k-block: 8
1366
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__wasmsimd_dot16x2_ld64
1367
+ init: xnn_init_f32_minmax_scalar_params
1368
+ pack: xnn_pack_qs8_gemm_goi_w
1369
+ k-block: 8
1370
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c8__wasmsimd_dot16x2_ld128
1371
+ init: xnn_init_f32_minmax_scalar_params
1372
+ pack: xnn_pack_qs8_gemm_goi_w
1373
+ k-block: 8
1374
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c2__wasmsimd_dot16x2_ld64
1375
+ init: xnn_init_f32_minmax_scalar_params
1376
+ pack: xnn_pack_qs8_gemm_goi_w
1377
+ k-block: 8
1378
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c2__wasmsimd_dot16x2_ld128
1379
+ init: xnn_init_f32_minmax_scalar_params
1380
+ pack: xnn_pack_qs8_gemm_goi_w
1381
+ k-block: 8
1382
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c2s4__wasmsimd_dot16x2_ld64
1383
+ init: xnn_init_f32_minmax_scalar_params
1384
+ pack: xnn_pack_qs8_gemm_goi_w
1385
+ k-block: 8
1386
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c2s4__wasmsimd_dot16x2_ld128
1387
+ init: xnn_init_f32_minmax_scalar_params
1388
+ pack: xnn_pack_qs8_gemm_goi_w
1389
+ k-block: 8
1390
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__wasmsimd_dot16x2_ld64
1391
+ init: xnn_init_f32_minmax_scalar_params
1392
+ pack: xnn_pack_qs8_gemm_goi_w
1393
+ k-block: 8
1394
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c8__wasmsimd_dot16x2_ld128
1395
+ init: xnn_init_f32_minmax_scalar_params
1396
+ pack: xnn_pack_qs8_gemm_goi_w
1397
+ k-block: 8
1398
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c2__wasmsimd_dot16x2_ld64
1399
+ init: xnn_init_f32_minmax_scalar_params
1400
+ pack: xnn_pack_qs8_gemm_goi_w
1401
+ k-block: 8
1402
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c2__wasmsimd_dot16x2_ld128
1403
+ init: xnn_init_f32_minmax_scalar_params
1404
+ pack: xnn_pack_qs8_gemm_goi_w
1405
+ k-block: 8
1406
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c2s4__wasmsimd_dot16x2_ld64
1407
+ init: xnn_init_f32_minmax_scalar_params
1408
+ pack: xnn_pack_qs8_gemm_goi_w
1409
+ k-block: 8
1410
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c2s4__wasmsimd_dot16x2_ld128
1411
+ init: xnn_init_f32_minmax_scalar_params
1412
+ pack: xnn_pack_qs8_gemm_goi_w
1413
+ k-block: 8
1414
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__wasmsimd_dot16x2_ld64
1415
+ init: xnn_init_f32_minmax_scalar_params
1416
+ pack: xnn_pack_qs8_gemm_goi_w
1417
+ k-block: 8
1418
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c8__wasmsimd_dot16x2_ld128
1419
+ init: xnn_init_f32_minmax_scalar_params
1420
+ pack: xnn_pack_qs8_gemm_goi_w
1421
+ k-block: 8
1422
+
1423
+ # WAsm Relaxed SIMD
1424
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c16__wasmsdot
1425
+ init: xnn_init_f32_minmax_scalar_params
1426
+ pack: xnn_pack_qs8_gemm_goi_w
1427
+ k-block: 16
1428
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4c16__wasmusdot
1429
+ init: xnn_init_f32_minmax_scalar_params
1430
+ pack: xnn_pack_qs8_gemm_goi_w
1431
+ k-block: 16
1432
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c16__wasmsdot
1433
+ init: xnn_init_f32_minmax_scalar_params
1434
+ pack: xnn_pack_qs8_gemm_goi_w
1435
+ k-block: 16
1436
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c16__wasmusdot
1437
+ init: xnn_init_f32_minmax_scalar_params
1438
+ pack: xnn_pack_qs8_gemm_goi_w
1439
+ k-block: 16
1440
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c16__wasmsdot
1441
+ init: xnn_init_f32_minmax_scalar_params
1442
+ pack: xnn_pack_qs8_gemm_goi_w
1443
+ k-block: 16
1444
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4c16__wasmusdot
1445
+ init: xnn_init_f32_minmax_scalar_params
1446
+ pack: xnn_pack_qs8_gemm_goi_w
1447
+ k-block: 16
1448
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c16__wasmsdot
1449
+ init: xnn_init_f32_minmax_scalar_params
1450
+ pack: xnn_pack_qs8_gemm_goi_w
1451
+ k-block: 16
1452
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c16__wasmusdot
1453
+ init: xnn_init_f32_minmax_scalar_params
1454
+ pack: xnn_pack_qs8_gemm_goi_w
1455
+ k-block: 16
1456
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c16__wasmsdot
1457
+ init: xnn_init_f32_minmax_scalar_params
1458
+ pack: xnn_pack_qs8_gemm_goi_w
1459
+ k-block: 16
1460
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x4c16__wasmusdot
1461
+ init: xnn_init_f32_minmax_scalar_params
1462
+ pack: xnn_pack_qs8_gemm_goi_w
1463
+ k-block: 16
1464
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c16__wasmsdot
1465
+ init: xnn_init_f32_minmax_scalar_params
1466
+ pack: xnn_pack_qs8_gemm_goi_w
1467
+ k-block: 16
1468
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c16__wasmusdot
1469
+ init: xnn_init_f32_minmax_scalar_params
1470
+ pack: xnn_pack_qs8_gemm_goi_w
1471
+ k-block: 16
1472
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c16__wasmsdot
1473
+ init: xnn_init_f32_minmax_scalar_params
1474
+ pack: xnn_pack_qs8_gemm_goi_w
1475
+ k-block: 16
1476
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4c16__wasmusdot
1477
+ init: xnn_init_f32_minmax_scalar_params
1478
+ pack: xnn_pack_qs8_gemm_goi_w
1479
+ k-block: 16
1480
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c16__wasmsdot
1481
+ init: xnn_init_f32_minmax_scalar_params
1482
+ pack: xnn_pack_qs8_gemm_goi_w
1483
+ k-block: 16
1484
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c16__wasmusdot
1485
+ init: xnn_init_f32_minmax_scalar_params
1486
+ pack: xnn_pack_qs8_gemm_goi_w
1487
+ k-block: 16
1488
+
1489
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__wasmusdot
1490
+ init: xnn_init_f32_minmax_scalar_params
1491
+ pack: xnn_pack_qs8_gemm_goi_w
1492
+ k-block: 8
1493
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__wasmusdot_u2
1494
+ init: xnn_init_f32_minmax_scalar_params
1495
+ pack: xnn_pack_qs8_gemm_goi_w
1496
+ k-block: 8
1497
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__wasmusdot
1498
+ init: xnn_init_f32_minmax_scalar_params
1499
+ pack: xnn_pack_qs8_gemm_goi_w
1500
+ k-block: 8
1501
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__wasmusdot_u2
1502
+ init: xnn_init_f32_minmax_scalar_params
1503
+ pack: xnn_pack_qs8_gemm_goi_w
1504
+ k-block: 8
1505
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__wasmusdot
1506
+ init: xnn_init_f32_minmax_scalar_params
1507
+ pack: xnn_pack_qs8_gemm_goi_w
1508
+ k-block: 8
1509
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__wasmusdot_u2
1510
+ init: xnn_init_f32_minmax_scalar_params
1511
+ pack: xnn_pack_qs8_gemm_goi_w
1512
+ k-block: 8
1513
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__wasmusdot
1514
+ init: xnn_init_f32_minmax_scalar_params
1515
+ pack: xnn_pack_qs8_gemm_goi_w
1516
+ k-block: 8
1517
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__wasmusdot_u2
1518
+ init: xnn_init_f32_minmax_scalar_params
1519
+ pack: xnn_pack_qs8_gemm_goi_w
1520
+ k-block: 8
1521
+
1522
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__wasmsdot
1523
+ init: xnn_init_f32_minmax_scalar_params
1524
+ pack: xnn_pack_qs8_gemm_goi_w
1525
+ k-block: 8
1526
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8c8__wasmsdot_u2
1527
+ init: xnn_init_f32_minmax_scalar_params
1528
+ pack: xnn_pack_qs8_gemm_goi_w
1529
+ k-block: 8
1530
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__wasmsdot
1531
+ init: xnn_init_f32_minmax_scalar_params
1532
+ pack: xnn_pack_qs8_gemm_goi_w
1533
+ k-block: 8
1534
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8c8__wasmsdot_u2
1535
+ init: xnn_init_f32_minmax_scalar_params
1536
+ pack: xnn_pack_qs8_gemm_goi_w
1537
+ k-block: 8
1538
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__wasmsdot
1539
+ init: xnn_init_f32_minmax_scalar_params
1540
+ pack: xnn_pack_qs8_gemm_goi_w
1541
+ k-block: 8
1542
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_3x8c8__wasmsdot_u2
1543
+ init: xnn_init_f32_minmax_scalar_params
1544
+ pack: xnn_pack_qs8_gemm_goi_w
1545
+ k-block: 8
1546
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__wasmsdot
1547
+ init: xnn_init_f32_minmax_scalar_params
1548
+ pack: xnn_pack_qs8_gemm_goi_w
1549
+ k-block: 8
1550
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x8c8__wasmsdot_u2
1551
+ init: xnn_init_f32_minmax_scalar_params
1552
+ pack: xnn_pack_qs8_gemm_goi_w
1553
+ k-block: 8
1554
+
1555
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__wasmusdot
1556
+ init: xnn_init_f32_minmax_scalar_params
1557
+ pack: xnn_pack_qs8_gemm_goi_w
1558
+ k-block: 8
1559
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x16c4__wasmusdot_u2
1560
+ init: xnn_init_f32_minmax_scalar_params
1561
+ pack: xnn_pack_qs8_gemm_goi_w
1562
+ k-block: 8
1563
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__wasmusdot
1564
+ init: xnn_init_f32_minmax_scalar_params
1565
+ pack: xnn_pack_qs8_gemm_goi_w
1566
+ k-block: 8
1567
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x16c4__wasmusdot_u2
1568
+ init: xnn_init_f32_minmax_scalar_params
1569
+ pack: xnn_pack_qs8_gemm_goi_w
1570
+ k-block: 8
1571
+
1572
+ # Scalar
1573
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x2__scalar
1574
+ init: xnn_init_f32_minmax_scalar_params
1575
+ pack: xnn_pack_qs8_gemm_goi_w
1576
+ k-block: 1
1577
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x4__scalar
1578
+ init: xnn_init_f32_minmax_scalar_params
1579
+ pack: xnn_pack_qs8_gemm_goi_w
1580
+ k-block: 1
1581
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_1x8__scalar
1582
+ init: xnn_init_f32_minmax_scalar_params
1583
+ pack: xnn_pack_qs8_gemm_goi_w
1584
+ k-block: 1
1585
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x2__scalar
1586
+ init: xnn_init_f32_minmax_scalar_params
1587
+ pack: xnn_pack_qs8_gemm_goi_w
1588
+ k-block: 1
1589
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x4__scalar
1590
+ init: xnn_init_f32_minmax_scalar_params
1591
+ pack: xnn_pack_qs8_gemm_goi_w
1592
+ k-block: 1
1593
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_2x8__scalar
1594
+ init: xnn_init_f32_minmax_scalar_params
1595
+ pack: xnn_pack_qs8_gemm_goi_w
1596
+ k-block: 1
1597
+ - name: xnn_qd8_f32_qc8w_gemm_minmax_ukernel_4x4__scalar
1598
+ init: xnn_init_f32_minmax_scalar_params
1599
+ pack: xnn_pack_qs8_gemm_goi_w
1600
+ k-block: 1