executorch 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. executorch-0.1.2/LICENSE +33 -0
  2. {executorch-0.1.0 → executorch-0.1.2}/PKG-INFO +2 -1
  3. executorch-0.1.2/README.md +87 -0
  4. executorch-0.1.2/backends/apple/coreml/compiler/__init__.py +9 -0
  5. executorch-0.1.2/backends/apple/coreml/compiler/coreml_preprocess.py +76 -0
  6. executorch-0.1.2/backends/apple/coreml/runtime/inmemoryfs/setup.py +49 -0
  7. executorch-0.1.2/backends/apple/mps/mps_preprocess.py +784 -0
  8. executorch-0.1.2/backends/apple/mps/partition/mps_partitioner.py +66 -0
  9. executorch-0.1.2/backends/apple/mps/test/test_mps.py +2425 -0
  10. executorch-0.1.2/backends/apple/mps/test/test_mps_models.py +416 -0
  11. executorch-0.1.2/backends/apple/mps/test/test_mps_utils.py +231 -0
  12. executorch-0.1.2/backends/apple/mps/utils/graph_bindings.py +42 -0
  13. executorch-0.1.2/backends/apple/mps/utils/mps_utils.py +37 -0
  14. executorch-0.1.2/backends/arm/arm_backend.py +1044 -0
  15. executorch-0.1.2/backends/arm/test/test_models.py +510 -0
  16. executorch-0.1.2/backends/arm/test/test_tosa.py +110 -0
  17. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/serializer/__init__.py +3 -0
  18. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/serializer/tosa_serializer.py +941 -0
  19. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ArithmeticRightShiftAttribute.py +54 -0
  20. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Attribute.py +28 -0
  21. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/AxisAttribute.py +54 -0
  22. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ClampAttribute.py +145 -0
  23. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/CondIfAttribute.py +67 -0
  24. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ConvAttribute.py +184 -0
  25. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/CustomAttribute.py +106 -0
  26. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/DType.py +18 -0
  27. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/FFTAttribute.py +54 -0
  28. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/FullyConnectedAttribute.py +67 -0
  29. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/MatMulAttribute.py +67 -0
  30. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/MulAttribute.py +54 -0
  31. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/NegateAttribute.py +67 -0
  32. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Op.py +78 -0
  33. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/PadAttribute.py +132 -0
  34. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/PoolAttribute.py +197 -0
  35. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/RescaleAttribute.py +210 -0
  36. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ReshapeAttribute.py +80 -0
  37. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ResizeAttribute.py +171 -0
  38. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ResizeMode.py +8 -0
  39. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/SliceAttribute.py +119 -0
  40. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TableAttribute.py +80 -0
  41. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TileAttribute.py +80 -0
  42. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaBasicBlock.py +192 -0
  43. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaGraph.py +95 -0
  44. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaOperator.py +147 -0
  45. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaRegion.py +91 -0
  46. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaTensor.py +171 -0
  47. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TransposeAttribute.py +80 -0
  48. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TransposeConvAttribute.py +184 -0
  49. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Version.py +93 -0
  50. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/WhileLoopAttribute.py +67 -0
  51. executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/__init__.py +0 -0
  52. executorch-0.1.2/backends/arm/third-party/serialization_lib/schema/tosa.fbs +315 -0
  53. executorch-0.1.2/backends/arm/third-party/serialization_lib/test/scripts/test_npy_fileio.py +152 -0
  54. executorch-0.1.2/backends/arm/third-party/serialization_lib/test/scripts/xunit/xunit.py +109 -0
  55. executorch-0.1.2/backends/arm/tosa_mapping.py +109 -0
  56. executorch-0.1.2/backends/arm/tosa_quant_utils.py +182 -0
  57. executorch-0.1.2/backends/example/example_backend.py +40 -0
  58. executorch-0.1.2/backends/example/example_backend_delegate_passes/merge_to_dim_pass.py +79 -0
  59. executorch-0.1.2/backends/example/example_backend_delegate_passes/permute_memory_formats_pass.py +141 -0
  60. executorch-0.1.2/backends/example/example_operators/adaptive_avg_pool2d.py +47 -0
  61. executorch-0.1.2/backends/example/example_operators/add.py +44 -0
  62. executorch-0.1.2/backends/example/example_operators/conv2d.py +52 -0
  63. executorch-0.1.2/backends/example/example_operators/conv_relu.py +49 -0
  64. executorch-0.1.2/backends/example/example_operators/dropout.py +44 -0
  65. executorch-0.1.2/backends/example/example_operators/flatten.py +40 -0
  66. executorch-0.1.2/backends/example/example_operators/linear.py +62 -0
  67. executorch-0.1.2/backends/example/example_operators/op_base.py +15 -0
  68. executorch-0.1.2/backends/example/example_operators/ops.py +32 -0
  69. executorch-0.1.2/backends/example/example_operators/utils.py +33 -0
  70. executorch-0.1.2/backends/example/example_partitioner.py +88 -0
  71. executorch-0.1.2/backends/example/example_quantizer.py +102 -0
  72. executorch-0.1.2/backends/example/test_example_delegate.py +111 -0
  73. executorch-0.1.2/backends/qualcomm/builders/__init__.py +79 -0
  74. executorch-0.1.2/backends/qualcomm/builders/node_visitor.py +339 -0
  75. executorch-0.1.2/backends/qualcomm/builders/op_add.py +63 -0
  76. executorch-0.1.2/backends/qualcomm/builders/op_avg_pool2d.py +146 -0
  77. executorch-0.1.2/backends/qualcomm/builders/op_batch_norm.py +92 -0
  78. executorch-0.1.2/backends/qualcomm/builders/op_bmm.py +68 -0
  79. executorch-0.1.2/backends/qualcomm/builders/op_cast.py +59 -0
  80. executorch-0.1.2/backends/qualcomm/builders/op_cat.py +79 -0
  81. executorch-0.1.2/backends/qualcomm/builders/op_ceil.py +58 -0
  82. executorch-0.1.2/backends/qualcomm/builders/op_clamp.py +81 -0
  83. executorch-0.1.2/backends/qualcomm/builders/op_conv2d.py +189 -0
  84. executorch-0.1.2/backends/qualcomm/builders/op_depth_to_space.py +80 -0
  85. executorch-0.1.2/backends/qualcomm/builders/op_dequantize.py +78 -0
  86. executorch-0.1.2/backends/qualcomm/builders/op_div.py +63 -0
  87. executorch-0.1.2/backends/qualcomm/builders/op_embedding.py +79 -0
  88. executorch-0.1.2/backends/qualcomm/builders/op_expand.py +84 -0
  89. executorch-0.1.2/backends/qualcomm/builders/op_hardswish.py +60 -0
  90. executorch-0.1.2/backends/qualcomm/builders/op_hardtanh.py +81 -0
  91. executorch-0.1.2/backends/qualcomm/builders/op_linear.py +83 -0
  92. executorch-0.1.2/backends/qualcomm/builders/op_max_pool2d.py +143 -0
  93. executorch-0.1.2/backends/qualcomm/builders/op_mean_dim.py +87 -0
  94. executorch-0.1.2/backends/qualcomm/builders/op_mul.py +63 -0
  95. executorch-0.1.2/backends/qualcomm/builders/op_pad.py +100 -0
  96. executorch-0.1.2/backends/qualcomm/builders/op_quantize.py +74 -0
  97. executorch-0.1.2/backends/qualcomm/builders/op_relu.py +61 -0
  98. executorch-0.1.2/backends/qualcomm/builders/op_reshape.py +57 -0
  99. executorch-0.1.2/backends/qualcomm/builders/op_select_copy.py +90 -0
  100. executorch-0.1.2/backends/qualcomm/builders/op_skip_ops.py +52 -0
  101. executorch-0.1.2/backends/qualcomm/builders/op_slice_copy.py +88 -0
  102. executorch-0.1.2/backends/qualcomm/builders/op_softmax.py +74 -0
  103. executorch-0.1.2/backends/qualcomm/builders/op_sub.py +63 -0
  104. executorch-0.1.2/backends/qualcomm/builders/op_tanh.py +60 -0
  105. executorch-0.1.2/backends/qualcomm/builders/op_transpose.py +76 -0
  106. executorch-0.1.2/backends/qualcomm/builders/op_unsqueeze.py +68 -0
  107. executorch-0.1.2/backends/qualcomm/builders/op_upsample_bilinear2d.py +69 -0
  108. executorch-0.1.2/backends/qualcomm/partition/common_defs.py +30 -0
  109. executorch-0.1.2/backends/qualcomm/partition/qnn_partitioner.py +137 -0
  110. executorch-0.1.2/backends/qualcomm/passes/__init__.py +60 -0
  111. executorch-0.1.2/backends/qualcomm/passes/annotate_and_quant_scalar.py +110 -0
  112. executorch-0.1.2/backends/qualcomm/passes/annotate_quant_attrs.py +71 -0
  113. executorch-0.1.2/backends/qualcomm/passes/convert_hardsigmoid.py +102 -0
  114. executorch-0.1.2/backends/qualcomm/passes/convert_hardswish.py +40 -0
  115. executorch-0.1.2/backends/qualcomm/passes/convert_interpolate_with_upsample2d.py +47 -0
  116. executorch-0.1.2/backends/qualcomm/passes/fold_qdq.py +69 -0
  117. executorch-0.1.2/backends/qualcomm/passes/i64_to_i32.py +82 -0
  118. executorch-0.1.2/backends/qualcomm/passes/insert_io_qdq.py +87 -0
  119. executorch-0.1.2/backends/qualcomm/passes/layout_transform.py +228 -0
  120. executorch-0.1.2/backends/qualcomm/passes/recompose_pixel_shuffle.py +69 -0
  121. executorch-0.1.2/backends/qualcomm/passes/remove_clone.py +40 -0
  122. executorch-0.1.2/backends/qualcomm/qnn_preprocess.py +80 -0
  123. executorch-0.1.2/backends/qualcomm/qnn_quantizer.py +773 -0
  124. executorch-0.1.2/backends/qualcomm/tests/qnn_test_utils.py +173 -0
  125. executorch-0.1.2/backends/qualcomm/tests/test_qnn_delegate.py +1208 -0
  126. executorch-0.1.2/backends/qualcomm/utils/qnn_constants.py +233 -0
  127. executorch-0.1.2/backends/qualcomm/utils/utils.py +177 -0
  128. executorch-0.1.2/backends/transforms/__init__.py +12 -0
  129. executorch-0.1.2/backends/transforms/addmm_mm_to_linear.py +160 -0
  130. executorch-0.1.2/backends/vulkan/serialization/schema/schema.fbs +71 -0
  131. executorch-0.1.2/backends/vulkan/serialization/vulkan_graph_schema.py +75 -0
  132. executorch-0.1.2/backends/vulkan/serialization/vulkan_graph_serialize.py +34 -0
  133. executorch-0.1.2/backends/vulkan/test/test_vulkan_delegate.py +214 -0
  134. executorch-0.1.2/backends/vulkan/vulkan_preprocess.py +147 -0
  135. executorch-0.1.2/backends/xnnpack/operators/__init__.py +48 -0
  136. executorch-0.1.2/backends/xnnpack/operators/node_visitor.py +506 -0
  137. executorch-0.1.2/backends/xnnpack/operators/op_abs.py +52 -0
  138. executorch-0.1.2/backends/xnnpack/operators/op_add.py +84 -0
  139. executorch-0.1.2/backends/xnnpack/operators/op_addmm.py +70 -0
  140. executorch-0.1.2/backends/xnnpack/operators/op_avg_pooling2d.py +74 -0
  141. executorch-0.1.2/backends/xnnpack/operators/op_cat.py +101 -0
  142. executorch-0.1.2/backends/xnnpack/operators/op_ceiling.py +52 -0
  143. executorch-0.1.2/backends/xnnpack/operators/op_clamp.py +64 -0
  144. executorch-0.1.2/backends/xnnpack/operators/op_conv2d.py +169 -0
  145. executorch-0.1.2/backends/xnnpack/operators/op_dequantize_per_tensor.py +68 -0
  146. executorch-0.1.2/backends/xnnpack/operators/op_div.py +56 -0
  147. executorch-0.1.2/backends/xnnpack/operators/op_elu.py +56 -0
  148. executorch-0.1.2/backends/xnnpack/operators/op_floor.py +48 -0
  149. executorch-0.1.2/backends/xnnpack/operators/op_hardswish.py +52 -0
  150. executorch-0.1.2/backends/xnnpack/operators/op_hardtanh.py +67 -0
  151. executorch-0.1.2/backends/xnnpack/operators/op_leaky_relu.py +65 -0
  152. executorch-0.1.2/backends/xnnpack/operators/op_linear.py +74 -0
  153. executorch-0.1.2/backends/xnnpack/operators/op_matrix_multiplication.py +66 -0
  154. executorch-0.1.2/backends/xnnpack/operators/op_max_dim.py +206 -0
  155. executorch-0.1.2/backends/xnnpack/operators/op_max_pool2d.py +91 -0
  156. executorch-0.1.2/backends/xnnpack/operators/op_maximum.py +55 -0
  157. executorch-0.1.2/backends/xnnpack/operators/op_mean_dim.py +77 -0
  158. executorch-0.1.2/backends/xnnpack/operators/op_minimum.py +54 -0
  159. executorch-0.1.2/backends/xnnpack/operators/op_multiply.py +84 -0
  160. executorch-0.1.2/backends/xnnpack/operators/op_negate.py +51 -0
  161. executorch-0.1.2/backends/xnnpack/operators/op_permute.py +57 -0
  162. executorch-0.1.2/backends/xnnpack/operators/op_prelu.py +56 -0
  163. executorch-0.1.2/backends/xnnpack/operators/op_quantize_per_tensor.py +68 -0
  164. executorch-0.1.2/backends/xnnpack/operators/op_relu.py +61 -0
  165. executorch-0.1.2/backends/xnnpack/operators/op_sigmoid.py +48 -0
  166. executorch-0.1.2/backends/xnnpack/operators/op_skip_ops.py +115 -0
  167. executorch-0.1.2/backends/xnnpack/operators/op_slice_copy.py +99 -0
  168. executorch-0.1.2/backends/xnnpack/operators/op_softmax.py +58 -0
  169. executorch-0.1.2/backends/xnnpack/operators/op_square.py +52 -0
  170. executorch-0.1.2/backends/xnnpack/operators/op_square_root.py +52 -0
  171. executorch-0.1.2/backends/xnnpack/operators/op_squeeze.py +117 -0
  172. executorch-0.1.2/backends/xnnpack/operators/op_static_constant_pad.py +130 -0
  173. executorch-0.1.2/backends/xnnpack/operators/op_static_resize_bilinear_2d.py +61 -0
  174. executorch-0.1.2/backends/xnnpack/operators/op_sub.py +84 -0
  175. executorch-0.1.2/backends/xnnpack/operators/op_to_copy.py +91 -0
  176. executorch-0.1.2/backends/xnnpack/operators/quant_params.py +247 -0
  177. executorch-0.1.2/backends/xnnpack/partition/configs.py +142 -0
  178. executorch-0.1.2/backends/xnnpack/partition/xnnpack_partitioner.py +879 -0
  179. executorch-0.1.2/backends/xnnpack/passes/__init__.py +75 -0
  180. executorch-0.1.2/backends/xnnpack/passes/channels_last_tagged_reshape_pass.py +407 -0
  181. executorch-0.1.2/backends/xnnpack/passes/conv1d_unsqueeze_pass.py +129 -0
  182. executorch-0.1.2/backends/xnnpack/passes/convert_to_linear.py +201 -0
  183. executorch-0.1.2/backends/xnnpack/passes/fuse_batch_norm_with_conv.py +133 -0
  184. executorch-0.1.2/backends/xnnpack/passes/prelu_reshape_pass.py +75 -0
  185. executorch-0.1.2/backends/xnnpack/passes/remove_getitem_op.py +90 -0
  186. executorch-0.1.2/backends/xnnpack/passes/tag_implicit_q_dq_pass.py +207 -0
  187. executorch-0.1.2/backends/xnnpack/passes/xnnpack_pass.py +22 -0
  188. executorch-0.1.2/backends/xnnpack/serialization/schema.fbs +309 -0
  189. executorch-0.1.2/backends/xnnpack/serialization/xnnpack_graph_schema.py +431 -0
  190. executorch-0.1.2/backends/xnnpack/serialization/xnnpack_graph_serialize.py +31 -0
  191. executorch-0.1.2/backends/xnnpack/test/models/deeplab_v3.py +41 -0
  192. executorch-0.1.2/backends/xnnpack/test/models/edsr.py +42 -0
  193. executorch-0.1.2/backends/xnnpack/test/models/inception_v3.py +67 -0
  194. executorch-0.1.2/backends/xnnpack/test/models/inception_v4.py +65 -0
  195. executorch-0.1.2/backends/xnnpack/test/models/mobilenet_v2.py +65 -0
  196. executorch-0.1.2/backends/xnnpack/test/models/mobilenet_v3.py +67 -0
  197. executorch-0.1.2/backends/xnnpack/test/models/torchvision_vit.py +62 -0
  198. executorch-0.1.2/backends/xnnpack/test/ops/add.py +111 -0
  199. executorch-0.1.2/backends/xnnpack/test/ops/conv1d.py +58 -0
  200. executorch-0.1.2/backends/xnnpack/test/test_xnnpack.py +1027 -0
  201. executorch-0.1.2/backends/xnnpack/test/test_xnnpack_passes.py +570 -0
  202. executorch-0.1.2/backends/xnnpack/test/test_xnnpack_quantized.py +782 -0
  203. executorch-0.1.2/backends/xnnpack/test/test_xnnpack_quantized_models.py +17 -0
  204. executorch-0.1.2/backends/xnnpack/test/test_xnnpack_utils.py +523 -0
  205. executorch-0.1.2/backends/xnnpack/test/test_xnnpack_utils_classes.py +39 -0
  206. executorch-0.1.2/backends/xnnpack/test/tester/__init__.py +28 -0
  207. executorch-0.1.2/backends/xnnpack/test/tester/tester.py +405 -0
  208. executorch-0.1.2/backends/xnnpack/third-party/FP16/configure.py +65 -0
  209. executorch-0.1.2/backends/xnnpack/third-party/FP16/confu.yaml +8 -0
  210. executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/__init__.py +0 -0
  211. executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/avx.py +50 -0
  212. executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/avx2.py +53 -0
  213. executorch-0.1.2/backends/xnnpack/third-party/FP16/test/peachpy/stubs.py +38 -0
  214. executorch-0.1.2/backends/xnnpack/third-party/FXdiv/configure.py +30 -0
  215. executorch-0.1.2/backends/xnnpack/third-party/FXdiv/confu.yaml +6 -0
  216. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/scripts/convert-assembly-to-jit.py +1323 -0
  217. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/scripts/sort-filenames.py +137 -0
  218. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/src/enums/microkernel-type.yaml +29 -0
  219. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/src/enums/operator-type.yaml +263 -0
  220. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/bf16-gemm-minmax.yaml +82 -0
  221. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-bfly4.yaml +22 -0
  222. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-fftr.yaml +15 -0
  223. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-vsquareabs.yaml +24 -0
  224. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-avgpool-minmax.yaml +16 -0
  225. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv-unipass-minmax.yaml +104 -0
  226. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv2d-chw.yaml +88 -0
  227. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-f32-vcvt.yaml +123 -0
  228. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-gavgpool-minmax.yaml +40 -0
  229. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-gemm-minmax.yaml +100 -0
  230. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear-chw.yaml +9 -0
  231. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear.yaml +12 -0
  232. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-igemm-minmax.yaml +88 -0
  233. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-maxpool-minmax.yaml +12 -0
  234. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-pavgpool-minmax.yaml +16 -0
  235. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-prelu.yaml +12 -0
  236. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-raddstoreexpminusmax.yaml +92 -0
  237. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-spmm-minmax.yaml +42 -0
  238. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vabs.yaml +14 -0
  239. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vadd-minmax.yaml +24 -0
  240. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vaddc-minmax.yaml +24 -0
  241. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vclamp.yaml +16 -0
  242. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vdiv-minmax.yaml +24 -0
  243. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vdivc-minmax.yaml +24 -0
  244. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-velu.yaml +16 -0
  245. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vhswish.yaml +16 -0
  246. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vlrelu.yaml +16 -0
  247. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmax.yaml +17 -0
  248. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmaxc.yaml +17 -0
  249. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmin.yaml +17 -0
  250. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vminc.yaml +17 -0
  251. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmul-minmax.yaml +24 -0
  252. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmulc-minmax.yaml +24 -0
  253. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmulcaddc-minmax.yaml +16 -0
  254. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vneg.yaml +14 -0
  255. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrdivc-minmax.yaml +24 -0
  256. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndd.yaml +12 -0
  257. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndne.yaml +12 -0
  258. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndu.yaml +12 -0
  259. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndz.yaml +12 -0
  260. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrsubc-minmax.yaml +24 -0
  261. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsigmoid.yaml +88 -0
  262. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqr.yaml +12 -0
  263. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrdiff.yaml +17 -0
  264. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrdiffc.yaml +17 -0
  265. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrt.yaml +23 -0
  266. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsub-minmax.yaml +24 -0
  267. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsubc-minmax.yaml +24 -0
  268. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-argmaxpool.yaml +29 -0
  269. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-avgpool-minmax.yaml +39 -0
  270. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-multipass-minmax.yaml +128 -0
  271. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-multipass.yaml +20 -0
  272. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-unipass-minmax.yaml +436 -0
  273. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-unipass.yaml +42 -0
  274. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv2d-chw.yaml +679 -0
  275. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-f16-vcvt.yaml +85 -0
  276. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gavgpool-minmax.yaml +39 -0
  277. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-jit.yaml +95 -0
  278. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-minmax.yaml +601 -0
  279. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-relu.yaml +89 -0
  280. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm.yaml +83 -0
  281. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemminc-minmax.yaml +512 -0
  282. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear-chw.yaml +22 -0
  283. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear.yaml +23 -0
  284. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-jit.yaml +97 -0
  285. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-minmax.yaml +597 -0
  286. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-relu.yaml +89 -0
  287. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm.yaml +80 -0
  288. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-maxpool-minmax.yaml +22 -0
  289. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-pavgpool-minmax.yaml +39 -0
  290. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ppmm-minmax.yaml +42 -0
  291. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-prelu.yaml +72 -0
  292. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-qs8-vcvt.yaml +116 -0
  293. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-qu8-vcvt.yaml +108 -0
  294. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddexpminusmax.yaml +31 -0
  295. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddextexp.yaml +31 -0
  296. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddstoreexpminusmax.yaml +252 -0
  297. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-spmm-minmax.yaml +279 -0
  298. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vabs.yaml +32 -0
  299. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd-minmax.yaml +56 -0
  300. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd-relu.yaml +19 -0
  301. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd.yaml +14 -0
  302. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc-minmax.yaml +56 -0
  303. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc-relu.yaml +19 -0
  304. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc.yaml +14 -0
  305. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vclamp.yaml +48 -0
  306. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv-minmax.yaml +56 -0
  307. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv-relu.yaml +19 -0
  308. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv.yaml +14 -0
  309. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc-minmax.yaml +56 -0
  310. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc-relu.yaml +19 -0
  311. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc.yaml +14 -0
  312. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-velu.yaml +401 -0
  313. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vhswish.yaml +53 -0
  314. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vlrelu.yaml +65 -0
  315. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmax.yaml +36 -0
  316. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmaxc.yaml +36 -0
  317. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmin.yaml +36 -0
  318. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vminc.yaml +36 -0
  319. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul-minmax.yaml +56 -0
  320. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul-relu.yaml +19 -0
  321. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul.yaml +14 -0
  322. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc-minmax.yaml +56 -0
  323. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc-relu.yaml +19 -0
  324. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc.yaml +14 -0
  325. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulcaddc-minmax.yaml +51 -0
  326. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vneg.yaml +32 -0
  327. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc-minmax.yaml +56 -0
  328. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc-relu.yaml +19 -0
  329. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc.yaml +14 -0
  330. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrelu.yaml +34 -0
  331. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndd.yaml +32 -0
  332. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndne.yaml +32 -0
  333. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndu.yaml +32 -0
  334. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndz.yaml +32 -0
  335. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc-minmax.yaml +56 -0
  336. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc-relu.yaml +19 -0
  337. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc.yaml +14 -0
  338. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vscaleexpminusmax.yaml +31 -0
  339. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vscaleextexp.yaml +31 -0
  340. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsigmoid.yaml +526 -0
  341. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqr.yaml +26 -0
  342. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrdiff.yaml +28 -0
  343. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrdiffc.yaml +28 -0
  344. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrt.yaml +77 -0
  345. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub-minmax.yaml +56 -0
  346. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub-relu.yaml +19 -0
  347. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub.yaml +14 -0
  348. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc-minmax.yaml +56 -0
  349. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc-relu.yaml +19 -0
  350. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc.yaml +14 -0
  351. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/i16-vlshift.yaml +17 -0
  352. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-dwconv-unipass-minmax-fp32.yaml +352 -0
  353. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-gemm-minmax-fp32.yaml +890 -0
  354. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-igemm-minmax-fp32.yaml +851 -0
  355. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-dwconv-unipass-minmax-fp32.yaml +268 -0
  356. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-dwconv-unipass-minmax-rndnu.yaml +53 -0
  357. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-f32-vcvt.yaml +66 -0
  358. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gavgpool-minmax-fp32.yaml +117 -0
  359. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gavgpool-minmax-rndnu.yaml +22 -0
  360. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gemm-minmax-fp32.yaml +888 -0
  361. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gemm-minmax-rndnu.yaml +753 -0
  362. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-igemm-minmax-fp32.yaml +695 -0
  363. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-igemm-minmax-rndnu.yaml +708 -0
  364. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vadd-minmax.yaml +100 -0
  365. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vaddc-minmax.yaml +100 -0
  366. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vcvt.yaml +76 -0
  367. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vlrelu.yaml +98 -0
  368. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmul-minmax-fp32.yaml +44 -0
  369. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmul-minmax-rndnu.yaml +12 -0
  370. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmulc-minmax-fp32.yaml +44 -0
  371. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmulc-minmax-rndnu.yaml +12 -0
  372. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-avgpool-minmax-fp32.yaml +23 -0
  373. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-dwconv-unipass-minmax-fp32.yaml +172 -0
  374. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-dwconv-unipass-minmax-rndnu.yaml +45 -0
  375. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-f32-vcvt.yaml +66 -0
  376. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gavgpool-minmax-fp32.yaml +117 -0
  377. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gavgpool-minmax-rndnu.yaml +22 -0
  378. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-fp32.yaml +525 -0
  379. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-rndnu.yaml +170 -0
  380. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-fp32.yaml +525 -0
  381. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-rndnu.yaml +137 -0
  382. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vadd-minmax.yaml +66 -0
  383. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vaddc-minmax.yaml +66 -0
  384. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vcvt.yaml +76 -0
  385. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vlrelu.yaml +98 -0
  386. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmul-minmax-fp32.yaml +44 -0
  387. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmul-minmax-rndnu.yaml +12 -0
  388. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmulc-minmax-fp32.yaml +44 -0
  389. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmulc-minmax-rndnu.yaml +12 -0
  390. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s16-rmaxabs.yaml +17 -0
  391. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s16-window.yaml +25 -0
  392. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-ibilinear.yaml +22 -0
  393. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-maxpool-minmax.yaml +23 -0
  394. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-vclamp.yaml +19 -0
  395. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-filterbank-accumulate.yaml +17 -0
  396. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-filterbank-subtract.yaml +8 -0
  397. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-vlog.yaml +11 -0
  398. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u64-u32-vsqrtshift.yaml +7 -0
  399. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-ibilinear.yaml +22 -0
  400. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-maxpool-minmax.yaml +17 -0
  401. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-vclamp.yaml +17 -0
  402. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x16-transpose.yaml +47 -0
  403. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x24-transpose.yaml +26 -0
  404. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x32-packx.yaml +21 -0
  405. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x32-transpose.yaml +68 -0
  406. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x64-transpose.yaml +45 -0
  407. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x8-lut.yaml +47 -0
  408. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x8-transpose.yaml +36 -0
  409. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/xx-transpose.yaml +7 -0
  410. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/amalgamate-microkernels.py +142 -0
  411. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/check-assembly-and-jit-microkernels-in-sync.py +88 -0
  412. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/dump-jit-output.py +84 -0
  413. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-argmaxpool-test.py +746 -0
  414. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-avgpool-test.py +2488 -0
  415. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-bfly4-test.py +197 -0
  416. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-multipass-test.py +472 -0
  417. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-unipass-test.py +399 -0
  418. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv2d-chw-test.py +340 -0
  419. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-enum.py +184 -0
  420. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-fftr-test.py +121 -0
  421. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-filterbank-accumulate-test.py +136 -0
  422. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-filterbank-subtract-test.py +162 -0
  423. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-gavgpool-test.py +601 -0
  424. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-gemm-test.py +1037 -0
  425. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-chw-test.py +227 -0
  426. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-test.py +229 -0
  427. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-lut-test.py +160 -0
  428. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-maxpool-test.py +1275 -0
  429. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-pack-test.py +231 -0
  430. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-prelu-test.py +244 -0
  431. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddexpminusmax-test.py +151 -0
  432. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddextexp-test.py +151 -0
  433. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddstoreexpminusmax-test.py +154 -0
  434. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-rmaxabs-test.py +152 -0
  435. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-spmm-test.py +467 -0
  436. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-transpose-test.py +376 -0
  437. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vbinary-test.py +374 -0
  438. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vcvt-test.py +350 -0
  439. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlog-test.py +185 -0
  440. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlrelu-test.py +233 -0
  441. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlshift-test.py +175 -0
  442. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vmulcaddc-test.py +288 -0
  443. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vscaleexpminusmax-test.py +166 -0
  444. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vscaleextexp-test.py +151 -0
  445. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vsquareabs-test.py +152 -0
  446. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vunary-test.py +285 -0
  447. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-window-test.py +237 -0
  448. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/primes.py +115 -0
  449. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/update-microkernels.py +165 -0
  450. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/xngen.py +153 -0
  451. executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/xnncommon.py +143 -0
  452. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/configure.py +104 -0
  453. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/confu.yaml +9 -0
  454. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/deps/clog/configure.py +26 -0
  455. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/deps/clog/confu.yaml +5 -0
  456. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/android-device-dump.py +400 -0
  457. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/arm-linux-filesystem-dump.py +107 -0
  458. executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/parse-x86-cpuid-dump.py +47 -0
  459. executorch-0.1.2/backends/xnnpack/third-party/generate-cpuinfo-wrappers.py +92 -0
  460. executorch-0.1.2/backends/xnnpack/third-party/generate-xnnpack-wrappers.py +253 -0
  461. executorch-0.1.2/backends/xnnpack/third-party/pthreadpool/configure.py +38 -0
  462. executorch-0.1.2/backends/xnnpack/third-party/pthreadpool/confu.yaml +8 -0
  463. executorch-0.1.2/backends/xnnpack/utils/configs.py +50 -0
  464. executorch-0.1.2/backends/xnnpack/utils/quant_utils.py +29 -0
  465. executorch-0.1.2/backends/xnnpack/utils/utils.py +104 -0
  466. executorch-0.1.2/backends/xnnpack/utils/xnnpack_constants.py +29 -0
  467. executorch-0.1.2/backends/xnnpack/xnnpack_preprocess.py +238 -0
  468. executorch-0.1.2/bundled_program/config.py +210 -0
  469. executorch-0.1.2/bundled_program/core.py +330 -0
  470. executorch-0.1.2/bundled_program/schema.py +98 -0
  471. executorch-0.1.2/bundled_program/serialize/__init__.py +106 -0
  472. executorch-0.1.2/bundled_program/serialize/bundled_program_schema.fbs +103 -0
  473. executorch-0.1.2/bundled_program/serialize/scalar_type.fbs +32 -0
  474. executorch-0.1.2/bundled_program/tests/common.py +227 -0
  475. executorch-0.1.2/bundled_program/tests/test_bundle_data.py +109 -0
  476. executorch-0.1.2/bundled_program/tests/test_config.py +139 -0
  477. executorch-0.1.2/bundled_program/tests/test_end2end.py +93 -0
  478. executorch-0.1.2/bundled_program/tests/test_serialize.py +38 -0
  479. executorch-0.1.2/bundled_program/version.py +13 -0
  480. {executorch-0.1.0/src → executorch-0.1.2}/executorch.egg-info/PKG-INFO +2 -1
  481. executorch-0.1.2/executorch.egg-info/SOURCES.txt +659 -0
  482. executorch-0.1.2/executorch.egg-info/requires.txt +15 -0
  483. executorch-0.1.2/executorch.egg-info/top_level.txt +8 -0
  484. executorch-0.1.2/exir/__init__.py +63 -0
  485. executorch-0.1.2/exir/_serialize/__init__.py +18 -0
  486. executorch-0.1.2/exir/_serialize/_dataclass.py +138 -0
  487. executorch-0.1.2/exir/_serialize/_flatbuffer.py +306 -0
  488. executorch-0.1.2/exir/_serialize/_program.py +595 -0
  489. executorch-0.1.2/exir/_serialize/program.fbs +381 -0
  490. executorch-0.1.2/exir/_serialize/scalar_type.fbs +32 -0
  491. executorch-0.1.2/exir/_serialize/test/test_flatbuffer.py +268 -0
  492. executorch-0.1.2/exir/_serialize/test/test_program.py +613 -0
  493. executorch-0.1.2/exir/backend/backend_api.py +330 -0
  494. executorch-0.1.2/exir/backend/backend_details.py +69 -0
  495. executorch-0.1.2/exir/backend/canonical_partitioners/duplicate_dequant_node_pass.py +111 -0
  496. executorch-0.1.2/exir/backend/canonical_partitioners/pattern_op_partitioner.py +137 -0
  497. executorch-0.1.2/exir/backend/compile_spec_schema.py +17 -0
  498. executorch-0.1.2/exir/backend/partitioner.py +87 -0
  499. executorch-0.1.2/exir/backend/test/backend_with_compiler_demo.py +130 -0
  500. executorch-0.1.2/exir/backend/test/backend_with_delegate_mapping_demo.py +209 -0
  501. executorch-0.1.2/exir/backend/test/demos/rpc/executor_backend_partitioner.py +73 -0
  502. executorch-0.1.2/exir/backend/test/demos/rpc/executor_backend_preprocess.py +33 -0
  503. executorch-0.1.2/exir/backend/test/demos/rpc/test_rpc.py +194 -0
  504. executorch-0.1.2/exir/backend/test/demos/test_delegate_aten_mode.py +76 -0
  505. executorch-0.1.2/exir/backend/test/demos/test_xnnpack_qnnpack.py +134 -0
  506. executorch-0.1.2/exir/backend/test/hta_partitioner_demo.py +285 -0
  507. executorch-0.1.2/exir/backend/test/op_partitioner_demo.py +114 -0
  508. executorch-0.1.2/exir/backend/test/qnn_backend_demo.py +33 -0
  509. executorch-0.1.2/exir/backend/test/test_backends.py +1231 -0
  510. executorch-0.1.2/exir/backend/test/test_backends_lifted.py +1255 -0
  511. executorch-0.1.2/exir/backend/test/test_backends_nested.py +257 -0
  512. executorch-0.1.2/exir/backend/test/test_debug_handle_map.py +131 -0
  513. executorch-0.1.2/exir/backend/test/test_delegate_map_builder.py +173 -0
  514. executorch-0.1.2/exir/backend/test/test_graph_partition.py +243 -0
  515. executorch-0.1.2/exir/backend/test/test_lowered_backend_module.py +220 -0
  516. executorch-0.1.2/exir/backend/test/test_utils.py +358 -0
  517. executorch-0.1.2/exir/backend/utils.py +259 -0
  518. executorch-0.1.2/exir/capture/__init__.py +28 -0
  519. executorch-0.1.2/exir/capture/_capture.py +391 -0
  520. executorch-0.1.2/exir/capture/_config.py +67 -0
  521. executorch-0.1.2/exir/capture/_unlift.py +159 -0
  522. executorch-0.1.2/exir/common.py +140 -0
  523. executorch-0.1.2/exir/control_flow.py +203 -0
  524. executorch-0.1.2/exir/delegate.py +159 -0
  525. executorch-0.1.2/exir/dialects/__init__.py +0 -0
  526. executorch-0.1.2/exir/dialects/_ops.py +167 -0
  527. executorch-0.1.2/exir/dialects/backend/_ops.py +123 -0
  528. executorch-0.1.2/exir/dialects/backend/test/test_backend_ops.py +89 -0
  529. executorch-0.1.2/exir/dialects/edge/_ops.py +406 -0
  530. executorch-0.1.2/exir/dialects/edge/arg/model.py +238 -0
  531. executorch-0.1.2/exir/dialects/edge/arg/type.py +46 -0
  532. executorch-0.1.2/exir/dialects/edge/dtype/runner.py +120 -0
  533. executorch-0.1.2/exir/dialects/edge/dtype/supported.py +44 -0
  534. executorch-0.1.2/exir/dialects/edge/dtype/utils.py +36 -0
  535. executorch-0.1.2/exir/dialects/edge/edge.yaml +6637 -0
  536. executorch-0.1.2/exir/dialects/edge/op/api.py +86 -0
  537. executorch-0.1.2/exir/dialects/edge/op/sample_input.py +1274 -0
  538. executorch-0.1.2/exir/dialects/edge/op/test/test_api.py +51 -0
  539. executorch-0.1.2/exir/dialects/edge/spec/gen.py +541 -0
  540. executorch-0.1.2/exir/dialects/edge/spec/utils.py +327 -0
  541. executorch-0.1.2/exir/dialects/edge/test/test_edge_ops.py +453 -0
  542. executorch-0.1.2/exir/dialects/edge/test/test_edge_yaml.py +223 -0
  543. executorch-0.1.2/exir/dialects/test/test_exir_dialect_ops.py +22 -0
  544. executorch-0.1.2/exir/dim_order_utils.py +57 -0
  545. executorch-0.1.2/exir/dynamic_shape.py +12 -0
  546. executorch-0.1.2/exir/emit/__init__.py +11 -0
  547. executorch-0.1.2/exir/emit/_emit_program.py +212 -0
  548. executorch-0.1.2/exir/emit/_emitter.py +1395 -0
  549. executorch-0.1.2/exir/emit/test/test_emit.py +1385 -0
  550. executorch-0.1.2/exir/error.py +55 -0
  551. executorch-0.1.2/exir/experimental/__init__.py +131 -0
  552. executorch-0.1.2/exir/experimental/export_pt2.py +167 -0
  553. executorch-0.1.2/exir/graph.py +86 -0
  554. executorch-0.1.2/exir/graph_module.py +70 -0
  555. executorch-0.1.2/exir/lowered_backend_module.py +563 -0
  556. executorch-0.1.2/exir/memory.py +41 -0
  557. executorch-0.1.2/exir/memory_planning.py +680 -0
  558. executorch-0.1.2/exir/operator/convert.py +282 -0
  559. executorch-0.1.2/exir/operator/manip.py +89 -0
  560. executorch-0.1.2/exir/pass_base.py +198 -0
  561. executorch-0.1.2/exir/pass_manager.py +78 -0
  562. executorch-0.1.2/exir/passes/__init__.py +514 -0
  563. executorch-0.1.2/exir/passes/_quant_patterns_and_replacements.py +581 -0
  564. executorch-0.1.2/exir/passes/const_prop_pass.py +88 -0
  565. executorch-0.1.2/exir/passes/debug_handle_generator_pass.py +32 -0
  566. executorch-0.1.2/exir/passes/dim_order_ops_registry.py +47 -0
  567. executorch-0.1.2/exir/passes/dynamic_shape_prop_pass.py +301 -0
  568. executorch-0.1.2/exir/passes/executorch_prim_ops_registry.py +109 -0
  569. executorch-0.1.2/exir/passes/memory_format_ops_pass.py +65 -0
  570. executorch-0.1.2/exir/passes/memory_planning_pass.py +117 -0
  571. executorch-0.1.2/exir/passes/normalize_transpose_pass.py +24 -0
  572. executorch-0.1.2/exir/passes/pass_registry.py +89 -0
  573. executorch-0.1.2/exir/passes/quant_fusion_pass.py +114 -0
  574. executorch-0.1.2/exir/passes/remove_assert_async_pass.py +28 -0
  575. executorch-0.1.2/exir/passes/remove_mixed_type_operators.py +85 -0
  576. executorch-0.1.2/exir/passes/remove_noop_pass.py +43 -0
  577. executorch-0.1.2/exir/passes/replace_aten_with_edge_pass.py +46 -0
  578. executorch-0.1.2/exir/passes/replace_broken_ops_with_function_ops_pass.py +44 -0
  579. executorch-0.1.2/exir/passes/replace_edge_with_backend_pass.py +50 -0
  580. executorch-0.1.2/exir/passes/replace_sym_size_op_pass.py +35 -0
  581. executorch-0.1.2/exir/passes/scalar_to_tensor_pass.py +32 -0
  582. executorch-0.1.2/exir/passes/spec_prop_pass.py +107 -0
  583. executorch-0.1.2/exir/passes/sym_shape_eval_pass.py +133 -0
  584. executorch-0.1.2/exir/passes/sym_to_tensor_pass.py +64 -0
  585. executorch-0.1.2/exir/print_program.py +413 -0
  586. executorch-0.1.2/exir/program/__init__.py +33 -0
  587. executorch-0.1.2/exir/program/_program.py +907 -0
  588. executorch-0.1.2/exir/program/test/test_program.py +295 -0
  589. executorch-0.1.2/exir/scalar_type.py +28 -0
  590. executorch-0.1.2/exir/schema.py +253 -0
  591. executorch-0.1.2/exir/serde/__init__.py +0 -0
  592. executorch-0.1.2/exir/serde/schema.py +27 -0
  593. executorch-0.1.2/exir/serde/serialize.py +695 -0
  594. executorch-0.1.2/exir/sym_util.py +82 -0
  595. executorch-0.1.2/exir/tensor.py +342 -0
  596. executorch-0.1.2/exir/tests/asr_joiner.py +82 -0
  597. executorch-0.1.2/exir/tests/common.py +127 -0
  598. executorch-0.1.2/exir/tests/control_flow_models.py +109 -0
  599. executorch-0.1.2/exir/tests/dynamic_shape_models.py +51 -0
  600. executorch-0.1.2/exir/tests/models.py +553 -0
  601. executorch-0.1.2/exir/tests/test_arg_validator.py +73 -0
  602. executorch-0.1.2/exir/tests/test_capture.py +419 -0
  603. executorch-0.1.2/exir/tests/test_common.py +81 -0
  604. executorch-0.1.2/exir/tests/test_delegate.py +310 -0
  605. executorch-0.1.2/exir/tests/test_dim_order_utils.py +29 -0
  606. executorch-0.1.2/exir/tests/test_dynamic_shape_propagation.py +38 -0
  607. executorch-0.1.2/exir/tests/test_error.py +19 -0
  608. executorch-0.1.2/exir/tests/test_experimental.py +89 -0
  609. executorch-0.1.2/exir/tests/test_fixtures.py +110 -0
  610. executorch-0.1.2/exir/tests/test_memory_format_ops_pass.py +75 -0
  611. executorch-0.1.2/exir/tests/test_memory_planning.py +564 -0
  612. executorch-0.1.2/exir/tests/test_op_convert.py +88 -0
  613. executorch-0.1.2/exir/tests/test_pass_infra.py +178 -0
  614. executorch-0.1.2/exir/tests/test_passes.py +1065 -0
  615. executorch-0.1.2/exir/tests/test_print_program.py +51 -0
  616. executorch-0.1.2/exir/tests/test_quant_fusion_pass.py +371 -0
  617. executorch-0.1.2/exir/tests/test_quant_lowering_custom_backend_pass.py +994 -0
  618. executorch-0.1.2/exir/tests/test_quantization.py +121 -0
  619. executorch-0.1.2/exir/tests/test_serde.py +233 -0
  620. executorch-0.1.2/exir/tests/test_tensor.py +256 -0
  621. executorch-0.1.2/exir/tests/test_tracer.py +554 -0
  622. executorch-0.1.2/exir/tests/test_verification.py +273 -0
  623. executorch-0.1.2/exir/tests/transformer.py +122 -0
  624. executorch-0.1.2/exir/tracer.py +785 -0
  625. executorch-0.1.2/exir/types.py +18 -0
  626. executorch-0.1.2/exir/verification/arg_validator.py +129 -0
  627. executorch-0.1.2/exir/verification/dev_html.py +68 -0
  628. executorch-0.1.2/exir/verification/interpreter.py +425 -0
  629. executorch-0.1.2/exir/verification/verifier.py +152 -0
  630. executorch-0.1.0/setup.py → executorch-0.1.2/exir/version.py +3 -2
  631. executorch-0.1.2/exir/wrap.py +32 -0
  632. executorch-0.1.2/extension/pybindings/test/make_test.py +123 -0
  633. executorch-0.1.2/extension/pybindings/test/test_pybindings.py +38 -0
  634. executorch-0.1.2/extension/pytree/__init__.py +54 -0
  635. executorch-0.1.2/extension/pytree/test/test.py +331 -0
  636. executorch-0.1.2/pyproject.toml +34 -0
  637. executorch-0.1.2/schema/bundled_program_schema.fbs +103 -0
  638. executorch-0.1.2/schema/program.fbs +381 -0
  639. executorch-0.1.2/schema/scalar_type.fbs +32 -0
  640. executorch-0.1.2/sdk/__init__.py +15 -0
  641. executorch-0.1.2/sdk/debug_format/base_schema.py +55 -0
  642. executorch-0.1.2/sdk/debug_format/et_schema.py +361 -0
  643. executorch-0.1.2/sdk/etdump/etdump_schema_flatcc.fbs +154 -0
  644. executorch-0.1.2/sdk/etdump/scalar_type.fbs +32 -0
  645. executorch-0.1.2/sdk/etdump/schema_flatcc.py +132 -0
  646. executorch-0.1.2/sdk/etdump/serialize.py +110 -0
  647. executorch-0.1.2/sdk/etdump/tests/serialize_test.py +120 -0
  648. executorch-0.1.2/sdk/etrecord/__init__.py +13 -0
  649. executorch-0.1.2/sdk/etrecord/_etrecord.py +273 -0
  650. executorch-0.1.2/sdk/etrecord/tests/etrecord_test.py +125 -0
  651. executorch-0.1.2/sdk/inspector/_inspector_utils.py +70 -0
  652. executorch-0.1.2/sdk/inspector/inspector.py +587 -0
  653. executorch-0.1.2/sdk/inspector/inspector_cli.py +29 -0
  654. executorch-0.1.2/sdk/inspector/tests/event_blocks_test.py +303 -0
  655. executorch-0.1.2/sdk/inspector/tests/inspector_test.py +234 -0
  656. executorch-0.1.2/sdk/inspector/tests/inspector_utils_test.py +125 -0
  657. executorch-0.1.2/sdk/size_analysis_tool/size_analysis_tool.py +185 -0
  658. executorch-0.1.2/sdk/size_analysis_tool/size_analysis_tool_test.py +115 -0
  659. executorch-0.1.2/setup.py +71 -0
  660. executorch-0.1.0/README.md +0 -1
  661. executorch-0.1.0/pyproject.toml +0 -10
  662. executorch-0.1.0/src/executorch/__init__.py +0 -1
  663. executorch-0.1.0/src/executorch.egg-info/SOURCES.txt +0 -9
  664. executorch-0.1.0/src/executorch.egg-info/top_level.txt +0 -2
  665. executorch-0.1.0/src/exir/__init__.py +0 -1
  666. {executorch-0.1.0/src → executorch-0.1.2}/executorch.egg-info/dependency_links.txt +0 -0
  667. {executorch-0.1.0 → executorch-0.1.2}/setup.cfg +0 -0
