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.
- executorch-0.1.2/LICENSE +33 -0
- {executorch-0.1.0 → executorch-0.1.2}/PKG-INFO +2 -1
- executorch-0.1.2/README.md +87 -0
- executorch-0.1.2/backends/apple/coreml/compiler/__init__.py +9 -0
- executorch-0.1.2/backends/apple/coreml/compiler/coreml_preprocess.py +76 -0
- executorch-0.1.2/backends/apple/coreml/runtime/inmemoryfs/setup.py +49 -0
- executorch-0.1.2/backends/apple/mps/mps_preprocess.py +784 -0
- executorch-0.1.2/backends/apple/mps/partition/mps_partitioner.py +66 -0
- executorch-0.1.2/backends/apple/mps/test/test_mps.py +2425 -0
- executorch-0.1.2/backends/apple/mps/test/test_mps_models.py +416 -0
- executorch-0.1.2/backends/apple/mps/test/test_mps_utils.py +231 -0
- executorch-0.1.2/backends/apple/mps/utils/graph_bindings.py +42 -0
- executorch-0.1.2/backends/apple/mps/utils/mps_utils.py +37 -0
- executorch-0.1.2/backends/arm/arm_backend.py +1044 -0
- executorch-0.1.2/backends/arm/test/test_models.py +510 -0
- executorch-0.1.2/backends/arm/test/test_tosa.py +110 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/serializer/__init__.py +3 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/serializer/tosa_serializer.py +941 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ArithmeticRightShiftAttribute.py +54 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Attribute.py +28 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/AxisAttribute.py +54 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ClampAttribute.py +145 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/CondIfAttribute.py +67 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ConvAttribute.py +184 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/CustomAttribute.py +106 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/DType.py +18 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/FFTAttribute.py +54 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/FullyConnectedAttribute.py +67 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/MatMulAttribute.py +67 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/MulAttribute.py +54 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/NegateAttribute.py +67 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Op.py +78 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/PadAttribute.py +132 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/PoolAttribute.py +197 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/RescaleAttribute.py +210 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ReshapeAttribute.py +80 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ResizeAttribute.py +171 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/ResizeMode.py +8 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/SliceAttribute.py +119 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TableAttribute.py +80 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TileAttribute.py +80 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaBasicBlock.py +192 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaGraph.py +95 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaOperator.py +147 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaRegion.py +91 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TosaTensor.py +171 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TransposeAttribute.py +80 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/TransposeConvAttribute.py +184 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/Version.py +93 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/WhileLoopAttribute.py +67 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/python/tosa/__init__.py +0 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/schema/tosa.fbs +315 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/test/scripts/test_npy_fileio.py +152 -0
- executorch-0.1.2/backends/arm/third-party/serialization_lib/test/scripts/xunit/xunit.py +109 -0
- executorch-0.1.2/backends/arm/tosa_mapping.py +109 -0
- executorch-0.1.2/backends/arm/tosa_quant_utils.py +182 -0
- executorch-0.1.2/backends/example/example_backend.py +40 -0
- executorch-0.1.2/backends/example/example_backend_delegate_passes/merge_to_dim_pass.py +79 -0
- executorch-0.1.2/backends/example/example_backend_delegate_passes/permute_memory_formats_pass.py +141 -0
- executorch-0.1.2/backends/example/example_operators/adaptive_avg_pool2d.py +47 -0
- executorch-0.1.2/backends/example/example_operators/add.py +44 -0
- executorch-0.1.2/backends/example/example_operators/conv2d.py +52 -0
- executorch-0.1.2/backends/example/example_operators/conv_relu.py +49 -0
- executorch-0.1.2/backends/example/example_operators/dropout.py +44 -0
- executorch-0.1.2/backends/example/example_operators/flatten.py +40 -0
- executorch-0.1.2/backends/example/example_operators/linear.py +62 -0
- executorch-0.1.2/backends/example/example_operators/op_base.py +15 -0
- executorch-0.1.2/backends/example/example_operators/ops.py +32 -0
- executorch-0.1.2/backends/example/example_operators/utils.py +33 -0
- executorch-0.1.2/backends/example/example_partitioner.py +88 -0
- executorch-0.1.2/backends/example/example_quantizer.py +102 -0
- executorch-0.1.2/backends/example/test_example_delegate.py +111 -0
- executorch-0.1.2/backends/qualcomm/builders/__init__.py +79 -0
- executorch-0.1.2/backends/qualcomm/builders/node_visitor.py +339 -0
- executorch-0.1.2/backends/qualcomm/builders/op_add.py +63 -0
- executorch-0.1.2/backends/qualcomm/builders/op_avg_pool2d.py +146 -0
- executorch-0.1.2/backends/qualcomm/builders/op_batch_norm.py +92 -0
- executorch-0.1.2/backends/qualcomm/builders/op_bmm.py +68 -0
- executorch-0.1.2/backends/qualcomm/builders/op_cast.py +59 -0
- executorch-0.1.2/backends/qualcomm/builders/op_cat.py +79 -0
- executorch-0.1.2/backends/qualcomm/builders/op_ceil.py +58 -0
- executorch-0.1.2/backends/qualcomm/builders/op_clamp.py +81 -0
- executorch-0.1.2/backends/qualcomm/builders/op_conv2d.py +189 -0
- executorch-0.1.2/backends/qualcomm/builders/op_depth_to_space.py +80 -0
- executorch-0.1.2/backends/qualcomm/builders/op_dequantize.py +78 -0
- executorch-0.1.2/backends/qualcomm/builders/op_div.py +63 -0
- executorch-0.1.2/backends/qualcomm/builders/op_embedding.py +79 -0
- executorch-0.1.2/backends/qualcomm/builders/op_expand.py +84 -0
- executorch-0.1.2/backends/qualcomm/builders/op_hardswish.py +60 -0
- executorch-0.1.2/backends/qualcomm/builders/op_hardtanh.py +81 -0
- executorch-0.1.2/backends/qualcomm/builders/op_linear.py +83 -0
- executorch-0.1.2/backends/qualcomm/builders/op_max_pool2d.py +143 -0
- executorch-0.1.2/backends/qualcomm/builders/op_mean_dim.py +87 -0
- executorch-0.1.2/backends/qualcomm/builders/op_mul.py +63 -0
- executorch-0.1.2/backends/qualcomm/builders/op_pad.py +100 -0
- executorch-0.1.2/backends/qualcomm/builders/op_quantize.py +74 -0
- executorch-0.1.2/backends/qualcomm/builders/op_relu.py +61 -0
- executorch-0.1.2/backends/qualcomm/builders/op_reshape.py +57 -0
- executorch-0.1.2/backends/qualcomm/builders/op_select_copy.py +90 -0
- executorch-0.1.2/backends/qualcomm/builders/op_skip_ops.py +52 -0
- executorch-0.1.2/backends/qualcomm/builders/op_slice_copy.py +88 -0
- executorch-0.1.2/backends/qualcomm/builders/op_softmax.py +74 -0
- executorch-0.1.2/backends/qualcomm/builders/op_sub.py +63 -0
- executorch-0.1.2/backends/qualcomm/builders/op_tanh.py +60 -0
- executorch-0.1.2/backends/qualcomm/builders/op_transpose.py +76 -0
- executorch-0.1.2/backends/qualcomm/builders/op_unsqueeze.py +68 -0
- executorch-0.1.2/backends/qualcomm/builders/op_upsample_bilinear2d.py +69 -0
- executorch-0.1.2/backends/qualcomm/partition/common_defs.py +30 -0
- executorch-0.1.2/backends/qualcomm/partition/qnn_partitioner.py +137 -0
- executorch-0.1.2/backends/qualcomm/passes/__init__.py +60 -0
- executorch-0.1.2/backends/qualcomm/passes/annotate_and_quant_scalar.py +110 -0
- executorch-0.1.2/backends/qualcomm/passes/annotate_quant_attrs.py +71 -0
- executorch-0.1.2/backends/qualcomm/passes/convert_hardsigmoid.py +102 -0
- executorch-0.1.2/backends/qualcomm/passes/convert_hardswish.py +40 -0
- executorch-0.1.2/backends/qualcomm/passes/convert_interpolate_with_upsample2d.py +47 -0
- executorch-0.1.2/backends/qualcomm/passes/fold_qdq.py +69 -0
- executorch-0.1.2/backends/qualcomm/passes/i64_to_i32.py +82 -0
- executorch-0.1.2/backends/qualcomm/passes/insert_io_qdq.py +87 -0
- executorch-0.1.2/backends/qualcomm/passes/layout_transform.py +228 -0
- executorch-0.1.2/backends/qualcomm/passes/recompose_pixel_shuffle.py +69 -0
- executorch-0.1.2/backends/qualcomm/passes/remove_clone.py +40 -0
- executorch-0.1.2/backends/qualcomm/qnn_preprocess.py +80 -0
- executorch-0.1.2/backends/qualcomm/qnn_quantizer.py +773 -0
- executorch-0.1.2/backends/qualcomm/tests/qnn_test_utils.py +173 -0
- executorch-0.1.2/backends/qualcomm/tests/test_qnn_delegate.py +1208 -0
- executorch-0.1.2/backends/qualcomm/utils/qnn_constants.py +233 -0
- executorch-0.1.2/backends/qualcomm/utils/utils.py +177 -0
- executorch-0.1.2/backends/transforms/__init__.py +12 -0
- executorch-0.1.2/backends/transforms/addmm_mm_to_linear.py +160 -0
- executorch-0.1.2/backends/vulkan/serialization/schema/schema.fbs +71 -0
- executorch-0.1.2/backends/vulkan/serialization/vulkan_graph_schema.py +75 -0
- executorch-0.1.2/backends/vulkan/serialization/vulkan_graph_serialize.py +34 -0
- executorch-0.1.2/backends/vulkan/test/test_vulkan_delegate.py +214 -0
- executorch-0.1.2/backends/vulkan/vulkan_preprocess.py +147 -0
- executorch-0.1.2/backends/xnnpack/operators/__init__.py +48 -0
- executorch-0.1.2/backends/xnnpack/operators/node_visitor.py +506 -0
- executorch-0.1.2/backends/xnnpack/operators/op_abs.py +52 -0
- executorch-0.1.2/backends/xnnpack/operators/op_add.py +84 -0
- executorch-0.1.2/backends/xnnpack/operators/op_addmm.py +70 -0
- executorch-0.1.2/backends/xnnpack/operators/op_avg_pooling2d.py +74 -0
- executorch-0.1.2/backends/xnnpack/operators/op_cat.py +101 -0
- executorch-0.1.2/backends/xnnpack/operators/op_ceiling.py +52 -0
- executorch-0.1.2/backends/xnnpack/operators/op_clamp.py +64 -0
- executorch-0.1.2/backends/xnnpack/operators/op_conv2d.py +169 -0
- executorch-0.1.2/backends/xnnpack/operators/op_dequantize_per_tensor.py +68 -0
- executorch-0.1.2/backends/xnnpack/operators/op_div.py +56 -0
- executorch-0.1.2/backends/xnnpack/operators/op_elu.py +56 -0
- executorch-0.1.2/backends/xnnpack/operators/op_floor.py +48 -0
- executorch-0.1.2/backends/xnnpack/operators/op_hardswish.py +52 -0
- executorch-0.1.2/backends/xnnpack/operators/op_hardtanh.py +67 -0
- executorch-0.1.2/backends/xnnpack/operators/op_leaky_relu.py +65 -0
- executorch-0.1.2/backends/xnnpack/operators/op_linear.py +74 -0
- executorch-0.1.2/backends/xnnpack/operators/op_matrix_multiplication.py +66 -0
- executorch-0.1.2/backends/xnnpack/operators/op_max_dim.py +206 -0
- executorch-0.1.2/backends/xnnpack/operators/op_max_pool2d.py +91 -0
- executorch-0.1.2/backends/xnnpack/operators/op_maximum.py +55 -0
- executorch-0.1.2/backends/xnnpack/operators/op_mean_dim.py +77 -0
- executorch-0.1.2/backends/xnnpack/operators/op_minimum.py +54 -0
- executorch-0.1.2/backends/xnnpack/operators/op_multiply.py +84 -0
- executorch-0.1.2/backends/xnnpack/operators/op_negate.py +51 -0
- executorch-0.1.2/backends/xnnpack/operators/op_permute.py +57 -0
- executorch-0.1.2/backends/xnnpack/operators/op_prelu.py +56 -0
- executorch-0.1.2/backends/xnnpack/operators/op_quantize_per_tensor.py +68 -0
- executorch-0.1.2/backends/xnnpack/operators/op_relu.py +61 -0
- executorch-0.1.2/backends/xnnpack/operators/op_sigmoid.py +48 -0
- executorch-0.1.2/backends/xnnpack/operators/op_skip_ops.py +115 -0
- executorch-0.1.2/backends/xnnpack/operators/op_slice_copy.py +99 -0
- executorch-0.1.2/backends/xnnpack/operators/op_softmax.py +58 -0
- executorch-0.1.2/backends/xnnpack/operators/op_square.py +52 -0
- executorch-0.1.2/backends/xnnpack/operators/op_square_root.py +52 -0
- executorch-0.1.2/backends/xnnpack/operators/op_squeeze.py +117 -0
- executorch-0.1.2/backends/xnnpack/operators/op_static_constant_pad.py +130 -0
- executorch-0.1.2/backends/xnnpack/operators/op_static_resize_bilinear_2d.py +61 -0
- executorch-0.1.2/backends/xnnpack/operators/op_sub.py +84 -0
- executorch-0.1.2/backends/xnnpack/operators/op_to_copy.py +91 -0
- executorch-0.1.2/backends/xnnpack/operators/quant_params.py +247 -0
- executorch-0.1.2/backends/xnnpack/partition/configs.py +142 -0
- executorch-0.1.2/backends/xnnpack/partition/xnnpack_partitioner.py +879 -0
- executorch-0.1.2/backends/xnnpack/passes/__init__.py +75 -0
- executorch-0.1.2/backends/xnnpack/passes/channels_last_tagged_reshape_pass.py +407 -0
- executorch-0.1.2/backends/xnnpack/passes/conv1d_unsqueeze_pass.py +129 -0
- executorch-0.1.2/backends/xnnpack/passes/convert_to_linear.py +201 -0
- executorch-0.1.2/backends/xnnpack/passes/fuse_batch_norm_with_conv.py +133 -0
- executorch-0.1.2/backends/xnnpack/passes/prelu_reshape_pass.py +75 -0
- executorch-0.1.2/backends/xnnpack/passes/remove_getitem_op.py +90 -0
- executorch-0.1.2/backends/xnnpack/passes/tag_implicit_q_dq_pass.py +207 -0
- executorch-0.1.2/backends/xnnpack/passes/xnnpack_pass.py +22 -0
- executorch-0.1.2/backends/xnnpack/serialization/schema.fbs +309 -0
- executorch-0.1.2/backends/xnnpack/serialization/xnnpack_graph_schema.py +431 -0
- executorch-0.1.2/backends/xnnpack/serialization/xnnpack_graph_serialize.py +31 -0
- executorch-0.1.2/backends/xnnpack/test/models/deeplab_v3.py +41 -0
- executorch-0.1.2/backends/xnnpack/test/models/edsr.py +42 -0
- executorch-0.1.2/backends/xnnpack/test/models/inception_v3.py +67 -0
- executorch-0.1.2/backends/xnnpack/test/models/inception_v4.py +65 -0
- executorch-0.1.2/backends/xnnpack/test/models/mobilenet_v2.py +65 -0
- executorch-0.1.2/backends/xnnpack/test/models/mobilenet_v3.py +67 -0
- executorch-0.1.2/backends/xnnpack/test/models/torchvision_vit.py +62 -0
- executorch-0.1.2/backends/xnnpack/test/ops/add.py +111 -0
- executorch-0.1.2/backends/xnnpack/test/ops/conv1d.py +58 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack.py +1027 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack_passes.py +570 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack_quantized.py +782 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack_quantized_models.py +17 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack_utils.py +523 -0
- executorch-0.1.2/backends/xnnpack/test/test_xnnpack_utils_classes.py +39 -0
- executorch-0.1.2/backends/xnnpack/test/tester/__init__.py +28 -0
- executorch-0.1.2/backends/xnnpack/test/tester/tester.py +405 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/configure.py +65 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/confu.yaml +8 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/__init__.py +0 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/avx.py +50 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/include/fp16/avx2.py +53 -0
- executorch-0.1.2/backends/xnnpack/third-party/FP16/test/peachpy/stubs.py +38 -0
- executorch-0.1.2/backends/xnnpack/third-party/FXdiv/configure.py +30 -0
- executorch-0.1.2/backends/xnnpack/third-party/FXdiv/confu.yaml +6 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/scripts/convert-assembly-to-jit.py +1323 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/scripts/sort-filenames.py +137 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/src/enums/microkernel-type.yaml +29 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/src/enums/operator-type.yaml +263 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/bf16-gemm-minmax.yaml +82 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-bfly4.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-fftr.yaml +15 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/cs16-vsquareabs.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-avgpool-minmax.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv-unipass-minmax.yaml +104 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-dwconv2d-chw.yaml +88 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-f32-vcvt.yaml +123 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-gavgpool-minmax.yaml +40 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-gemm-minmax.yaml +100 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear-chw.yaml +9 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-ibilinear.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-igemm-minmax.yaml +88 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-maxpool-minmax.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-pavgpool-minmax.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-prelu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-raddstoreexpminusmax.yaml +92 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-spmm-minmax.yaml +42 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vabs.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vadd-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vaddc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vclamp.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vdiv-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vdivc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-velu.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vhswish.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vlrelu.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmax.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmaxc.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmin.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vminc.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmul-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmulc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vmulcaddc-minmax.yaml +16 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vneg.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrdivc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndd.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndne.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrndz.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vrsubc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsigmoid.yaml +88 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqr.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrdiff.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrdiffc.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsqrt.yaml +23 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsub-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f16-vsubc-minmax.yaml +24 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-argmaxpool.yaml +29 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-avgpool-minmax.yaml +39 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-multipass-minmax.yaml +128 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-multipass.yaml +20 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-unipass-minmax.yaml +436 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv-unipass.yaml +42 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-dwconv2d-chw.yaml +679 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-f16-vcvt.yaml +85 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gavgpool-minmax.yaml +39 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-jit.yaml +95 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-minmax.yaml +601 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm-relu.yaml +89 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemm.yaml +83 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-gemminc-minmax.yaml +512 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear-chw.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ibilinear.yaml +23 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-jit.yaml +97 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-minmax.yaml +597 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm-relu.yaml +89 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-igemm.yaml +80 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-maxpool-minmax.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-pavgpool-minmax.yaml +39 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-ppmm-minmax.yaml +42 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-prelu.yaml +72 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-qs8-vcvt.yaml +116 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-qu8-vcvt.yaml +108 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddexpminusmax.yaml +31 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddextexp.yaml +31 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-raddstoreexpminusmax.yaml +252 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-spmm-minmax.yaml +279 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vabs.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vadd.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vaddc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vclamp.yaml +48 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdiv.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vdivc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-velu.yaml +401 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vhswish.yaml +53 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vlrelu.yaml +65 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmax.yaml +36 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmaxc.yaml +36 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmin.yaml +36 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vminc.yaml +36 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmul.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vmulcaddc-minmax.yaml +51 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vneg.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrdivc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrelu.yaml +34 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndd.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndne.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndu.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrndz.yaml +32 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vrsubc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vscaleexpminusmax.yaml +31 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vscaleextexp.yaml +31 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsigmoid.yaml +526 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqr.yaml +26 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrdiff.yaml +28 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrdiffc.yaml +28 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsqrt.yaml +77 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsub.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc-minmax.yaml +56 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc-relu.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/f32-vsubc.yaml +14 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/i16-vlshift.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-dwconv-unipass-minmax-fp32.yaml +352 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-gemm-minmax-fp32.yaml +890 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qc8-igemm-minmax-fp32.yaml +851 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-dwconv-unipass-minmax-fp32.yaml +268 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-dwconv-unipass-minmax-rndnu.yaml +53 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-f32-vcvt.yaml +66 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gavgpool-minmax-fp32.yaml +117 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gavgpool-minmax-rndnu.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gemm-minmax-fp32.yaml +888 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-gemm-minmax-rndnu.yaml +753 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-igemm-minmax-fp32.yaml +695 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-igemm-minmax-rndnu.yaml +708 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vadd-minmax.yaml +100 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vaddc-minmax.yaml +100 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vcvt.yaml +76 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vlrelu.yaml +98 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmul-minmax-fp32.yaml +44 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmul-minmax-rndnu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmulc-minmax-fp32.yaml +44 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qs8-vmulc-minmax-rndnu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-avgpool-minmax-fp32.yaml +23 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-dwconv-unipass-minmax-fp32.yaml +172 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-dwconv-unipass-minmax-rndnu.yaml +45 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-f32-vcvt.yaml +66 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gavgpool-minmax-fp32.yaml +117 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gavgpool-minmax-rndnu.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-fp32.yaml +525 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-gemm-minmax-rndnu.yaml +170 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-fp32.yaml +525 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-igemm-minmax-rndnu.yaml +137 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vadd-minmax.yaml +66 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vaddc-minmax.yaml +66 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vcvt.yaml +76 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vlrelu.yaml +98 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmul-minmax-fp32.yaml +44 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmul-minmax-rndnu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmulc-minmax-fp32.yaml +44 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/qu8-vmulc-minmax-rndnu.yaml +12 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s16-rmaxabs.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s16-window.yaml +25 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-ibilinear.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-maxpool-minmax.yaml +23 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/s8-vclamp.yaml +19 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-filterbank-accumulate.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-filterbank-subtract.yaml +8 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u32-vlog.yaml +11 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u64-u32-vsqrtshift.yaml +7 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-ibilinear.yaml +22 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-maxpool-minmax.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/u8-vclamp.yaml +17 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x16-transpose.yaml +47 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x24-transpose.yaml +26 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x32-packx.yaml +21 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x32-transpose.yaml +68 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x64-transpose.yaml +45 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x8-lut.yaml +47 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/x8-transpose.yaml +36 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/test/xx-transpose.yaml +7 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/amalgamate-microkernels.py +142 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/check-assembly-and-jit-microkernels-in-sync.py +88 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/dump-jit-output.py +84 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-argmaxpool-test.py +746 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-avgpool-test.py +2488 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-bfly4-test.py +197 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-multipass-test.py +472 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv-unipass-test.py +399 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-dwconv2d-chw-test.py +340 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-enum.py +184 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-fftr-test.py +121 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-filterbank-accumulate-test.py +136 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-filterbank-subtract-test.py +162 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-gavgpool-test.py +601 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-gemm-test.py +1037 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-chw-test.py +227 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-ibilinear-test.py +229 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-lut-test.py +160 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-maxpool-test.py +1275 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-pack-test.py +231 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-prelu-test.py +244 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddexpminusmax-test.py +151 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddextexp-test.py +151 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-raddstoreexpminusmax-test.py +154 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-rmaxabs-test.py +152 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-spmm-test.py +467 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-transpose-test.py +376 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vbinary-test.py +374 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vcvt-test.py +350 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlog-test.py +185 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlrelu-test.py +233 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vlshift-test.py +175 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vmulcaddc-test.py +288 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vscaleexpminusmax-test.py +166 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vscaleextexp-test.py +151 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vsquareabs-test.py +152 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-vunary-test.py +285 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/generate-window-test.py +237 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/primes.py +115 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/update-microkernels.py +165 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/xngen.py +153 -0
- executorch-0.1.2/backends/xnnpack/third-party/XNNPACK/tools/xnncommon.py +143 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/configure.py +104 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/confu.yaml +9 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/deps/clog/configure.py +26 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/deps/clog/confu.yaml +5 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/android-device-dump.py +400 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/arm-linux-filesystem-dump.py +107 -0
- executorch-0.1.2/backends/xnnpack/third-party/cpuinfo/scripts/parse-x86-cpuid-dump.py +47 -0
- executorch-0.1.2/backends/xnnpack/third-party/generate-cpuinfo-wrappers.py +92 -0
- executorch-0.1.2/backends/xnnpack/third-party/generate-xnnpack-wrappers.py +253 -0
- executorch-0.1.2/backends/xnnpack/third-party/pthreadpool/configure.py +38 -0
- executorch-0.1.2/backends/xnnpack/third-party/pthreadpool/confu.yaml +8 -0
- executorch-0.1.2/backends/xnnpack/utils/configs.py +50 -0
- executorch-0.1.2/backends/xnnpack/utils/quant_utils.py +29 -0
- executorch-0.1.2/backends/xnnpack/utils/utils.py +104 -0
- executorch-0.1.2/backends/xnnpack/utils/xnnpack_constants.py +29 -0
- executorch-0.1.2/backends/xnnpack/xnnpack_preprocess.py +238 -0
- executorch-0.1.2/bundled_program/config.py +210 -0
- executorch-0.1.2/bundled_program/core.py +330 -0
- executorch-0.1.2/bundled_program/schema.py +98 -0
- executorch-0.1.2/bundled_program/serialize/__init__.py +106 -0
- executorch-0.1.2/bundled_program/serialize/bundled_program_schema.fbs +103 -0
- executorch-0.1.2/bundled_program/serialize/scalar_type.fbs +32 -0
- executorch-0.1.2/bundled_program/tests/common.py +227 -0
- executorch-0.1.2/bundled_program/tests/test_bundle_data.py +109 -0
- executorch-0.1.2/bundled_program/tests/test_config.py +139 -0
- executorch-0.1.2/bundled_program/tests/test_end2end.py +93 -0
- executorch-0.1.2/bundled_program/tests/test_serialize.py +38 -0
- executorch-0.1.2/bundled_program/version.py +13 -0
- {executorch-0.1.0/src → executorch-0.1.2}/executorch.egg-info/PKG-INFO +2 -1
- executorch-0.1.2/executorch.egg-info/SOURCES.txt +659 -0
- executorch-0.1.2/executorch.egg-info/requires.txt +15 -0
- executorch-0.1.2/executorch.egg-info/top_level.txt +8 -0
- executorch-0.1.2/exir/__init__.py +63 -0
- executorch-0.1.2/exir/_serialize/__init__.py +18 -0
- executorch-0.1.2/exir/_serialize/_dataclass.py +138 -0
- executorch-0.1.2/exir/_serialize/_flatbuffer.py +306 -0
- executorch-0.1.2/exir/_serialize/_program.py +595 -0
- executorch-0.1.2/exir/_serialize/program.fbs +381 -0
- executorch-0.1.2/exir/_serialize/scalar_type.fbs +32 -0
- executorch-0.1.2/exir/_serialize/test/test_flatbuffer.py +268 -0
- executorch-0.1.2/exir/_serialize/test/test_program.py +613 -0
- executorch-0.1.2/exir/backend/backend_api.py +330 -0
- executorch-0.1.2/exir/backend/backend_details.py +69 -0
- executorch-0.1.2/exir/backend/canonical_partitioners/duplicate_dequant_node_pass.py +111 -0
- executorch-0.1.2/exir/backend/canonical_partitioners/pattern_op_partitioner.py +137 -0
- executorch-0.1.2/exir/backend/compile_spec_schema.py +17 -0
- executorch-0.1.2/exir/backend/partitioner.py +87 -0
- executorch-0.1.2/exir/backend/test/backend_with_compiler_demo.py +130 -0
- executorch-0.1.2/exir/backend/test/backend_with_delegate_mapping_demo.py +209 -0
- executorch-0.1.2/exir/backend/test/demos/rpc/executor_backend_partitioner.py +73 -0
- executorch-0.1.2/exir/backend/test/demos/rpc/executor_backend_preprocess.py +33 -0
- executorch-0.1.2/exir/backend/test/demos/rpc/test_rpc.py +194 -0
- executorch-0.1.2/exir/backend/test/demos/test_delegate_aten_mode.py +76 -0
- executorch-0.1.2/exir/backend/test/demos/test_xnnpack_qnnpack.py +134 -0
- executorch-0.1.2/exir/backend/test/hta_partitioner_demo.py +285 -0
- executorch-0.1.2/exir/backend/test/op_partitioner_demo.py +114 -0
- executorch-0.1.2/exir/backend/test/qnn_backend_demo.py +33 -0
- executorch-0.1.2/exir/backend/test/test_backends.py +1231 -0
- executorch-0.1.2/exir/backend/test/test_backends_lifted.py +1255 -0
- executorch-0.1.2/exir/backend/test/test_backends_nested.py +257 -0
- executorch-0.1.2/exir/backend/test/test_debug_handle_map.py +131 -0
- executorch-0.1.2/exir/backend/test/test_delegate_map_builder.py +173 -0
- executorch-0.1.2/exir/backend/test/test_graph_partition.py +243 -0
- executorch-0.1.2/exir/backend/test/test_lowered_backend_module.py +220 -0
- executorch-0.1.2/exir/backend/test/test_utils.py +358 -0
- executorch-0.1.2/exir/backend/utils.py +259 -0
- executorch-0.1.2/exir/capture/__init__.py +28 -0
- executorch-0.1.2/exir/capture/_capture.py +391 -0
- executorch-0.1.2/exir/capture/_config.py +67 -0
- executorch-0.1.2/exir/capture/_unlift.py +159 -0
- executorch-0.1.2/exir/common.py +140 -0
- executorch-0.1.2/exir/control_flow.py +203 -0
- executorch-0.1.2/exir/delegate.py +159 -0
- executorch-0.1.2/exir/dialects/__init__.py +0 -0
- executorch-0.1.2/exir/dialects/_ops.py +167 -0
- executorch-0.1.2/exir/dialects/backend/_ops.py +123 -0
- executorch-0.1.2/exir/dialects/backend/test/test_backend_ops.py +89 -0
- executorch-0.1.2/exir/dialects/edge/_ops.py +406 -0
- executorch-0.1.2/exir/dialects/edge/arg/model.py +238 -0
- executorch-0.1.2/exir/dialects/edge/arg/type.py +46 -0
- executorch-0.1.2/exir/dialects/edge/dtype/runner.py +120 -0
- executorch-0.1.2/exir/dialects/edge/dtype/supported.py +44 -0
- executorch-0.1.2/exir/dialects/edge/dtype/utils.py +36 -0
- executorch-0.1.2/exir/dialects/edge/edge.yaml +6637 -0
- executorch-0.1.2/exir/dialects/edge/op/api.py +86 -0
- executorch-0.1.2/exir/dialects/edge/op/sample_input.py +1274 -0
- executorch-0.1.2/exir/dialects/edge/op/test/test_api.py +51 -0
- executorch-0.1.2/exir/dialects/edge/spec/gen.py +541 -0
- executorch-0.1.2/exir/dialects/edge/spec/utils.py +327 -0
- executorch-0.1.2/exir/dialects/edge/test/test_edge_ops.py +453 -0
- executorch-0.1.2/exir/dialects/edge/test/test_edge_yaml.py +223 -0
- executorch-0.1.2/exir/dialects/test/test_exir_dialect_ops.py +22 -0
- executorch-0.1.2/exir/dim_order_utils.py +57 -0
- executorch-0.1.2/exir/dynamic_shape.py +12 -0
- executorch-0.1.2/exir/emit/__init__.py +11 -0
- executorch-0.1.2/exir/emit/_emit_program.py +212 -0
- executorch-0.1.2/exir/emit/_emitter.py +1395 -0
- executorch-0.1.2/exir/emit/test/test_emit.py +1385 -0
- executorch-0.1.2/exir/error.py +55 -0
- executorch-0.1.2/exir/experimental/__init__.py +131 -0
- executorch-0.1.2/exir/experimental/export_pt2.py +167 -0
- executorch-0.1.2/exir/graph.py +86 -0
- executorch-0.1.2/exir/graph_module.py +70 -0
- executorch-0.1.2/exir/lowered_backend_module.py +563 -0
- executorch-0.1.2/exir/memory.py +41 -0
- executorch-0.1.2/exir/memory_planning.py +680 -0
- executorch-0.1.2/exir/operator/convert.py +282 -0
- executorch-0.1.2/exir/operator/manip.py +89 -0
- executorch-0.1.2/exir/pass_base.py +198 -0
- executorch-0.1.2/exir/pass_manager.py +78 -0
- executorch-0.1.2/exir/passes/__init__.py +514 -0
- executorch-0.1.2/exir/passes/_quant_patterns_and_replacements.py +581 -0
- executorch-0.1.2/exir/passes/const_prop_pass.py +88 -0
- executorch-0.1.2/exir/passes/debug_handle_generator_pass.py +32 -0
- executorch-0.1.2/exir/passes/dim_order_ops_registry.py +47 -0
- executorch-0.1.2/exir/passes/dynamic_shape_prop_pass.py +301 -0
- executorch-0.1.2/exir/passes/executorch_prim_ops_registry.py +109 -0
- executorch-0.1.2/exir/passes/memory_format_ops_pass.py +65 -0
- executorch-0.1.2/exir/passes/memory_planning_pass.py +117 -0
- executorch-0.1.2/exir/passes/normalize_transpose_pass.py +24 -0
- executorch-0.1.2/exir/passes/pass_registry.py +89 -0
- executorch-0.1.2/exir/passes/quant_fusion_pass.py +114 -0
- executorch-0.1.2/exir/passes/remove_assert_async_pass.py +28 -0
- executorch-0.1.2/exir/passes/remove_mixed_type_operators.py +85 -0
- executorch-0.1.2/exir/passes/remove_noop_pass.py +43 -0
- executorch-0.1.2/exir/passes/replace_aten_with_edge_pass.py +46 -0
- executorch-0.1.2/exir/passes/replace_broken_ops_with_function_ops_pass.py +44 -0
- executorch-0.1.2/exir/passes/replace_edge_with_backend_pass.py +50 -0
- executorch-0.1.2/exir/passes/replace_sym_size_op_pass.py +35 -0
- executorch-0.1.2/exir/passes/scalar_to_tensor_pass.py +32 -0
- executorch-0.1.2/exir/passes/spec_prop_pass.py +107 -0
- executorch-0.1.2/exir/passes/sym_shape_eval_pass.py +133 -0
- executorch-0.1.2/exir/passes/sym_to_tensor_pass.py +64 -0
- executorch-0.1.2/exir/print_program.py +413 -0
- executorch-0.1.2/exir/program/__init__.py +33 -0
- executorch-0.1.2/exir/program/_program.py +907 -0
- executorch-0.1.2/exir/program/test/test_program.py +295 -0
- executorch-0.1.2/exir/scalar_type.py +28 -0
- executorch-0.1.2/exir/schema.py +253 -0
- executorch-0.1.2/exir/serde/__init__.py +0 -0
- executorch-0.1.2/exir/serde/schema.py +27 -0
- executorch-0.1.2/exir/serde/serialize.py +695 -0
- executorch-0.1.2/exir/sym_util.py +82 -0
- executorch-0.1.2/exir/tensor.py +342 -0
- executorch-0.1.2/exir/tests/asr_joiner.py +82 -0
- executorch-0.1.2/exir/tests/common.py +127 -0
- executorch-0.1.2/exir/tests/control_flow_models.py +109 -0
- executorch-0.1.2/exir/tests/dynamic_shape_models.py +51 -0
- executorch-0.1.2/exir/tests/models.py +553 -0
- executorch-0.1.2/exir/tests/test_arg_validator.py +73 -0
- executorch-0.1.2/exir/tests/test_capture.py +419 -0
- executorch-0.1.2/exir/tests/test_common.py +81 -0
- executorch-0.1.2/exir/tests/test_delegate.py +310 -0
- executorch-0.1.2/exir/tests/test_dim_order_utils.py +29 -0
- executorch-0.1.2/exir/tests/test_dynamic_shape_propagation.py +38 -0
- executorch-0.1.2/exir/tests/test_error.py +19 -0
- executorch-0.1.2/exir/tests/test_experimental.py +89 -0
- executorch-0.1.2/exir/tests/test_fixtures.py +110 -0
- executorch-0.1.2/exir/tests/test_memory_format_ops_pass.py +75 -0
- executorch-0.1.2/exir/tests/test_memory_planning.py +564 -0
- executorch-0.1.2/exir/tests/test_op_convert.py +88 -0
- executorch-0.1.2/exir/tests/test_pass_infra.py +178 -0
- executorch-0.1.2/exir/tests/test_passes.py +1065 -0
- executorch-0.1.2/exir/tests/test_print_program.py +51 -0
- executorch-0.1.2/exir/tests/test_quant_fusion_pass.py +371 -0
- executorch-0.1.2/exir/tests/test_quant_lowering_custom_backend_pass.py +994 -0
- executorch-0.1.2/exir/tests/test_quantization.py +121 -0
- executorch-0.1.2/exir/tests/test_serde.py +233 -0
- executorch-0.1.2/exir/tests/test_tensor.py +256 -0
- executorch-0.1.2/exir/tests/test_tracer.py +554 -0
- executorch-0.1.2/exir/tests/test_verification.py +273 -0
- executorch-0.1.2/exir/tests/transformer.py +122 -0
- executorch-0.1.2/exir/tracer.py +785 -0
- executorch-0.1.2/exir/types.py +18 -0
- executorch-0.1.2/exir/verification/arg_validator.py +129 -0
- executorch-0.1.2/exir/verification/dev_html.py +68 -0
- executorch-0.1.2/exir/verification/interpreter.py +425 -0
- executorch-0.1.2/exir/verification/verifier.py +152 -0
- executorch-0.1.0/setup.py → executorch-0.1.2/exir/version.py +3 -2
- executorch-0.1.2/exir/wrap.py +32 -0
- executorch-0.1.2/extension/pybindings/test/make_test.py +123 -0
- executorch-0.1.2/extension/pybindings/test/test_pybindings.py +38 -0
- executorch-0.1.2/extension/pytree/__init__.py +54 -0
- executorch-0.1.2/extension/pytree/test/test.py +331 -0
- executorch-0.1.2/pyproject.toml +34 -0
- executorch-0.1.2/schema/bundled_program_schema.fbs +103 -0
- executorch-0.1.2/schema/program.fbs +381 -0
- executorch-0.1.2/schema/scalar_type.fbs +32 -0
- executorch-0.1.2/sdk/__init__.py +15 -0
- executorch-0.1.2/sdk/debug_format/base_schema.py +55 -0
- executorch-0.1.2/sdk/debug_format/et_schema.py +361 -0
- executorch-0.1.2/sdk/etdump/etdump_schema_flatcc.fbs +154 -0
- executorch-0.1.2/sdk/etdump/scalar_type.fbs +32 -0
- executorch-0.1.2/sdk/etdump/schema_flatcc.py +132 -0
- executorch-0.1.2/sdk/etdump/serialize.py +110 -0
- executorch-0.1.2/sdk/etdump/tests/serialize_test.py +120 -0
- executorch-0.1.2/sdk/etrecord/__init__.py +13 -0
- executorch-0.1.2/sdk/etrecord/_etrecord.py +273 -0
- executorch-0.1.2/sdk/etrecord/tests/etrecord_test.py +125 -0
- executorch-0.1.2/sdk/inspector/_inspector_utils.py +70 -0
- executorch-0.1.2/sdk/inspector/inspector.py +587 -0
- executorch-0.1.2/sdk/inspector/inspector_cli.py +29 -0
- executorch-0.1.2/sdk/inspector/tests/event_blocks_test.py +303 -0
- executorch-0.1.2/sdk/inspector/tests/inspector_test.py +234 -0
- executorch-0.1.2/sdk/inspector/tests/inspector_utils_test.py +125 -0
- executorch-0.1.2/sdk/size_analysis_tool/size_analysis_tool.py +185 -0
- executorch-0.1.2/sdk/size_analysis_tool/size_analysis_tool_test.py +115 -0
- executorch-0.1.2/setup.py +71 -0
- executorch-0.1.0/README.md +0 -1
- executorch-0.1.0/pyproject.toml +0 -10
- executorch-0.1.0/src/executorch/__init__.py +0 -1
- executorch-0.1.0/src/executorch.egg-info/SOURCES.txt +0 -9
- executorch-0.1.0/src/executorch.egg-info/top_level.txt +0 -2
- executorch-0.1.0/src/exir/__init__.py +0 -1
- {executorch-0.1.0/src → executorch-0.1.2}/executorch.egg-info/dependency_links.txt +0 -0
- {executorch-0.1.0 → executorch-0.1.2}/setup.cfg +0 -0
executorch-0.1.2/LICENSE
ADDED
|
@@ -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.
|
|
@@ -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,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
|
+
)
|