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,1584 @@
1
+ # Copyright 2019 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
+ # AArch32 assembly
7
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch32_neon_cortex_a53
8
+ init: xnn_init_f32_minmax_scalar_params
9
+ pack: xnn_pack_f32_gemm_goi_w
10
+ k-block: 2
11
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch32_neon_cortex_a53_prfm
12
+ init: xnn_init_f32_minmax_scalar_params
13
+ pack: xnn_pack_f32_gemm_goi_w
14
+ k-block: 2
15
+ - name: xnn_f32_gemm_minmax_ukernel_4x4__asm_aarch32_vfp_ld64
16
+ init: xnn_init_f32_minmax_scalar_params
17
+ pack: xnn_pack_f32_gemm_goi_w
18
+ k-block: 2
19
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a7
20
+ init: xnn_init_f32_minmax_scalar_params
21
+ pack: xnn_pack_f32_gemm_goi_w
22
+ k-block: 2
23
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a53
24
+ init: xnn_init_f32_minmax_scalar_params
25
+ pack: xnn_pack_f32_gemm_goi_w
26
+ k-block: 4
27
+ pipelined: true
28
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a53_prfm
29
+ init: xnn_init_f32_minmax_scalar_params
30
+ pack: xnn_pack_f32_gemm_goi_w
31
+ k-block: 4
32
+ pipelined: true
33
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a55
34
+ init: xnn_init_f32_minmax_scalar_params
35
+ pack: xnn_pack_f32_gemm_goi_w
36
+ k-block: 4
37
+ pipelined: true
38
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a75
39
+ init: xnn_init_f32_minmax_scalar_params
40
+ pack: xnn_pack_f32_gemm_goi_w
41
+ k-block: 4
42
+ pipelined: true
43
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_cortex_a75_prfm
44
+ init: xnn_init_f32_minmax_scalar_params
45
+ pack: xnn_pack_f32_gemm_goi_w
46
+ k-block: 4
47
+ pipelined: true
48
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch32_neon_ld64
49
+ init: xnn_init_f32_minmax_scalar_params
50
+ pack: xnn_pack_f32_gemm_goi_w
51
+ k-block: 2
52
+ # AArch64 assembly
53
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neon_ld128_acc2
54
+ init: xnn_init_f32_minmax_scalar_params
55
+ pack: xnn_pack_f32_gemm_goi_w
56
+ k-block: 4
57
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neon_ld128_acc2_prfm
58
+ init: xnn_init_f32_minmax_scalar_params
59
+ pack: xnn_pack_f32_gemm_goi_w
60
+ k-block: 4
61
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_cortex_a53
62
+ init: xnn_init_f32_minmax_scalar_params
63
+ pack: xnn_pack_f32_gemm_goi_w
64
+ k-block: 8
65
+ pipelined: true
66
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_cortex_a53_prfm
67
+ init: xnn_init_f32_minmax_scalar_params
68
+ pack: xnn_pack_f32_gemm_goi_w
69
+ k-block: 8
70
+ pipelined: true
71
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_cortex_a75
72
+ init: xnn_init_f32_minmax_scalar_params
73
+ pack: xnn_pack_f32_gemm_goi_w
74
+ k-block: 8
75
+ pipelined: true
76
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_cortex_a75_prfm
77
+ init: xnn_init_f32_minmax_scalar_params
78
+ pack: xnn_pack_f32_gemm_goi_w
79
+ k-block: 8
80
+ pipelined: true
81
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64
82
+ init: xnn_init_f32_minmax_scalar_params
83
+ pack: xnn_pack_f32_gemm_goi_w
84
+ k-block: 2
85
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_acc2
86
+ init: xnn_init_f32_minmax_scalar_params
87
+ pack: xnn_pack_f32_gemm_goi_w
88
+ k-block: 2
89
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_acc2_prfm
90
+ init: xnn_init_f32_minmax_scalar_params
91
+ pack: xnn_pack_f32_gemm_goi_w
92
+ k-block: 2
93
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_acc4
94
+ init: xnn_init_f32_minmax_scalar_params
95
+ pack: xnn_pack_f32_gemm_goi_w
96
+ k-block: 4
97
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_acc4_prfm
98
+ init: xnn_init_f32_minmax_scalar_params
99
+ pack: xnn_pack_f32_gemm_goi_w
100
+ k-block: 4
101
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_prfm
102
+ init: xnn_init_f32_minmax_scalar_params
103
+ pack: xnn_pack_f32_gemm_goi_w
104
+ k-block: 2
105
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128
106
+ init: xnn_init_f32_minmax_scalar_params
107
+ pack: xnn_pack_f32_gemm_goi_w
108
+ k-block: 4
109
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_acc2
110
+ init: xnn_init_f32_minmax_scalar_params
111
+ pack: xnn_pack_f32_gemm_goi_w
112
+ k-block: 4
113
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_acc2_prfm
114
+ init: xnn_init_f32_minmax_scalar_params
115
+ pack: xnn_pack_f32_gemm_goi_w
116
+ k-block: 4
117
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_acc4
118
+ init: xnn_init_f32_minmax_scalar_params
119
+ pack: xnn_pack_f32_gemm_goi_w
120
+ k-block: 4
121
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_acc4_prfm
122
+ init: xnn_init_f32_minmax_scalar_params
123
+ pack: xnn_pack_f32_gemm_goi_w
124
+ k-block: 4
125
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_prfm
126
+ init: xnn_init_f32_minmax_scalar_params
127
+ pack: xnn_pack_f32_gemm_goi_w
128
+ k-block: 4
129
+ - name: xnn_f32_gemm_minmax_ukernel_1x12__asm_aarch64_neonfma_cortex_a53
130
+ init: xnn_init_f32_minmax_scalar_params
131
+ pack: xnn_pack_f32_gemm_goi_w
132
+ k-block: 4
133
+ pipelined: true
134
+ - name: xnn_f32_gemm_minmax_ukernel_4x1__asm_aarch64_neonfma_ld64
135
+ init: xnn_init_f32_minmax_scalar_params
136
+ pack: xnn_pack_f32_gemm_goi_w
137
+ k-block: 2
138
+ - name: xnn_f32_gemm_minmax_ukernel_4x1__asm_aarch64_neonfma_ld128
139
+ init: xnn_init_f32_minmax_scalar_params
140
+ pack: xnn_pack_f32_gemm_goi_w
141
+ k-block: 4
142
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__asm_aarch64_neonfma_cortex_a75
143
+ init: xnn_init_f32_minmax_scalar_params
144
+ pack: xnn_pack_f32_gemm_goi_w
145
+ k-block: 8
146
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__asm_aarch64_neonfma_cortex_a75_prfm
147
+ init: xnn_init_f32_minmax_scalar_params
148
+ pack: xnn_pack_f32_gemm_goi_w
149
+ k-block: 8
150
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__asm_aarch64_neonfma_ld64
151
+ init: xnn_init_f32_minmax_scalar_params
152
+ pack: xnn_pack_f32_gemm_goi_w
153
+ k-block: 2
154
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__asm_aarch64_neonfma_ld128
155
+ init: xnn_init_f32_minmax_scalar_params
156
+ pack: xnn_pack_f32_gemm_goi_w
157
+ k-block: 4
158
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_cortex_a53
159
+ init: xnn_init_f32_minmax_scalar_params
160
+ pack: xnn_pack_f32_gemm_goi_w
161
+ k-block: 4
162
+ pipelined: true
163
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_cortex_a53_prfm
164
+ init: xnn_init_f32_minmax_scalar_params
165
+ pack: xnn_pack_f32_gemm_goi_w
166
+ k-block: 4
167
+ pipelined: true
168
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_cortex_a55
169
+ init: xnn_init_f32_minmax_scalar_params
170
+ pack: xnn_pack_f32_gemm_goi_w
171
+ k-block: 4
172
+ pipelined: true
173
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_cortex_a75
174
+ init: xnn_init_f32_minmax_scalar_params
175
+ pack: xnn_pack_f32_gemm_goi_w
176
+ k-block: 8
177
+ pipelined: true
178
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_cortex_a75_prfm
179
+ init: xnn_init_f32_minmax_scalar_params
180
+ pack: xnn_pack_f32_gemm_goi_w
181
+ k-block: 8
182
+ pipelined: true
183
+
184
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld32_2
185
+ init: xnn_init_f32_minmax_scalar_params
186
+ pack: xnn_pack_f32_gemm_goi_w
187
+ k-block: 1
188
+ - name: xnn_f32_gemm_minmax_ukernel_2x8__asm_aarch64_neonfma_ld32_2
189
+ init: xnn_init_f32_minmax_scalar_params
190
+ pack: xnn_pack_f32_gemm_goi_w
191
+ k-block: 1
192
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__asm_aarch64_neonfma_ld32_2
193
+ init: xnn_init_f32_minmax_scalar_params
194
+ pack: xnn_pack_f32_gemm_goi_w
195
+ k-block: 1
196
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_ld32_2
197
+ init: xnn_init_f32_minmax_scalar_params
198
+ pack: xnn_pack_f32_gemm_goi_w
199
+ k-block: 1
200
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_aarch64_neonfma_ld32_2
201
+ init: xnn_init_f32_minmax_scalar_params
202
+ pack: xnn_pack_f32_gemm_goi_w
203
+ k-block: 1
204
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_ld32_2
205
+ init: xnn_init_f32_minmax_scalar_params
206
+ pack: xnn_pack_f32_gemm_goi_w
207
+ k-block: 1
208
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__asm_aarch64_neonfma_ld32_2
209
+ init: xnn_init_f32_minmax_scalar_params
210
+ pack: xnn_pack_f32_gemm_goi_w
211
+ k-block: 1
212
+ - name: xnn_f32_gemm_minmax_ukernel_8x8__asm_aarch64_neonfma_ld32_2
213
+ init: xnn_init_f32_minmax_scalar_params
214
+ pack: xnn_pack_f32_gemm_goi_w
215
+ k-block: 1
216
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld64_2
217
+ init: xnn_init_f32_minmax_scalar_params
218
+ pack: xnn_pack_f32_gemm_goi_w
219
+ k-block: 1
220
+ - name: xnn_f32_gemm_minmax_ukernel_2x8__asm_aarch64_neonfma_ld64_2
221
+ init: xnn_init_f32_minmax_scalar_params
222
+ pack: xnn_pack_f32_gemm_goi_w
223
+ k-block: 1
224
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__asm_aarch64_neonfma_ld64_2
225
+ init: xnn_init_f32_minmax_scalar_params
226
+ pack: xnn_pack_f32_gemm_goi_w
227
+ k-block: 1
228
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_ld64_2
229
+ init: xnn_init_f32_minmax_scalar_params
230
+ pack: xnn_pack_f32_gemm_goi_w
231
+ k-block: 1
232
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_aarch64_neonfma_ld64_2
233
+ init: xnn_init_f32_minmax_scalar_params
234
+ pack: xnn_pack_f32_gemm_goi_w
235
+ k-block: 1
236
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_ld64_2
237
+ init: xnn_init_f32_minmax_scalar_params
238
+ pack: xnn_pack_f32_gemm_goi_w
239
+ k-block: 1
240
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__asm_aarch64_neonfma_ld64_2
241
+ init: xnn_init_f32_minmax_scalar_params
242
+ pack: xnn_pack_f32_gemm_goi_w
243
+ k-block: 1
244
+ - name: xnn_f32_gemm_minmax_ukernel_8x8__asm_aarch64_neonfma_ld64_2
245
+ init: xnn_init_f32_minmax_scalar_params
246
+ pack: xnn_pack_f32_gemm_goi_w
247
+ k-block: 1
248
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_aarch64_neonfma_ld128_2
249
+ init: xnn_init_f32_minmax_scalar_params
250
+ pack: xnn_pack_f32_gemm_goi_w
251
+ k-block: 1
252
+ - name: xnn_f32_gemm_minmax_ukernel_2x8__asm_aarch64_neonfma_ld128_2
253
+ init: xnn_init_f32_minmax_scalar_params
254
+ pack: xnn_pack_f32_gemm_goi_w
255
+ k-block: 1
256
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__asm_aarch64_neonfma_ld128_2
257
+ init: xnn_init_f32_minmax_scalar_params
258
+ pack: xnn_pack_f32_gemm_goi_w
259
+ k-block: 1
260
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_ld128_2
261
+ init: xnn_init_f32_minmax_scalar_params
262
+ pack: xnn_pack_f32_gemm_goi_w
263
+ k-block: 1
264
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_aarch64_neonfma_ld128_2
265
+ init: xnn_init_f32_minmax_scalar_params
266
+ pack: xnn_pack_f32_gemm_goi_w
267
+ k-block: 1
268
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_ld128_2
269
+ init: xnn_init_f32_minmax_scalar_params
270
+ pack: xnn_pack_f32_gemm_goi_w
271
+ k-block: 1
272
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__asm_aarch64_neonfma_ld128_2
273
+ init: xnn_init_f32_minmax_scalar_params
274
+ pack: xnn_pack_f32_gemm_goi_w
275
+ k-block: 1
276
+ - name: xnn_f32_gemm_minmax_ukernel_8x8__asm_aarch64_neonfma_ld128_2
277
+ init: xnn_init_f32_minmax_scalar_params
278
+ pack: xnn_pack_f32_gemm_goi_w
279
+ k-block: 1
280
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__asm_aarch64_neonfma_ld32_2
281
+ init: xnn_init_f32_minmax_scalar_params
282
+ pack: xnn_pack_f32_gemm_goi_w
283
+ k-block: 1
284
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__asm_aarch64_neonfma_ld32_2
285
+ init: xnn_init_f32_minmax_scalar_params
286
+ pack: xnn_pack_f32_gemm_goi_w
287
+ k-block: 1
288
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__asm_aarch64_neonfma_ld32_2
289
+ init: xnn_init_f32_minmax_scalar_params
290
+ pack: xnn_pack_f32_gemm_goi_w
291
+ k-block: 1
292
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__asm_aarch64_neonfma_ld32_2
293
+ init: xnn_init_f32_minmax_scalar_params
294
+ pack: xnn_pack_f32_gemm_goi_w
295
+ k-block: 1
296
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__asm_aarch64_neonfma_ld32_2
297
+ init: xnn_init_f32_minmax_scalar_params
298
+ pack: xnn_pack_f32_gemm_goi_w
299
+ k-block: 1
300
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__asm_aarch64_neonfma_ld64_2
301
+ init: xnn_init_f32_minmax_scalar_params
302
+ pack: xnn_pack_f32_gemm_goi_w
303
+ k-block: 1
304
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__asm_aarch64_neonfma_ld64_2
305
+ init: xnn_init_f32_minmax_scalar_params
306
+ pack: xnn_pack_f32_gemm_goi_w
307
+ k-block: 1
308
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__asm_aarch64_neonfma_ld64_2
309
+ init: xnn_init_f32_minmax_scalar_params
310
+ pack: xnn_pack_f32_gemm_goi_w
311
+ k-block: 1
312
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__asm_aarch64_neonfma_ld64_2
313
+ init: xnn_init_f32_minmax_scalar_params
314
+ pack: xnn_pack_f32_gemm_goi_w
315
+ k-block: 1
316
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__asm_aarch64_neonfma_ld64_2
317
+ init: xnn_init_f32_minmax_scalar_params
318
+ pack: xnn_pack_f32_gemm_goi_w
319
+ k-block: 1
320
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__asm_aarch64_neonfma_ld128_2
321
+ init: xnn_init_f32_minmax_scalar_params
322
+ pack: xnn_pack_f32_gemm_goi_w
323
+ k-block: 1
324
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__asm_aarch64_neonfma_ld128_2
325
+ init: xnn_init_f32_minmax_scalar_params
326
+ pack: xnn_pack_f32_gemm_goi_w
327
+ k-block: 1
328
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__asm_aarch64_neonfma_ld128_2
329
+ init: xnn_init_f32_minmax_scalar_params
330
+ pack: xnn_pack_f32_gemm_goi_w
331
+ k-block: 1
332
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__asm_aarch64_neonfma_ld128_2
333
+ init: xnn_init_f32_minmax_scalar_params
334
+ pack: xnn_pack_f32_gemm_goi_w
335
+ k-block: 1
336
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__asm_aarch64_neonfma_ld128_2
337
+ init: xnn_init_f32_minmax_scalar_params
338
+ pack: xnn_pack_f32_gemm_goi_w
339
+ k-block: 1
340
+
341
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_ld64
342
+ init: xnn_init_f32_minmax_scalar_params
343
+ pack: xnn_pack_f32_gemm_goi_w
344
+ k-block: 2
345
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_aarch64_neonfma_ld128
346
+ init: xnn_init_f32_minmax_scalar_params
347
+ pack: xnn_pack_f32_gemm_goi_w
348
+ k-block: 4
349
+ - name: xnn_f32_gemm_minmax_ukernel_4x12__asm_aarch64_neonfma_cortex_a53
350
+ init: xnn_init_f32_minmax_scalar_params
351
+ pack: xnn_pack_f32_gemm_goi_w
352
+ k-block: 4
353
+ pipelined: true
354
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_aarch64_neonfma_cortex_a75
355
+ init: xnn_init_f32_minmax_scalar_params
356
+ pack: xnn_pack_f32_gemm_goi_w
357
+ k-block: 8
358
+ pipelined: true
359
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_aarch64_neonfma_cortex_a75_prfm
360
+ init: xnn_init_f32_minmax_scalar_params
361
+ pack: xnn_pack_f32_gemm_goi_w
362
+ k-block: 8
363
+ pipelined: true
364
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a53
365
+ init: xnn_init_f32_minmax_scalar_params
366
+ pack: xnn_pack_f32_gemm_goi_w
367
+ k-block: 4
368
+ pipelined: true
369
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a53_prfm
370
+ init: xnn_init_f32_minmax_scalar_params
371
+ pack: xnn_pack_f32_gemm_goi_w
372
+ k-block: 4
373
+ pipelined: true
374
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a55
375
+ init: xnn_init_f32_minmax_scalar_params
376
+ pack: xnn_pack_f32_gemm_goi_w
377
+ k-block: 4
378
+ pipelined: true
379
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a73
380
+ init: xnn_init_f32_minmax_scalar_params
381
+ pack: xnn_pack_f32_gemm_goi_w
382
+ k-block: 8
383
+ pipelined: true
384
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a75
385
+ init: xnn_init_f32_minmax_scalar_params
386
+ pack: xnn_pack_f32_gemm_goi_w
387
+ k-block: 8
388
+ pipelined: true
389
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_cortex_a75_prfm
390
+ init: xnn_init_f32_minmax_scalar_params
391
+ pack: xnn_pack_f32_gemm_goi_w
392
+ k-block: 8
393
+ pipelined: true
394
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_ld64
395
+ init: xnn_init_f32_minmax_scalar_params
396
+ pack: xnn_pack_f32_gemm_goi_w
397
+ k-block: 2
398
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_aarch64_neonfma_ld128
399
+ init: xnn_init_f32_minmax_scalar_params
400
+ pack: xnn_pack_f32_gemm_goi_w
401
+ k-block: 4
402
+
403
+ # ARM NEON
404
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__neon_lane_ld128
405
+ init: xnn_init_f32_minmax_scalar_params
406
+ pack: xnn_pack_f32_gemm_goi_w
407
+ k-block: 4
408
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__neon_lane_ld128
409
+ init: xnn_init_f32_minmax_scalar_params
410
+ pack: xnn_pack_f32_gemm_goi_w
411
+ k-block: 4
412
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__neon_lane_ld128
413
+ init: xnn_init_f32_minmax_scalar_params
414
+ pack: xnn_pack_f32_gemm_goi_w
415
+ k-block: 4
416
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__neon_lane_ld128
417
+ init: xnn_init_f32_minmax_scalar_params
418
+ pack: xnn_pack_f32_gemm_goi_w
419
+ k-block: 4
420
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__neon_lane_ld128
421
+ init: xnn_init_f32_minmax_scalar_params
422
+ pack: xnn_pack_f32_gemm_goi_w
423
+ k-block: 4
424
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__neon_lane_ld128
425
+ init: xnn_init_f32_minmax_scalar_params
426
+ pack: xnn_pack_f32_gemm_goi_w
427
+ k-block: 4
428
+
429
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__aarch64_neonfma_lane_ld128
430
+ init: xnn_init_f32_minmax_scalar_params
431
+ pack: xnn_pack_f32_gemm_goi_w
432
+ k-block: 4
433
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__aarch64_neonfma_lane_ld128
434
+ init: xnn_init_f32_minmax_scalar_params
435
+ pack: xnn_pack_f32_gemm_goi_w
436
+ k-block: 4
437
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__aarch64_neonfma_lane_ld128
438
+ init: xnn_init_f32_minmax_scalar_params
439
+ pack: xnn_pack_f32_gemm_goi_w
440
+ k-block: 4
441
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__aarch64_neonfma_lane_ld128
442
+ init: xnn_init_f32_minmax_scalar_params
443
+ pack: xnn_pack_f32_gemm_goi_w
444
+ k-block: 4
445
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__aarch64_neonfma_lane_ld128
446
+ init: xnn_init_f32_minmax_scalar_params
447
+ pack: xnn_pack_f32_gemm_goi_w
448
+ k-block: 4
449
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__aarch64_neonfma_lane_ld128
450
+ init: xnn_init_f32_minmax_scalar_params
451
+ pack: xnn_pack_f32_gemm_goi_w
452
+ k-block: 4
453
+
454
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__neon_lane_ld128
455
+ init: xnn_init_f32_minmax_scalar_params
456
+ pack: xnn_pack_f32_gemm_goi_w
457
+ k-block: 4
458
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_lane_ld128
459
+ init: xnn_init_f32_minmax_scalar_params
460
+ pack: xnn_pack_f32_gemm_goi_w
461
+ k-block: 4
462
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_lane_ld128
463
+ init: xnn_init_f32_minmax_scalar_params
464
+ pack: xnn_pack_f32_gemm_goi_w
465
+ k-block: 4
466
+
467
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_lane_ld128
468
+ init: xnn_init_f32_minmax_scalar_params
469
+ pack: xnn_pack_f32_gemm_goi_w
470
+ k-block: 4
471
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_lane_ld128
472
+ init: xnn_init_f32_minmax_scalar_params
473
+ pack: xnn_pack_f32_gemm_goi_w
474
+ k-block: 4
475
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_lane_ld128
476
+ init: xnn_init_f32_minmax_scalar_params
477
+ pack: xnn_pack_f32_gemm_goi_w
478
+ k-block: 4
479
+
480
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__aarch64_neonfma_lane_ld64
481
+ init: xnn_init_f32_minmax_scalar_params
482
+ pack: xnn_pack_f32_gemm_goi_w
483
+ k-block: 2
484
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__neon_dup_ld64
485
+ init: xnn_init_f32_minmax_scalar_params
486
+ pack: xnn_pack_f32_gemm_goi_w
487
+ k-block: 2
488
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__neon_lane_ld64
489
+ init: xnn_init_f32_minmax_scalar_params
490
+ pack: xnn_pack_f32_gemm_goi_w
491
+ k-block: 2
492
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__neonfma_dup_ld64
493
+ init: xnn_init_f32_minmax_scalar_params
494
+ pack: xnn_pack_f32_gemm_goi_w
495
+ k-block: 2
496
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__neon
497
+ init: xnn_init_f32_minmax_scalar_params
498
+ pack: xnn_pack_f32_gemm_goi_w
499
+ k-block: 4
500
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__neonfma
501
+ init: xnn_init_f32_minmax_scalar_params
502
+ pack: xnn_pack_f32_gemm_goi_w
503
+ k-block: 4
504
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__aarch64_neonfma_lane_ld64
505
+ init: xnn_init_f32_minmax_scalar_params
506
+ pack: xnn_pack_f32_gemm_goi_w
507
+ k-block: 2
508
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__neon_lane_ld64
509
+ init: xnn_init_f32_minmax_scalar_params
510
+ pack: xnn_pack_f32_gemm_goi_w
511
+ k-block: 2
512
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__aarch64_neonfma_lane_ld64
513
+ init: xnn_init_f32_minmax_scalar_params
514
+ pack: xnn_pack_f32_gemm_goi_w
515
+ k-block: 2
516
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_dup_ld64
517
+ init: xnn_init_f32_minmax_scalar_params
518
+ pack: xnn_pack_f32_gemm_goi_w
519
+ k-block: 2
520
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_dup_ld128
521
+ init: xnn_init_f32_minmax_scalar_params
522
+ pack: xnn_pack_f32_gemm_goi_w
523
+ k-block: 4
524
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neon_lane_ld64
525
+ init: xnn_init_f32_minmax_scalar_params
526
+ pack: xnn_pack_f32_gemm_goi_w
527
+ k-block: 2
528
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_dup_ld64
529
+ init: xnn_init_f32_minmax_scalar_params
530
+ pack: xnn_pack_f32_gemm_goi_w
531
+ k-block: 2
532
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__neonfma_dup_ld128
533
+ init: xnn_init_f32_minmax_scalar_params
534
+ pack: xnn_pack_f32_gemm_goi_w
535
+ k-block: 4
536
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__neon
537
+ init: xnn_init_f32_minmax_scalar_params
538
+ pack: xnn_pack_f32_gemm_goi_w
539
+ k-block: 4
540
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__neonfma
541
+ init: xnn_init_f32_minmax_scalar_params
542
+ pack: xnn_pack_f32_gemm_goi_w
543
+ k-block: 4
544
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__aarch64_neonfma_lane_ld64
545
+ init: xnn_init_f32_minmax_scalar_params
546
+ pack: xnn_pack_f32_gemm_goi_w
547
+ k-block: 2
548
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__neon_lane_ld64
549
+ init: xnn_init_f32_minmax_scalar_params
550
+ pack: xnn_pack_f32_gemm_goi_w
551
+ k-block: 2
552
+ - name: xnn_f32_gemm_minmax_ukernel_6x2__aarch64_neonfma_lane_ld64
553
+ init: xnn_init_f32_minmax_scalar_params
554
+ pack: xnn_pack_f32_gemm_goi_w
555
+ k-block: 2
556
+ - name: xnn_f32_gemm_minmax_ukernel_6x2__neon_lane_ld64
557
+ init: xnn_init_f32_minmax_scalar_params
558
+ pack: xnn_pack_f32_gemm_goi_w
559
+ k-block: 2
560
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__aarch64_neonfma_lane_ld64
561
+ init: xnn_init_f32_minmax_scalar_params
562
+ pack: xnn_pack_f32_gemm_goi_w
563
+ k-block: 2
564
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_dup_ld64
565
+ init: xnn_init_f32_minmax_scalar_params
566
+ pack: xnn_pack_f32_gemm_goi_w
567
+ k-block: 2
568
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_dup_ld128
569
+ init: xnn_init_f32_minmax_scalar_params
570
+ pack: xnn_pack_f32_gemm_goi_w
571
+ k-block: 4
572
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neon_lane_ld64
573
+ init: xnn_init_f32_minmax_scalar_params
574
+ pack: xnn_pack_f32_gemm_goi_w
575
+ k-block: 2
576
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_dup_ld64
577
+ init: xnn_init_f32_minmax_scalar_params
578
+ pack: xnn_pack_f32_gemm_goi_w
579
+ k-block: 2
580
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__neonfma_dup_ld128
581
+ init: xnn_init_f32_minmax_scalar_params
582
+ pack: xnn_pack_f32_gemm_goi_w
583
+ k-block: 4
584
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__neon
585
+ init: xnn_init_f32_minmax_scalar_params
586
+ pack: xnn_pack_f32_gemm_goi_w
587
+ k-block: 4
588
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__neonfma
589
+ init: xnn_init_f32_minmax_scalar_params
590
+ pack: xnn_pack_f32_gemm_goi_w
591
+ k-block: 4
592
+ - name: xnn_f32_gemm_minmax_ukernel_8x8s4__neon
593
+ init: xnn_init_f32_minmax_scalar_params
594
+ pack: xnn_pack_f32_gemm_goi_w
595
+ k-block: 4
596
+ - name: xnn_f32_gemm_minmax_ukernel_8x8s4__neonfma
597
+ init: xnn_init_f32_minmax_scalar_params
598
+ pack: xnn_pack_f32_gemm_goi_w
599
+ k-block: 4
600
+ # x86 SSE
601
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__sse_dup
602
+ init: xnn_init_f32_minmax_scalar_params
603
+ pack: xnn_pack_f32_gemm_goi_w
604
+ k-block: 4
605
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__sse_load1
606
+ init: xnn_init_f32_minmax_scalar_params
607
+ pack: xnn_pack_f32_gemm_goi_w
608
+ k-block: 1
609
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__sse
610
+ init: xnn_init_f32_minmax_scalar_params
611
+ pack: xnn_pack_f32_gemm_goi_w
612
+ k-block: 4
613
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__sse_dup
614
+ init: xnn_init_f32_minmax_scalar_params
615
+ pack: xnn_pack_f32_gemm_goi_w
616
+ k-block: 4
617
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__sse_load1
618
+ init: xnn_init_f32_minmax_scalar_params
619
+ pack: xnn_pack_f32_gemm_goi_w
620
+ k-block: 1
621
+ - name: xnn_f32_gemm_minmax_ukernel_3x8s4__sse
622
+ init: xnn_init_f32_minmax_scalar_params
623
+ pack: xnn_pack_f32_gemm_goi_w
624
+ k-block: 4
625
+ - name: xnn_f32_gemm_minmax_ukernel_4x2c4__sse
626
+ init: xnn_init_f32_minmax_scalar_params
627
+ pack: xnn_pack_f32_gemm_goi_w
628
+ k-block: 4
629
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__sse_dup
630
+ init: xnn_init_f32_minmax_scalar_params
631
+ pack: xnn_pack_f32_gemm_goi_w
632
+ k-block: 4
633
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__sse_load1
634
+ init: xnn_init_f32_minmax_scalar_params
635
+ pack: xnn_pack_f32_gemm_goi_w
636
+ k-block: 1
637
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__sse
638
+ init: xnn_init_f32_minmax_scalar_params
639
+ pack: xnn_pack_f32_gemm_goi_w
640
+ k-block: 4
641
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__sse_dup
642
+ init: xnn_init_f32_minmax_scalar_params
643
+ pack: xnn_pack_f32_gemm_goi_w
644
+ k-block: 4
645
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__sse_load1
646
+ init: xnn_init_f32_minmax_scalar_params
647
+ pack: xnn_pack_f32_gemm_goi_w
648
+ k-block: 1
649
+ - name: xnn_f32_gemm_minmax_ukernel_5x8s4__sse
650
+ init: xnn_init_f32_minmax_scalar_params
651
+ pack: xnn_pack_f32_gemm_goi_w
652
+ k-block: 4
653
+ - name: xnn_f32_gemm_minmax_ukernel_6x2c4__sse
654
+ init: xnn_init_f32_minmax_scalar_params
655
+ pack: xnn_pack_f32_gemm_goi_w
656
+ k-block: 4
657
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__sse_dup
658
+ init: xnn_init_f32_minmax_scalar_params
659
+ pack: xnn_pack_f32_gemm_goi_w
660
+ k-block: 4
661
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__sse_load1
662
+ init: xnn_init_f32_minmax_scalar_params
663
+ pack: xnn_pack_f32_gemm_goi_w
664
+ k-block: 1
665
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__sse
666
+ init: xnn_init_f32_minmax_scalar_params
667
+ pack: xnn_pack_f32_gemm_goi_w
668
+ k-block: 4
669
+ # x86 AVX
670
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__avx_broadcast
671
+ init: xnn_init_f32_minmax_scalar_params
672
+ pack: xnn_pack_f32_gemm_goi_w
673
+ k-block: 1
674
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__avx_broadcast
675
+ init: xnn_init_f32_minmax_scalar_params
676
+ pack: xnn_pack_f32_gemm_goi_w
677
+ k-block: 1
678
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__avx_broadcast
679
+ init: xnn_init_f32_minmax_scalar_params
680
+ pack: xnn_pack_f32_gemm_goi_w
681
+ k-block: 1
682
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__avx_broadcast
683
+ init: xnn_init_f32_minmax_scalar_params
684
+ pack: xnn_pack_f32_gemm_goi_w
685
+ k-block: 1
686
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__avx_broadcast
687
+ init: xnn_init_f32_minmax_scalar_params
688
+ pack: xnn_pack_f32_gemm_goi_w
689
+ k-block: 1
690
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__avx_broadcast
691
+ init: xnn_init_f32_minmax_scalar_params
692
+ pack: xnn_pack_f32_gemm_goi_w
693
+ k-block: 1
694
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__avx_broadcast
695
+ init: xnn_init_f32_minmax_scalar_params
696
+ pack: xnn_pack_f32_gemm_goi_w
697
+ k-block: 1
698
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__avx_broadcast
699
+ init: xnn_init_f32_minmax_scalar_params
700
+ pack: xnn_pack_f32_gemm_goi_w
701
+ k-block: 1
702
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__avx_broadcast
703
+ init: xnn_init_f32_minmax_scalar_params
704
+ pack: xnn_pack_f32_gemm_goi_w
705
+ k-block: 1
706
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__avx_broadcast
707
+ init: xnn_init_f32_minmax_scalar_params
708
+ pack: xnn_pack_f32_gemm_goi_w
709
+ k-block: 1
710
+ # x86 FMA3
711
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__fma3_broadcast
712
+ init: xnn_init_f32_minmax_scalar_params
713
+ pack: xnn_pack_f32_gemm_goi_w
714
+ k-block: 1
715
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__fma3_broadcast
716
+ init: xnn_init_f32_minmax_scalar_params
717
+ pack: xnn_pack_f32_gemm_goi_w
718
+ k-block: 1
719
+ - name: xnn_f32_gemm_minmax_ukernel_1x16s4__fma3_broadcast
720
+ init: xnn_init_f32_minmax_scalar_params
721
+ pack: xnn_pack_f32_gemm_goi_w
722
+ k-block: 4
723
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__fma3_broadcast
724
+ init: xnn_init_f32_minmax_scalar_params
725
+ pack: xnn_pack_f32_gemm_goi_w
726
+ k-block: 1
727
+ - name: xnn_f32_gemm_minmax_ukernel_3x16s4__fma3_broadcast
728
+ init: xnn_init_f32_minmax_scalar_params
729
+ pack: xnn_pack_f32_gemm_goi_w
730
+ k-block: 4
731
+
732
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__asm_amd64_fma3_broadcast
733
+ init: xnn_init_f32_minmax_scalar_params
734
+ pack: xnn_pack_f32_gemm_goi_w
735
+ k-block: 1
736
+ - name: xnn_f32_gemm_minmax_ukernel_2x8__asm_amd64_fma3_broadcast
737
+ init: xnn_init_f32_minmax_scalar_params
738
+ pack: xnn_pack_f32_gemm_goi_w
739
+ k-block: 1
740
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__asm_amd64_fma3_broadcast
741
+ init: xnn_init_f32_minmax_scalar_params
742
+ pack: xnn_pack_f32_gemm_goi_w
743
+ k-block: 1
744
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__asm_amd64_fma3_broadcast
745
+ init: xnn_init_f32_minmax_scalar_params
746
+ pack: xnn_pack_f32_gemm_goi_w
747
+ k-block: 1
748
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__asm_amd64_fma3_broadcast
749
+ init: xnn_init_f32_minmax_scalar_params
750
+ pack: xnn_pack_f32_gemm_goi_w
751
+ k-block: 1
752
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__asm_amd64_fma3_broadcast
753
+ init: xnn_init_f32_minmax_scalar_params
754
+ pack: xnn_pack_f32_gemm_goi_w
755
+ k-block: 1
756
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__asm_amd64_fma3_broadcast
757
+ init: xnn_init_f32_minmax_scalar_params
758
+ pack: xnn_pack_f32_gemm_goi_w
759
+ k-block: 1
760
+ - name: xnn_f32_gemm_minmax_ukernel_8x8__asm_amd64_fma3_broadcast
761
+ init: xnn_init_f32_minmax_scalar_params
762
+ pack: xnn_pack_f32_gemm_goi_w
763
+ k-block: 1
764
+ - name: xnn_f32_gemm_minmax_ukernel_9x8__asm_amd64_fma3_broadcast
765
+ init: xnn_init_f32_minmax_scalar_params
766
+ pack: xnn_pack_f32_gemm_goi_w
767
+ k-block: 1
768
+ - name: xnn_f32_gemm_minmax_ukernel_10x8__asm_amd64_fma3_broadcast
769
+ init: xnn_init_f32_minmax_scalar_params
770
+ pack: xnn_pack_f32_gemm_goi_w
771
+ k-block: 1
772
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__asm_amd64_fma3_broadcast
773
+ init: xnn_init_f32_minmax_scalar_params
774
+ pack: xnn_pack_f32_gemm_goi_w
775
+ k-block: 1
776
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__asm_amd64_fma3_broadcast
777
+ init: xnn_init_f32_minmax_scalar_params
778
+ pack: xnn_pack_f32_gemm_goi_w
779
+ k-block: 1
780
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__asm_amd64_fma3_broadcast
781
+ init: xnn_init_f32_minmax_scalar_params
782
+ pack: xnn_pack_f32_gemm_goi_w
783
+ k-block: 1
784
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__asm_amd64_fma3_broadcast
785
+ init: xnn_init_f32_minmax_scalar_params
786
+ pack: xnn_pack_f32_gemm_goi_w
787
+ k-block: 1
788
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__asm_amd64_fma3_broadcast
789
+ init: xnn_init_f32_minmax_scalar_params
790
+ pack: xnn_pack_f32_gemm_goi_w
791
+ k-block: 1
792
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__asm_amd64_fma3_broadcast
793
+ init: xnn_init_f32_minmax_scalar_params
794
+ pack: xnn_pack_f32_gemm_goi_w
795
+ k-block: 1
796
+
797
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__asm_amd64_avx512f_broadcast
798
+ init: xnn_init_f32_minmax_scalar_params
799
+ pack: xnn_pack_f32_gemm_goi_w
800
+ k-block: 1
801
+ - name: xnn_f32_gemm_minmax_ukernel_2x16__asm_amd64_avx512f_broadcast
802
+ init: xnn_init_f32_minmax_scalar_params
803
+ pack: xnn_pack_f32_gemm_goi_w
804
+ k-block: 1
805
+ - name: xnn_f32_gemm_minmax_ukernel_3x16__asm_amd64_avx512f_broadcast
806
+ init: xnn_init_f32_minmax_scalar_params
807
+ pack: xnn_pack_f32_gemm_goi_w
808
+ k-block: 1
809
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__asm_amd64_avx512f_broadcast
810
+ init: xnn_init_f32_minmax_scalar_params
811
+ pack: xnn_pack_f32_gemm_goi_w
812
+ k-block: 1
813
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__asm_amd64_avx512f_broadcast
814
+ init: xnn_init_f32_minmax_scalar_params
815
+ pack: xnn_pack_f32_gemm_goi_w
816
+ k-block: 1
817
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__asm_amd64_avx512f_broadcast
818
+ init: xnn_init_f32_minmax_scalar_params
819
+ pack: xnn_pack_f32_gemm_goi_w
820
+ k-block: 1
821
+ - name: xnn_f32_gemm_minmax_ukernel_7x16__asm_amd64_avx512f_broadcast
822
+ init: xnn_init_f32_minmax_scalar_params
823
+ pack: xnn_pack_f32_gemm_goi_w
824
+ k-block: 1
825
+ - name: xnn_f32_gemm_minmax_ukernel_8x16__asm_amd64_avx512f_broadcast
826
+ init: xnn_init_f32_minmax_scalar_params
827
+ pack: xnn_pack_f32_gemm_goi_w
828
+ k-block: 1
829
+ - name: xnn_f32_gemm_minmax_ukernel_9x16__asm_amd64_avx512f_broadcast
830
+ init: xnn_init_f32_minmax_scalar_params
831
+ pack: xnn_pack_f32_gemm_goi_w
832
+ k-block: 1
833
+ - name: xnn_f32_gemm_minmax_ukernel_10x16__asm_amd64_avx512f_broadcast
834
+ init: xnn_init_f32_minmax_scalar_params
835
+ pack: xnn_pack_f32_gemm_goi_w
836
+ k-block: 1
837
+ - name: xnn_f32_gemm_minmax_ukernel_11x16__asm_amd64_avx512f_broadcast
838
+ init: xnn_init_f32_minmax_scalar_params
839
+ pack: xnn_pack_f32_gemm_goi_w
840
+ k-block: 1
841
+ - name: xnn_f32_gemm_minmax_ukernel_1x32__asm_amd64_avx512f_broadcast
842
+ init: xnn_init_f32_minmax_scalar_params
843
+ pack: xnn_pack_f32_gemm_goi_w
844
+ k-block: 1
845
+ - name: xnn_f32_gemm_minmax_ukernel_2x32__asm_amd64_avx512f_broadcast
846
+ init: xnn_init_f32_minmax_scalar_params
847
+ pack: xnn_pack_f32_gemm_goi_w
848
+ k-block: 1
849
+ - name: xnn_f32_gemm_minmax_ukernel_3x32__asm_amd64_avx512f_broadcast
850
+ init: xnn_init_f32_minmax_scalar_params
851
+ pack: xnn_pack_f32_gemm_goi_w
852
+ k-block: 1
853
+ - name: xnn_f32_gemm_minmax_ukernel_4x32__asm_amd64_avx512f_broadcast
854
+ init: xnn_init_f32_minmax_scalar_params
855
+ pack: xnn_pack_f32_gemm_goi_w
856
+ k-block: 1
857
+ - name: xnn_f32_gemm_minmax_ukernel_5x32__asm_amd64_avx512f_broadcast
858
+ init: xnn_init_f32_minmax_scalar_params
859
+ pack: xnn_pack_f32_gemm_goi_w
860
+ k-block: 1
861
+ - name: xnn_f32_gemm_minmax_ukernel_6x32__asm_amd64_avx512f_broadcast
862
+ init: xnn_init_f32_minmax_scalar_params
863
+ pack: xnn_pack_f32_gemm_goi_w
864
+ k-block: 1
865
+ - name: xnn_f32_gemm_minmax_ukernel_7x32__asm_amd64_avx512f_broadcast
866
+ init: xnn_init_f32_minmax_scalar_params
867
+ pack: xnn_pack_f32_gemm_goi_w
868
+ k-block: 1
869
+ - name: xnn_f32_gemm_minmax_ukernel_8x32__asm_amd64_avx512f_broadcast
870
+ init: xnn_init_f32_minmax_scalar_params
871
+ pack: xnn_pack_f32_gemm_goi_w
872
+ k-block: 1
873
+ - name: xnn_f32_gemm_minmax_ukernel_9x32__asm_amd64_avx512f_broadcast
874
+ init: xnn_init_f32_minmax_scalar_params
875
+ pack: xnn_pack_f32_gemm_goi_w
876
+ k-block: 1
877
+ - name: xnn_f32_gemm_minmax_ukernel_10x32__asm_amd64_avx512f_broadcast
878
+ init: xnn_init_f32_minmax_scalar_params
879
+ pack: xnn_pack_f32_gemm_goi_w
880
+ k-block: 1
881
+ - name: xnn_f32_gemm_minmax_ukernel_11x32__asm_amd64_avx512f_broadcast
882
+ init: xnn_init_f32_minmax_scalar_params
883
+ pack: xnn_pack_f32_gemm_goi_w
884
+ k-block: 1
885
+ - name: xnn_f32_gemm_minmax_ukernel_1x64__asm_amd64_avx512f_broadcast
886
+ init: xnn_init_f32_minmax_scalar_params
887
+ pack: xnn_pack_f32_gemm_goi_w
888
+ k-block: 1
889
+ - name: xnn_f32_gemm_minmax_ukernel_2x64__asm_amd64_avx512f_broadcast
890
+ init: xnn_init_f32_minmax_scalar_params
891
+ pack: xnn_pack_f32_gemm_goi_w
892
+ k-block: 1
893
+ - name: xnn_f32_gemm_minmax_ukernel_3x64__asm_amd64_avx512f_broadcast
894
+ init: xnn_init_f32_minmax_scalar_params
895
+ pack: xnn_pack_f32_gemm_goi_w
896
+ k-block: 1
897
+ - name: xnn_f32_gemm_minmax_ukernel_4x64__asm_amd64_avx512f_broadcast
898
+ init: xnn_init_f32_minmax_scalar_params
899
+ pack: xnn_pack_f32_gemm_goi_w
900
+ k-block: 1
901
+ - name: xnn_f32_gemm_minmax_ukernel_5x64__asm_amd64_avx512f_broadcast
902
+ init: xnn_init_f32_minmax_scalar_params
903
+ pack: xnn_pack_f32_gemm_goi_w
904
+ k-block: 1
905
+
906
+ - name: xnn_f32_gemm_minmax_ukernel_1x16c2__asm_amd64_avx512f_broadcast
907
+ init: xnn_init_f32_minmax_scalar_params
908
+ pack: xnn_pack_f32_gemm_goi_w
909
+ k-block: 2
910
+ - name: xnn_f32_gemm_minmax_ukernel_2x16c2__asm_amd64_avx512f_broadcast
911
+ init: xnn_init_f32_minmax_scalar_params
912
+ pack: xnn_pack_f32_gemm_goi_w
913
+ k-block: 2
914
+ - name: xnn_f32_gemm_minmax_ukernel_3x16c2__asm_amd64_avx512f_broadcast
915
+ init: xnn_init_f32_minmax_scalar_params
916
+ pack: xnn_pack_f32_gemm_goi_w
917
+ k-block: 2
918
+ - name: xnn_f32_gemm_minmax_ukernel_4x16c2__asm_amd64_avx512f_broadcast
919
+ init: xnn_init_f32_minmax_scalar_params
920
+ pack: xnn_pack_f32_gemm_goi_w
921
+ k-block: 2
922
+ - name: xnn_f32_gemm_minmax_ukernel_5x16c2__asm_amd64_avx512f_broadcast
923
+ init: xnn_init_f32_minmax_scalar_params
924
+ pack: xnn_pack_f32_gemm_goi_w
925
+ k-block: 2
926
+ - name: xnn_f32_gemm_minmax_ukernel_6x16c2__asm_amd64_avx512f_broadcast
927
+ init: xnn_init_f32_minmax_scalar_params
928
+ pack: xnn_pack_f32_gemm_goi_w
929
+ k-block: 2
930
+ - name: xnn_f32_gemm_minmax_ukernel_7x16c2__asm_amd64_avx512f_broadcast
931
+ init: xnn_init_f32_minmax_scalar_params
932
+ pack: xnn_pack_f32_gemm_goi_w
933
+ k-block: 2
934
+ - name: xnn_f32_gemm_minmax_ukernel_8x16c2__asm_amd64_avx512f_broadcast
935
+ init: xnn_init_f32_minmax_scalar_params
936
+ pack: xnn_pack_f32_gemm_goi_w
937
+ k-block: 2
938
+ - name: xnn_f32_gemm_minmax_ukernel_9x16c2__asm_amd64_avx512f_broadcast
939
+ init: xnn_init_f32_minmax_scalar_params
940
+ pack: xnn_pack_f32_gemm_goi_w
941
+ k-block: 2
942
+ - name: xnn_f32_gemm_minmax_ukernel_10x16c2__asm_amd64_avx512f_broadcast
943
+ init: xnn_init_f32_minmax_scalar_params
944
+ pack: xnn_pack_f32_gemm_goi_w
945
+ k-block: 2
946
+ - name: xnn_f32_gemm_minmax_ukernel_11x16c2__asm_amd64_avx512f_broadcast
947
+ init: xnn_init_f32_minmax_scalar_params
948
+ pack: xnn_pack_f32_gemm_goi_w
949
+ k-block: 2
950
+ - name: xnn_f32_gemm_minmax_ukernel_1x32c2__asm_amd64_avx512f_broadcast
951
+ init: xnn_init_f32_minmax_scalar_params
952
+ pack: xnn_pack_f32_gemm_goi_w
953
+ k-block: 2
954
+ - name: xnn_f32_gemm_minmax_ukernel_2x32c2__asm_amd64_avx512f_broadcast
955
+ init: xnn_init_f32_minmax_scalar_params
956
+ pack: xnn_pack_f32_gemm_goi_w
957
+ k-block: 2
958
+ - name: xnn_f32_gemm_minmax_ukernel_3x32c2__asm_amd64_avx512f_broadcast
959
+ init: xnn_init_f32_minmax_scalar_params
960
+ pack: xnn_pack_f32_gemm_goi_w
961
+ k-block: 2
962
+ - name: xnn_f32_gemm_minmax_ukernel_4x32c2__asm_amd64_avx512f_broadcast
963
+ init: xnn_init_f32_minmax_scalar_params
964
+ pack: xnn_pack_f32_gemm_goi_w
965
+ k-block: 2
966
+ - name: xnn_f32_gemm_minmax_ukernel_5x32c2__asm_amd64_avx512f_broadcast
967
+ init: xnn_init_f32_minmax_scalar_params
968
+ pack: xnn_pack_f32_gemm_goi_w
969
+ k-block: 2
970
+
971
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__fma3_broadcast
972
+ init: xnn_init_f32_minmax_scalar_params
973
+ pack: xnn_pack_f32_gemm_goi_w
974
+ k-block: 1
975
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__fma3_broadcast
976
+ init: xnn_init_f32_minmax_scalar_params
977
+ pack: xnn_pack_f32_gemm_goi_w
978
+ k-block: 1
979
+ - name: xnn_f32_gemm_minmax_ukernel_4x16s4__fma3_broadcast
980
+ init: xnn_init_f32_minmax_scalar_params
981
+ pack: xnn_pack_f32_gemm_goi_w
982
+ k-block: 4
983
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__fma3_broadcast
984
+ init: xnn_init_f32_minmax_scalar_params
985
+ pack: xnn_pack_f32_gemm_goi_w
986
+ k-block: 1
987
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__fma3_broadcast
988
+ init: xnn_init_f32_minmax_scalar_params
989
+ pack: xnn_pack_f32_gemm_goi_w
990
+ k-block: 1
991
+ - name: xnn_f32_gemm_minmax_ukernel_5x16s4__fma3_broadcast
992
+ init: xnn_init_f32_minmax_scalar_params
993
+ pack: xnn_pack_f32_gemm_goi_w
994
+ k-block: 4
995
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__fma3_broadcast
996
+ init: xnn_init_f32_minmax_scalar_params
997
+ pack: xnn_pack_f32_gemm_goi_w
998
+ k-block: 1
999
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__fma3_broadcast
1000
+ init: xnn_init_f32_minmax_scalar_params
1001
+ pack: xnn_pack_f32_gemm_goi_w
1002
+ k-block: 1
1003
+ - name: xnn_f32_gemm_minmax_ukernel_6x16s4__fma3_broadcast
1004
+ init: xnn_init_f32_minmax_scalar_params
1005
+ pack: xnn_pack_f32_gemm_goi_w
1006
+ k-block: 4
1007
+ - name: xnn_f32_gemm_minmax_ukernel_7x8__fma3_broadcast
1008
+ init: xnn_init_f32_minmax_scalar_params
1009
+ pack: xnn_pack_f32_gemm_goi_w
1010
+ k-block: 1
1011
+ - name: xnn_f32_gemm_minmax_ukernel_8x8__fma3_broadcast
1012
+ init: xnn_init_f32_minmax_scalar_params
1013
+ pack: xnn_pack_f32_gemm_goi_w
1014
+ k-block: 1
1015
+ # x86 AVX512
1016
+ - name: xnn_f32_gemm_minmax_ukernel_1x16__avx512f_broadcast
1017
+ init: xnn_init_f32_minmax_scalar_params
1018
+ pack: xnn_pack_f32_gemm_goi_w
1019
+ k-block: 1
1020
+ - name: xnn_f32_gemm_minmax_ukernel_4x16__avx512f_broadcast
1021
+ init: xnn_init_f32_minmax_scalar_params
1022
+ pack: xnn_pack_f32_gemm_goi_w
1023
+ k-block: 1
1024
+ - name: xnn_f32_gemm_minmax_ukernel_5x16__avx512f_broadcast
1025
+ init: xnn_init_f32_minmax_scalar_params
1026
+ pack: xnn_pack_f32_gemm_goi_w
1027
+ k-block: 1
1028
+ - name: xnn_f32_gemm_minmax_ukernel_6x16__avx512f_broadcast
1029
+ init: xnn_init_f32_minmax_scalar_params
1030
+ pack: xnn_pack_f32_gemm_goi_w
1031
+ k-block: 1
1032
+ - name: xnn_f32_gemm_minmax_ukernel_7x16__avx512f_broadcast
1033
+ init: xnn_init_f32_minmax_scalar_params
1034
+ pack: xnn_pack_f32_gemm_goi_w
1035
+ k-block: 1
1036
+ - name: xnn_f32_gemm_minmax_ukernel_8x16__avx512f_broadcast
1037
+ init: xnn_init_f32_minmax_scalar_params
1038
+ pack: xnn_pack_f32_gemm_goi_w
1039
+ k-block: 1
1040
+ - name: xnn_f32_gemm_minmax_ukernel_9x16__avx512f_broadcast
1041
+ init: xnn_init_f32_minmax_scalar_params
1042
+ pack: xnn_pack_f32_gemm_goi_w
1043
+ k-block: 1
1044
+ - name: xnn_f32_gemm_minmax_ukernel_10x16__avx512f_broadcast
1045
+ init: xnn_init_f32_minmax_scalar_params
1046
+ pack: xnn_pack_f32_gemm_goi_w
1047
+ k-block: 1
1048
+ - name: xnn_f32_gemm_minmax_ukernel_11x16__avx512f_broadcast
1049
+ init: xnn_init_f32_minmax_scalar_params
1050
+ pack: xnn_pack_f32_gemm_goi_w
1051
+ k-block: 1
1052
+ - name: xnn_f32_gemm_minmax_ukernel_12x16__avx512f_broadcast
1053
+ init: xnn_init_f32_minmax_scalar_params
1054
+ pack: xnn_pack_f32_gemm_goi_w
1055
+ k-block: 1
1056
+ - name: xnn_f32_gemm_minmax_ukernel_13x16__avx512f_broadcast
1057
+ init: xnn_init_f32_minmax_scalar_params
1058
+ pack: xnn_pack_f32_gemm_goi_w
1059
+ k-block: 1
1060
+ - name: xnn_f32_gemm_minmax_ukernel_14x16__avx512f_broadcast
1061
+ init: xnn_init_f32_minmax_scalar_params
1062
+ pack: xnn_pack_f32_gemm_goi_w
1063
+ k-block: 1
1064
+ - name: xnn_f32_gemm_minmax_ukernel_15x16__avx512f_broadcast
1065
+ init: xnn_init_f32_minmax_scalar_params
1066
+ pack: xnn_pack_f32_gemm_goi_w
1067
+ k-block: 1
1068
+ - name: xnn_f32_gemm_minmax_ukernel_16x16__avx512f_broadcast
1069
+ init: xnn_init_f32_minmax_scalar_params
1070
+ pack: xnn_pack_f32_gemm_goi_w
1071
+ k-block: 1
1072
+
1073
+ - name: xnn_f32_gemm_minmax_ukernel_1x32__avx512f_broadcast
1074
+ init: xnn_init_f32_minmax_scalar_params
1075
+ pack: xnn_pack_f32_gemm_goi_w
1076
+ k-block: 1
1077
+ - name: xnn_f32_gemm_minmax_ukernel_4x32__avx512f_broadcast
1078
+ init: xnn_init_f32_minmax_scalar_params
1079
+ pack: xnn_pack_f32_gemm_goi_w
1080
+ k-block: 1
1081
+ - name: xnn_f32_gemm_minmax_ukernel_5x32__avx512f_broadcast
1082
+ init: xnn_init_f32_minmax_scalar_params
1083
+ pack: xnn_pack_f32_gemm_goi_w
1084
+ k-block: 1
1085
+ - name: xnn_f32_gemm_minmax_ukernel_6x32__avx512f_broadcast
1086
+ init: xnn_init_f32_minmax_scalar_params
1087
+ pack: xnn_pack_f32_gemm_goi_w
1088
+ k-block: 1
1089
+ - name: xnn_f32_gemm_minmax_ukernel_7x32__avx512f_broadcast
1090
+ init: xnn_init_f32_minmax_scalar_params
1091
+ pack: xnn_pack_f32_gemm_goi_w
1092
+ k-block: 1
1093
+ - name: xnn_f32_gemm_minmax_ukernel_8x32__avx512f_broadcast
1094
+ init: xnn_init_f32_minmax_scalar_params
1095
+ pack: xnn_pack_f32_gemm_goi_w
1096
+ k-block: 1
1097
+ - name: xnn_f32_gemm_minmax_ukernel_9x32__avx512f_broadcast
1098
+ init: xnn_init_f32_minmax_scalar_params
1099
+ pack: xnn_pack_f32_gemm_goi_w
1100
+ k-block: 1
1101
+ - name: xnn_f32_gemm_minmax_ukernel_10x32__avx512f_broadcast
1102
+ init: xnn_init_f32_minmax_scalar_params
1103
+ pack: xnn_pack_f32_gemm_goi_w
1104
+ k-block: 1
1105
+ - name: xnn_f32_gemm_minmax_ukernel_11x32__avx512f_broadcast
1106
+ init: xnn_init_f32_minmax_scalar_params
1107
+ pack: xnn_pack_f32_gemm_goi_w
1108
+ k-block: 1
1109
+ - name: xnn_f32_gemm_minmax_ukernel_12x32__avx512f_broadcast
1110
+ init: xnn_init_f32_minmax_scalar_params
1111
+ pack: xnn_pack_f32_gemm_goi_w
1112
+ k-block: 1
1113
+ - name: xnn_f32_gemm_minmax_ukernel_13x32__avx512f_broadcast
1114
+ init: xnn_init_f32_minmax_scalar_params
1115
+ pack: xnn_pack_f32_gemm_goi_w
1116
+ k-block: 1
1117
+ - name: xnn_f32_gemm_minmax_ukernel_14x32__avx512f_broadcast
1118
+ init: xnn_init_f32_minmax_scalar_params
1119
+ pack: xnn_pack_f32_gemm_goi_w
1120
+ k-block: 1
1121
+ - name: xnn_f32_gemm_minmax_ukernel_15x32__avx512f_broadcast
1122
+ init: xnn_init_f32_minmax_scalar_params
1123
+ pack: xnn_pack_f32_gemm_goi_w
1124
+ k-block: 1
1125
+ - name: xnn_f32_gemm_minmax_ukernel_16x32__avx512f_broadcast
1126
+ init: xnn_init_f32_minmax_scalar_params
1127
+ pack: xnn_pack_f32_gemm_goi_w
1128
+ k-block: 1
1129
+
1130
+ - name: xnn_f32_gemm_minmax_ukernel_1x64__avx512f_broadcast
1131
+ init: xnn_init_f32_minmax_scalar_params
1132
+ pack: xnn_pack_f32_gemm_goi_w
1133
+ k-block: 1
1134
+ - name: xnn_f32_gemm_minmax_ukernel_4x64__avx512f_broadcast
1135
+ init: xnn_init_f32_minmax_scalar_params
1136
+ pack: xnn_pack_f32_gemm_goi_w
1137
+ k-block: 1
1138
+ - name: xnn_f32_gemm_minmax_ukernel_5x64__avx512f_broadcast
1139
+ init: xnn_init_f32_minmax_scalar_params
1140
+ pack: xnn_pack_f32_gemm_goi_w
1141
+ k-block: 1
1142
+ - name: xnn_f32_gemm_minmax_ukernel_6x64__avx512f_broadcast
1143
+ init: xnn_init_f32_minmax_scalar_params
1144
+ pack: xnn_pack_f32_gemm_goi_w
1145
+ k-block: 1
1146
+ - name: xnn_f32_gemm_minmax_ukernel_7x64__avx512f_broadcast
1147
+ init: xnn_init_f32_minmax_scalar_params
1148
+ pack: xnn_pack_f32_gemm_goi_w
1149
+ k-block: 1
1150
+ - name: xnn_f32_gemm_minmax_ukernel_8x64__avx512f_broadcast
1151
+ init: xnn_init_f32_minmax_scalar_params
1152
+ pack: xnn_pack_f32_gemm_goi_w
1153
+ k-block: 1
1154
+ - name: xnn_f32_gemm_minmax_ukernel_9x64__avx512f_broadcast
1155
+ init: xnn_init_f32_minmax_scalar_params
1156
+ pack: xnn_pack_f32_gemm_goi_w
1157
+ k-block: 1
1158
+ - name: xnn_f32_gemm_minmax_ukernel_10x64__avx512f_broadcast
1159
+ init: xnn_init_f32_minmax_scalar_params
1160
+ pack: xnn_pack_f32_gemm_goi_w
1161
+ k-block: 1
1162
+ - name: xnn_f32_gemm_minmax_ukernel_11x64__avx512f_broadcast
1163
+ init: xnn_init_f32_minmax_scalar_params
1164
+ pack: xnn_pack_f32_gemm_goi_w
1165
+ k-block: 1
1166
+ - name: xnn_f32_gemm_minmax_ukernel_12x64__avx512f_broadcast
1167
+ init: xnn_init_f32_minmax_scalar_params
1168
+ pack: xnn_pack_f32_gemm_goi_w
1169
+ k-block: 1
1170
+ - name: xnn_f32_gemm_minmax_ukernel_13x64__avx512f_broadcast
1171
+ init: xnn_init_f32_minmax_scalar_params
1172
+ pack: xnn_pack_f32_gemm_goi_w
1173
+ k-block: 1
1174
+ - name: xnn_f32_gemm_minmax_ukernel_14x64__avx512f_broadcast
1175
+ init: xnn_init_f32_minmax_scalar_params
1176
+ pack: xnn_pack_f32_gemm_goi_w
1177
+ k-block: 1
1178
+ - name: xnn_f32_gemm_minmax_ukernel_15x64__avx512f_broadcast
1179
+ init: xnn_init_f32_minmax_scalar_params
1180
+ pack: xnn_pack_f32_gemm_goi_w
1181
+ k-block: 1
1182
+ - name: xnn_f32_gemm_minmax_ukernel_16x64__avx512f_broadcast
1183
+ init: xnn_init_f32_minmax_scalar_params
1184
+ pack: xnn_pack_f32_gemm_goi_w
1185
+ k-block: 1
1186
+
1187
+ # WAsm SIMD
1188
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_arm_loadsplat
1189
+ init: xnn_init_f32_minmax_scalar_params
1190
+ pack: xnn_pack_f32_gemm_goi_w
1191
+ k-block: 1
1192
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_arm_splat
1193
+ init: xnn_init_f32_minmax_scalar_params
1194
+ pack: xnn_pack_f32_gemm_goi_w
1195
+ k-block: 4
1196
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_x86_loadsplat
1197
+ init: xnn_init_f32_minmax_scalar_params
1198
+ pack: xnn_pack_f32_gemm_goi_w
1199
+ k-block: 1
1200
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmsimd_x86_splat
1201
+ init: xnn_init_f32_minmax_scalar_params
1202
+ pack: xnn_pack_f32_gemm_goi_w
1203
+ k-block: 4
1204
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmsimd_arm
1205
+ init: xnn_init_f32_minmax_scalar_params
1206
+ pack: xnn_pack_f32_gemm_goi_w
1207
+ k-block: 4
1208
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmsimd_x86
1209
+ init: xnn_init_f32_minmax_scalar_params
1210
+ pack: xnn_pack_f32_gemm_goi_w
1211
+ k-block: 4
1212
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_arm_loadsplat
1213
+ init: xnn_init_f32_minmax_scalar_params
1214
+ pack: xnn_pack_f32_gemm_goi_w
1215
+ k-block: 1
1216
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_arm_splat
1217
+ init: xnn_init_f32_minmax_scalar_params
1218
+ pack: xnn_pack_f32_gemm_goi_w
1219
+ k-block: 4
1220
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_x86_loadsplat
1221
+ init: xnn_init_f32_minmax_scalar_params
1222
+ pack: xnn_pack_f32_gemm_goi_w
1223
+ k-block: 1
1224
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmsimd_x86_splat
1225
+ init: xnn_init_f32_minmax_scalar_params
1226
+ pack: xnn_pack_f32_gemm_goi_w
1227
+ k-block: 4
1228
+ - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmsimd_arm
1229
+ init: xnn_init_f32_minmax_scalar_params
1230
+ pack: xnn_pack_f32_gemm_goi_w
1231
+ k-block: 4
1232
+ - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmsimd_x86
1233
+ init: xnn_init_f32_minmax_scalar_params
1234
+ pack: xnn_pack_f32_gemm_goi_w
1235
+ k-block: 4
1236
+ - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmsimd_arm
1237
+ init: xnn_init_f32_minmax_scalar_params
1238
+ pack: xnn_pack_f32_gemm_goi_w
1239
+ k-block: 4
1240
+ - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmsimd_x86
1241
+ init: xnn_init_f32_minmax_scalar_params
1242
+ pack: xnn_pack_f32_gemm_goi_w
1243
+ k-block: 4
1244
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_arm_loadsplat
1245
+ init: xnn_init_f32_minmax_scalar_params
1246
+ pack: xnn_pack_f32_gemm_goi_w
1247
+ k-block: 1
1248
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_arm_splat
1249
+ init: xnn_init_f32_minmax_scalar_params
1250
+ pack: xnn_pack_f32_gemm_goi_w
1251
+ k-block: 4
1252
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_x86_loadsplat
1253
+ init: xnn_init_f32_minmax_scalar_params
1254
+ pack: xnn_pack_f32_gemm_goi_w
1255
+ k-block: 1
1256
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmsimd_x86_splat
1257
+ init: xnn_init_f32_minmax_scalar_params
1258
+ pack: xnn_pack_f32_gemm_goi_w
1259
+ k-block: 4
1260
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmsimd_arm
1261
+ init: xnn_init_f32_minmax_scalar_params
1262
+ pack: xnn_pack_f32_gemm_goi_w
1263
+ k-block: 4
1264
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmsimd_x86
1265
+ init: xnn_init_f32_minmax_scalar_params
1266
+ pack: xnn_pack_f32_gemm_goi_w
1267
+ k-block: 4
1268
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_arm_loadsplat
1269
+ init: xnn_init_f32_minmax_scalar_params
1270
+ pack: xnn_pack_f32_gemm_goi_w
1271
+ k-block: 1
1272
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_arm_splat
1273
+ init: xnn_init_f32_minmax_scalar_params
1274
+ pack: xnn_pack_f32_gemm_goi_w
1275
+ k-block: 4
1276
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_x86_loadsplat
1277
+ init: xnn_init_f32_minmax_scalar_params
1278
+ pack: xnn_pack_f32_gemm_goi_w
1279
+ k-block: 1
1280
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmsimd_x86_splat
1281
+ init: xnn_init_f32_minmax_scalar_params
1282
+ pack: xnn_pack_f32_gemm_goi_w
1283
+ k-block: 4
1284
+ - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmsimd_arm
1285
+ init: xnn_init_f32_minmax_scalar_params
1286
+ pack: xnn_pack_f32_gemm_goi_w
1287
+ k-block: 4
1288
+ - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmsimd_x86
1289
+ init: xnn_init_f32_minmax_scalar_params
1290
+ pack: xnn_pack_f32_gemm_goi_w
1291
+ k-block: 4
1292
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_arm_loadsplat
1293
+ init: xnn_init_f32_minmax_scalar_params
1294
+ pack: xnn_pack_f32_gemm_goi_w
1295
+ k-block: 1
1296
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_arm_splat
1297
+ init: xnn_init_f32_minmax_scalar_params
1298
+ pack: xnn_pack_f32_gemm_goi_w
1299
+ k-block: 4
1300
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_x86_loadsplat
1301
+ init: xnn_init_f32_minmax_scalar_params
1302
+ pack: xnn_pack_f32_gemm_goi_w
1303
+ k-block: 1
1304
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmsimd_x86_splat
1305
+ init: xnn_init_f32_minmax_scalar_params
1306
+ pack: xnn_pack_f32_gemm_goi_w
1307
+ k-block: 4
1308
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmsimd_arm
1309
+ init: xnn_init_f32_minmax_scalar_params
1310
+ pack: xnn_pack_f32_gemm_goi_w
1311
+ k-block: 4
1312
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmsimd_x86
1313
+ init: xnn_init_f32_minmax_scalar_params
1314
+ pack: xnn_pack_f32_gemm_goi_w
1315
+ k-block: 4
1316
+ # WAsm Relaxed SIMD
1317
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_loadsplat
1318
+ init: xnn_init_f32_minmax_scalar_params
1319
+ pack: xnn_pack_f32_gemm_goi_w
1320
+ k-block: 1
1321
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_fma_splat
1322
+ init: xnn_init_f32_minmax_scalar_params
1323
+ pack: xnn_pack_f32_gemm_goi_w
1324
+ k-block: 4
1325
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_loadsplat
1326
+ init: xnn_init_f32_minmax_scalar_params
1327
+ pack: xnn_pack_f32_gemm_goi_w
1328
+ k-block: 1
1329
+ - name: xnn_f32_gemm_minmax_ukernel_1x8__wasmrelaxedsimd_splat
1330
+ init: xnn_init_f32_minmax_scalar_params
1331
+ pack: xnn_pack_f32_gemm_goi_w
1332
+ k-block: 4
1333
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmrelaxedsimd
1334
+ init: xnn_init_f32_minmax_scalar_params
1335
+ pack: xnn_pack_f32_gemm_goi_w
1336
+ k-block: 4
1337
+ - name: xnn_f32_gemm_minmax_ukernel_1x8s4__wasmrelaxedsimd_fma
1338
+ init: xnn_init_f32_minmax_scalar_params
1339
+ pack: xnn_pack_f32_gemm_goi_w
1340
+ k-block: 4
1341
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_loadsplat
1342
+ init: xnn_init_f32_minmax_scalar_params
1343
+ pack: xnn_pack_f32_gemm_goi_w
1344
+ k-block: 1
1345
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_fma_splat
1346
+ init: xnn_init_f32_minmax_scalar_params
1347
+ pack: xnn_pack_f32_gemm_goi_w
1348
+ k-block: 4
1349
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_loadsplat
1350
+ init: xnn_init_f32_minmax_scalar_params
1351
+ pack: xnn_pack_f32_gemm_goi_w
1352
+ k-block: 1
1353
+ - name: xnn_f32_gemm_minmax_ukernel_3x8__wasmrelaxedsimd_splat
1354
+ init: xnn_init_f32_minmax_scalar_params
1355
+ pack: xnn_pack_f32_gemm_goi_w
1356
+ k-block: 4
1357
+ - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmrelaxedsimd
1358
+ init: xnn_init_f32_minmax_scalar_params
1359
+ pack: xnn_pack_f32_gemm_goi_w
1360
+ k-block: 4
1361
+ - name: xnn_f32_gemm_minmax_ukernel_3x8s4__wasmrelaxedsimd_fma
1362
+ init: xnn_init_f32_minmax_scalar_params
1363
+ pack: xnn_pack_f32_gemm_goi_w
1364
+ k-block: 4
1365
+ - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmrelaxedsimd
1366
+ init: xnn_init_f32_minmax_scalar_params
1367
+ pack: xnn_pack_f32_gemm_goi_w
1368
+ k-block: 4
1369
+ - name: xnn_f32_gemm_minmax_ukernel_4x2c4__wasmrelaxedsimd_fma
1370
+ init: xnn_init_f32_minmax_scalar_params
1371
+ pack: xnn_pack_f32_gemm_goi_w
1372
+ k-block: 4
1373
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_loadsplat
1374
+ init: xnn_init_f32_minmax_scalar_params
1375
+ pack: xnn_pack_f32_gemm_goi_w
1376
+ k-block: 1
1377
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_fma_splat
1378
+ init: xnn_init_f32_minmax_scalar_params
1379
+ pack: xnn_pack_f32_gemm_goi_w
1380
+ k-block: 4
1381
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_loadsplat
1382
+ init: xnn_init_f32_minmax_scalar_params
1383
+ pack: xnn_pack_f32_gemm_goi_w
1384
+ k-block: 1
1385
+ - name: xnn_f32_gemm_minmax_ukernel_4x8__wasmrelaxedsimd_splat
1386
+ init: xnn_init_f32_minmax_scalar_params
1387
+ pack: xnn_pack_f32_gemm_goi_w
1388
+ k-block: 4
1389
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmrelaxedsimd
1390
+ init: xnn_init_f32_minmax_scalar_params
1391
+ pack: xnn_pack_f32_gemm_goi_w
1392
+ k-block: 4
1393
+ - name: xnn_f32_gemm_minmax_ukernel_4x8s4__wasmrelaxedsimd_fma
1394
+ init: xnn_init_f32_minmax_scalar_params
1395
+ pack: xnn_pack_f32_gemm_goi_w
1396
+ k-block: 4
1397
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_loadsplat
1398
+ init: xnn_init_f32_minmax_scalar_params
1399
+ pack: xnn_pack_f32_gemm_goi_w
1400
+ k-block: 1
1401
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_fma_splat
1402
+ init: xnn_init_f32_minmax_scalar_params
1403
+ pack: xnn_pack_f32_gemm_goi_w
1404
+ k-block: 4
1405
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_loadsplat
1406
+ init: xnn_init_f32_minmax_scalar_params
1407
+ pack: xnn_pack_f32_gemm_goi_w
1408
+ k-block: 1
1409
+ - name: xnn_f32_gemm_minmax_ukernel_5x8__wasmrelaxedsimd_splat
1410
+ init: xnn_init_f32_minmax_scalar_params
1411
+ pack: xnn_pack_f32_gemm_goi_w
1412
+ k-block: 4
1413
+ - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmrelaxedsimd
1414
+ init: xnn_init_f32_minmax_scalar_params
1415
+ pack: xnn_pack_f32_gemm_goi_w
1416
+ k-block: 4
1417
+ - name: xnn_f32_gemm_minmax_ukernel_5x8s4__wasmrelaxedsimd_fma
1418
+ init: xnn_init_f32_minmax_scalar_params
1419
+ pack: xnn_pack_f32_gemm_goi_w
1420
+ k-block: 4
1421
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_loadsplat
1422
+ init: xnn_init_f32_minmax_scalar_params
1423
+ pack: xnn_pack_f32_gemm_goi_w
1424
+ k-block: 1
1425
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_fma_splat
1426
+ init: xnn_init_f32_minmax_scalar_params
1427
+ pack: xnn_pack_f32_gemm_goi_w
1428
+ k-block: 4
1429
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_loadsplat
1430
+ init: xnn_init_f32_minmax_scalar_params
1431
+ pack: xnn_pack_f32_gemm_goi_w
1432
+ k-block: 1
1433
+ - name: xnn_f32_gemm_minmax_ukernel_6x8__wasmrelaxedsimd_splat
1434
+ init: xnn_init_f32_minmax_scalar_params
1435
+ pack: xnn_pack_f32_gemm_goi_w
1436
+ k-block: 4
1437
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmrelaxedsimd
1438
+ init: xnn_init_f32_minmax_scalar_params
1439
+ pack: xnn_pack_f32_gemm_goi_w
1440
+ k-block: 4
1441
+ - name: xnn_f32_gemm_minmax_ukernel_6x8s4__wasmrelaxedsimd_fma
1442
+ init: xnn_init_f32_minmax_scalar_params
1443
+ pack: xnn_pack_f32_gemm_goi_w
1444
+ k-block: 4
1445
+ # Scalar
1446
+ - name: xnn_f32_gemm_minmax_ukernel_1x4__scalar
1447
+ init: xnn_init_f32_minmax_scalar_params
1448
+ pack: xnn_pack_f32_gemm_goi_w
1449
+ k-block: 1
1450
+ - name: xnn_f32_gemm_minmax_ukernel_2x4__scalar
1451
+ init: xnn_init_f32_minmax_scalar_params
1452
+ pack: xnn_pack_f32_gemm_goi_w
1453
+ k-block: 1
1454
+ - name: xnn_f32_gemm_minmax_ukernel_4x2__scalar
1455
+ init: xnn_init_f32_minmax_scalar_params
1456
+ pack: xnn_pack_f32_gemm_goi_w
1457
+ k-block: 1
1458
+ - name: xnn_f32_gemm_minmax_ukernel_4x4__scalar
1459
+ init: xnn_init_f32_minmax_scalar_params
1460
+ pack: xnn_pack_f32_gemm_goi_w
1461
+ k-block: 1
1462
+ # RISC-V
1463
+ - name: xnn_f32_gemm_minmax_ukernel_1x4v__rvv
1464
+ init: xnn_init_f32_minmax_scalar_params
1465
+ pack: xnn_pack_f32_gemm_goi_w
1466
+ k-block: 1
1467
+ - name: xnn_f32_gemm_minmax_ukernel_7x4v__rvv
1468
+ init: xnn_init_f32_minmax_scalar_params
1469
+ pack: xnn_pack_f32_gemm_goi_w
1470
+ k-block: 1
1471
+
1472
+ # Hexagon HVX
1473
+ - name: xnn_f32_gemm_minmax_ukernel_1x32__hvx_broadcast
1474
+ init: xnn_init_f32_minmax_scalar_params
1475
+ pack: xnn_pack_f32_gemm_goi_w
1476
+ k-block: 1
1477
+ - name: xnn_f32_gemm_minmax_ukernel_2x32__hvx_broadcast
1478
+ init: xnn_init_f32_minmax_scalar_params
1479
+ pack: xnn_pack_f32_gemm_goi_w
1480
+ k-block: 1
1481
+ - name: xnn_f32_gemm_minmax_ukernel_3x32__hvx_broadcast
1482
+ init: xnn_init_f32_minmax_scalar_params
1483
+ pack: xnn_pack_f32_gemm_goi_w
1484
+ k-block: 1
1485
+ - name: xnn_f32_gemm_minmax_ukernel_4x32__hvx_broadcast
1486
+ init: xnn_init_f32_minmax_scalar_params
1487
+ pack: xnn_pack_f32_gemm_goi_w
1488
+ k-block: 1
1489
+ - name: xnn_f32_gemm_minmax_ukernel_5x32__hvx_broadcast
1490
+ init: xnn_init_f32_minmax_scalar_params
1491
+ pack: xnn_pack_f32_gemm_goi_w
1492
+ k-block: 1
1493
+ - name: xnn_f32_gemm_minmax_ukernel_6x32__hvx_broadcast
1494
+ init: xnn_init_f32_minmax_scalar_params
1495
+ pack: xnn_pack_f32_gemm_goi_w
1496
+ k-block: 1
1497
+ - name: xnn_f32_gemm_minmax_ukernel_7x32__hvx_broadcast
1498
+ init: xnn_init_f32_minmax_scalar_params
1499
+ pack: xnn_pack_f32_gemm_goi_w
1500
+ k-block: 1
1501
+ - name: xnn_f32_gemm_minmax_ukernel_8x32__hvx_broadcast
1502
+ init: xnn_init_f32_minmax_scalar_params
1503
+ pack: xnn_pack_f32_gemm_goi_w
1504
+ k-block: 1
1505
+ - name: xnn_f32_gemm_minmax_ukernel_9x32__hvx_broadcast
1506
+ init: xnn_init_f32_minmax_scalar_params
1507
+ pack: xnn_pack_f32_gemm_goi_w
1508
+ k-block: 1
1509
+ - name: xnn_f32_gemm_minmax_ukernel_10x32__hvx_broadcast
1510
+ init: xnn_init_f32_minmax_scalar_params
1511
+ pack: xnn_pack_f32_gemm_goi_w
1512
+ k-block: 1
1513
+ - name: xnn_f32_gemm_minmax_ukernel_1x64__hvx_broadcast
1514
+ init: xnn_init_f32_minmax_scalar_params
1515
+ pack: xnn_pack_f32_gemm_goi_w
1516
+ k-block: 1
1517
+ - name: xnn_f32_gemm_minmax_ukernel_2x64__hvx_broadcast
1518
+ init: xnn_init_f32_minmax_scalar_params
1519
+ pack: xnn_pack_f32_gemm_goi_w
1520
+ k-block: 1
1521
+ - name: xnn_f32_gemm_minmax_ukernel_3x64__hvx_broadcast
1522
+ init: xnn_init_f32_minmax_scalar_params
1523
+ pack: xnn_pack_f32_gemm_goi_w
1524
+ k-block: 1
1525
+ - name: xnn_f32_gemm_minmax_ukernel_4x64__hvx_broadcast
1526
+ init: xnn_init_f32_minmax_scalar_params
1527
+ pack: xnn_pack_f32_gemm_goi_w
1528
+ k-block: 1
1529
+ - name: xnn_f32_gemm_minmax_ukernel_5x64__hvx_broadcast
1530
+ init: xnn_init_f32_minmax_scalar_params
1531
+ pack: xnn_pack_f32_gemm_goi_w
1532
+ k-block: 1
1533
+ - name: xnn_f32_gemm_minmax_ukernel_6x64__hvx_broadcast
1534
+ init: xnn_init_f32_minmax_scalar_params
1535
+ pack: xnn_pack_f32_gemm_goi_w
1536
+ k-block: 1
1537
+ - name: xnn_f32_gemm_minmax_ukernel_7x64__hvx_broadcast
1538
+ init: xnn_init_f32_minmax_scalar_params
1539
+ pack: xnn_pack_f32_gemm_goi_w
1540
+ k-block: 1
1541
+ - name: xnn_f32_gemm_minmax_ukernel_8x64__hvx_broadcast
1542
+ init: xnn_init_f32_minmax_scalar_params
1543
+ pack: xnn_pack_f32_gemm_goi_w
1544
+ k-block: 1
1545
+ - name: xnn_f32_gemm_minmax_ukernel_9x64__hvx_broadcast
1546
+ init: xnn_init_f32_minmax_scalar_params
1547
+ pack: xnn_pack_f32_gemm_goi_w
1548
+ k-block: 1
1549
+ - name: xnn_f32_gemm_minmax_ukernel_10x64__hvx_broadcast
1550
+ init: xnn_init_f32_minmax_scalar_params
1551
+ pack: xnn_pack_f32_gemm_goi_w
1552
+ k-block: 1
1553
+ - name: xnn_f32_gemm_minmax_ukernel_1x128__hvx_broadcast
1554
+ init: xnn_init_f32_minmax_scalar_params
1555
+ pack: xnn_pack_f32_gemm_goi_w
1556
+ k-block: 1
1557
+ - name: xnn_f32_gemm_minmax_ukernel_2x128__hvx_broadcast
1558
+ init: xnn_init_f32_minmax_scalar_params
1559
+ pack: xnn_pack_f32_gemm_goi_w
1560
+ k-block: 1
1561
+ - name: xnn_f32_gemm_minmax_ukernel_3x128__hvx_broadcast
1562
+ init: xnn_init_f32_minmax_scalar_params
1563
+ pack: xnn_pack_f32_gemm_goi_w
1564
+ k-block: 1
1565
+ - name: xnn_f32_gemm_minmax_ukernel_4x128__hvx_broadcast
1566
+ init: xnn_init_f32_minmax_scalar_params
1567
+ pack: xnn_pack_f32_gemm_goi_w
1568
+ k-block: 1
1569
+ - name: xnn_f32_gemm_minmax_ukernel_5x128__hvx_broadcast
1570
+ init: xnn_init_f32_minmax_scalar_params
1571
+ pack: xnn_pack_f32_gemm_goi_w
1572
+ k-block: 1
1573
+ - name: xnn_f32_gemm_minmax_ukernel_6x128__hvx_broadcast
1574
+ init: xnn_init_f32_minmax_scalar_params
1575
+ pack: xnn_pack_f32_gemm_goi_w
1576
+ k-block: 1
1577
+ - name: xnn_f32_gemm_minmax_ukernel_7x128__hvx_broadcast
1578
+ init: xnn_init_f32_minmax_scalar_params
1579
+ pack: xnn_pack_f32_gemm_goi_w
1580
+ k-block: 1
1581
+ - name: xnn_f32_gemm_minmax_ukernel_8x128__hvx_broadcast
1582
+ init: xnn_init_f32_minmax_scalar_params
1583
+ pack: xnn_pack_f32_gemm_goi_w
1584
+ k-block: 1