@@ -0,0 +1,33 @@
1
+ BSD License
2
+
3
+ For "ExecuTorch" software
4
+
5
+ Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ Copyright 2023 Arm Limited and/or its affiliates.
7
+ Copyright (c) Qualcomm Innovation Center, Inc.
8
+ Copyright (c) 2023 Apple Inc.
9
+
10
+ Redistribution and use in source and binary forms, with or without modification,
11
+ are permitted provided that the following conditions are met:
12
+
13
+ * Redistributions of source code must retain the above copyright notice, this
14
+ list of conditions and the following disclaimer.
15
+
16
+ * Redistributions in binary form must reproduce the above copyright notice,
17
+ this list of conditions and the following disclaimer in the documentation
18
+ and/or other materials provided with the distribution.
19
+
20
+ * Neither the name Meta nor the names of its contributors may be used to
21
+ endorse or promote products derived from this software without specific
22
+ prior written permission.
23
+
24
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
25
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
28
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
31
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,3 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: executorch
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
+ License-File: LICENSE
@@ -0,0 +1,87 @@
1
+ # ExecuTorch
2
+
3
+ **ExecuTorch** is an end-to-end solution for enabling on-device inference
4
+ capabilities across mobile and edge devices including wearables, embedded
5
+ devices and microcontrollers. It is part of the PyTorch Edge ecosystem and
6
+ enables efficient deployment of PyTorch models to edge devices.
7
+
8
+ Key value propositions of ExecuTorch are:
9
+
10
+ - **Portability:** Compatibility with a wide variety of computing platforms,
11
+ from high-end mobile phones to highly constrained embedded systems and
12
+ microcontrollers.
13
+ - **Productivity:** Enabling developers to use the same toolchains and SDK from
14
+ PyTorch model authoring and conversion, to debugging and deployment to a wide
15
+ variety of platforms.
16
+ - **Performance:** Providing end users with a seamless and high-performance
17
+ experience due to a lightweight runtime and utilizing full hardware
18
+ capabilities such as CPUs, NPUs, and DSPs.
19
+
20
+ For a comprehensive technical overview of ExecuTorch and step-by-step tutorials,
21
+ please visit our [documentation website](https://pytorch.org/executorch).
22
+
23
+ ## Important: This is a preview release
24
+
25
+ This is a preview version of ExecuTorch and should be used for testing and evaluation purposes only.
26
+ It is not recommended for use in production settings. We welcome any feedback, suggestions, and bug
27
+ reports from the community to help us improve the technology.
28
+ Please use the [PyTorch Forums](https://discuss.pytorch.org/) for discussion
29
+ and feedback about ExecuTorch using the tag **#executorch** and
30
+ our [GitHub repository](https://github.com/pytorch/executorch/issues)
31
+ for bug reporting.
32
+
33
+ The ExecuTorch code and APIs are still changing quickly, and there are not yet
34
+ any guarantees about forward/backward source compatibility. We recommend using
35
+ the latest `v#.#.#` release tag from the
36
+ [Releases](https://github.com/pytorch/executorch/releases) page when
37
+ experimenting with this preview release.
38
+
39
+ ## Directory Structure
40
+
41
+ ```
42
+ executorch
43
+ ├── backends # Backend delegate implementations.
44
+ ├── build # Utilities for managing the build system.
45
+ ├── bundled_program # Utilities for attaching reference inputs and outputs to models. TODO move to extension
46
+ ├── codegen # Tooling to autogenerate bindings between kernels and the runtime. TODO move to tool
47
+ ├── configurations # TODO delete this
48
+ ├── docs # Static docs tooling
49
+ ├── examples # Examples of various user flows, such as model export, delegates, and runtime execution.
50
+ ├── exir # Ahead of time library, model capture and lowering apis.
51
+ | ├── backend # Backend delegate ahead of time APIs
52
+ | ├── capture # Program capture.
53
+ | ├── dialects # Op sets for various dialects in the export process.
54
+ | ├── emit # Conversion from ExportedProgram to ExecuTorch execution instructions.
55
+ | ├── program # Export artifacts.
56
+ | ├── serialize # Serialize final export artifact.
57
+ ├── extension # Extensions built on top of the runtime.
58
+ | ├── aten_util
59
+ | ├── data_loader # 1st party data loader implementations.
60
+ | ├── memory_allocator # 1st party memory allocator implementations.
61
+ | ├── pybindings # Python api for executorch runtime.
62
+ | ├── pytree # C++ and Python flattening and unflattening lib for pytrees.
63
+ | ├── testing_util
64
+ ├── kernels # 1st party kernel implementations.
65
+ | ├── aten
66
+ | ├── optimized
67
+ | ├── portable # Reference implementations of ATen operators.
68
+ | ├── prim_ops # Special ops used in executorch runtime for control flow and symbolic primitives.
69
+ | ├── quantized
70
+ ├── profiler # Utilities for profiling. TODO delete in favor of ETDump in sdk/
71
+ ├── runtime # core cpp runtime of executorch
72
+ | ├── backend # Backend delegate runtime APIs
73
+ | ├── core # Core structures used across all levels of the runtime
74
+ | ├── executor # Model loading, initalization, and execution.
75
+ | ├── kernel # Kernel registration and management.
76
+ | ├── platform # Layer between architecture specific code and user calls.
77
+ ├── schema # ExecuTorch program definition, TODO move under serialization/
78
+ ├── scripts # Utility scripts for size management, dependency management, etc.
79
+ ├── sdk # Model profiling, debugging, and introspection.
80
+ ├── shim # Compatibility layer between OSS and Internal builds
81
+ ├── test # Broad scoped end2end tests
82
+ ├── third-party # third-party dependencies
83
+ ├── util # TODO delete this
84
+ ```
85
+
86
+ ## License
87
+ ExecuTorch is BSD licensed, as found in the LICENSE file.
@@ -0,0 +1,9 @@
1
+ # Copyright © 2023 Apple Inc. All rights reserved.
2
+ #
3
+ # Please refer to the license found in the LICENSE file in the root directory of the source tree.
4
+
5
+ from .coreml_preprocess import CoreMLBackend
6
+
7
+ __all__ = [
8
+ CoreMLBackend,
9
+ ]
@@ -0,0 +1,76 @@
1
+ # Copyright © 2023 Apple Inc. All rights reserved.
2
+
3
+ # CoreML backend for delegating a EdgeProgram to CoreML.
4
+
5
+ import json
6
+ import shutil
7
+ import uuid
8
+
9
+ from pathlib import Path
10
+
11
+ from typing import final, List
12
+
13
+ import coremltools as ct
14
+ import executorchcoreml
15
+
16
+ from executorch.exir.backend.backend_details import (
17
+ BackendDetails,
18
+ ExportedProgram,
19
+ PreprocessResult,
20
+ )
21
+ from executorch.exir.backend.compile_spec_schema import CompileSpec
22
+
23
+
24
+ @final
25
+ class CoreMLBackend(BackendDetails):
26
+ @staticmethod
27
+ def to_bytes(mlmodel):
28
+ dir_path = Path("tmp")
29
+ model_dir_path = dir_path / "lowered_module"
30
+ Path(model_dir_path).mkdir(parents=True, exist_ok=True)
31
+ model_path = model_dir_path / "model.mlpackage"
32
+ mlmodel.save(model_path)
33
+
34
+ # save model metdata
35
+ spec = mlmodel.get_spec()
36
+ input_names = [input.name for input in spec.description.input]
37
+ output_names = [output.name for output in spec.description.output]
38
+ identifier = uuid.uuid4()
39
+
40
+ model_metadata = {
41
+ "inputNames": input_names,
42
+ "outputNames": output_names,
43
+ "identifier": str(identifier),
44
+ }
45
+
46
+ # store metadata
47
+ model_metadata_path = Path(model_dir_path) / "metadata.json"
48
+ json_object = json.dumps(model_metadata)
49
+ with open(model_metadata_path, "w") as outfile:
50
+ outfile.write(json_object)
51
+
52
+ # flatten directory contents and convert it to bytes
53
+ flattened_bytes = executorchcoreml.flatten_directory_contents(
54
+ str(model_dir_path.resolve())
55
+ )
56
+ shutil.rmtree(str(model_dir_path.resolve()))
57
+ return flattened_bytes
58
+
59
+ @classmethod
60
+ # pyre-ignore
61
+ def preprocess(
62
+ cls,
63
+ edge_program: ExportedProgram,
64
+ module_compile_spec: List[CompileSpec],
65
+ ) -> PreprocessResult:
66
+ mlmodel = ct.convert(
67
+ model=edge_program,
68
+ source="pytorch",
69
+ convert_to="mlprogram",
70
+ pass_pipeline=ct.PassPipeline.DEFAULT,
71
+ skip_model_load=True,
72
+ )
73
+ flattened_bytes = CoreMLBackend.to_bytes(mlmodel)
74
+ return PreprocessResult(
75
+ processed_bytes=flattened_bytes,
76
+ )
@@ -0,0 +1,49 @@
1
+ import os
2
+
3
+ import pathlib
4
+ import sys
5
+
6
+ REPO_ROOT = pathlib.Path(__file__).resolve().parent.parent.parent.parent.parent.parent
7
+ PYBIND11_DIR_PATH = REPO_ROOT / "third-party" / "pybind11"
8
+ sys.path.append(str(PYBIND11_DIR_PATH.absolute()))
9
+
10
+ from pybind11.setup_helpers import build_ext, Pybind11Extension
11
+ from setuptools import setup
12
+
13
+ __version__ = "0.0.1"
14
+
15
+ cxx_std = int(os.environ.get("CMAKE_CXX_STANDARD", "17"))
16
+
17
+ ext_modules = [
18
+ Pybind11Extension(
19
+ "executorchcoreml",
20
+ [
21
+ "inmemory_filesystem.cpp",
22
+ "inmemory_filesystem_py.cpp",
23
+ "memory_buffer.cpp",
24
+ "memory_stream.cpp",
25
+ "reversed_memory_stream.cpp",
26
+ ],
27
+ define_macros=[("VERSION_INFO", __version__)],
28
+ cxx_std=cxx_std,
29
+ extra_compile_args=["-mmacosx-version-min=10.15"],
30
+ include_dirs=[
31
+ "../../third-party/nlohmann_json/single_include/nlohmann",
32
+ ".",
33
+ ],
34
+ ),
35
+ ]
36
+
37
+ setup(
38
+ name="executorchcoreml",
39
+ version=__version__,
40
+ description="CoreML extension for executorch",
41
+ long_description="",
42
+ author="Apple Inc.",
43
+ ext_modules=ext_modules,
44
+ extras_require={"test": "pytest"},
45
+ cmdclass={"build_ext": build_ext},
46
+ include_package_data=True,
47
+ zip_safe=False,
48
+ python_requires=">=3.9",
49
+ )