xref: /aosp_15_r20/external/executorch/backends/xnnpack/partition/config/__init__.py (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1# Copyright (c) Meta Platforms, Inc. and affiliates.
2# All rights reserved.
3#
4# This source code is licensed under the BSD-style license found in the
5# LICENSE file in the root directory of this source tree.
6
7
8from typing import List, Type
9
10from executorch.backends.xnnpack.partition.config.gemm_configs import (
11    AddmmConfig,
12    ConvolutionConfig,
13    LinearConfig,
14    MMConfig,
15)
16
17from executorch.backends.xnnpack.partition.config.generic_node_configs import (
18    AbsConfig,
19    AddConfig,
20    AvgPoolingConfig,
21    BMMConfig,
22    CatConfig,
23    CeilConfig,
24    ClampConfig,
25    ConstantPadConfig,
26    DeQuantizedPerTensorConfig,
27    DivConfig,
28    FloorConfig,
29    HardswishConfig,
30    # EluConfig,
31    HardtanhConfig,
32    LeakyReLUConfig,
33    MaximumConfig,
34    MaxPool2dConfig,
35    MeanDimConfig,
36    MinimumConfig,
37    MulConfig,
38    NegConfig,
39    PermuteConfig,
40    PowConfig,
41    QuantizedPerTensorConfig,
42    ReLUConfig,
43    # SDPAConfig, TODO: D60553559: preserving SDPA for fairseq fails
44    SigmoidConfig,
45    SliceCopyConfig,
46    SoftmaxConfig,
47    SquareRootConfig,
48    SubConfig,
49    UpsampleBilinear2dConfig,
50)
51from executorch.backends.xnnpack.partition.config.node_configs import (
52    BatchNormConfig,
53    MaxDimConfig,
54    PreluConfig,
55)
56from executorch.backends.xnnpack.partition.config.quant_affine_configs import (
57    ChooseQParamsAffineConfig,
58    DeQuantizeAffineConfig,
59    QuantizeAffineConfig,
60)
61from executorch.backends.xnnpack.partition.config.xnnpack_config import (
62    XNNPartitionerConfig,
63)
64
65ALL_PARTITIONER_CONFIGS: List[Type[XNNPartitionerConfig]] = [
66    AbsConfig,
67    AddConfig,
68    AddmmConfig,
69    AvgPoolingConfig,
70    BatchNormConfig,
71    BMMConfig,
72    CatConfig,
73    CeilConfig,
74    ConstantPadConfig,
75    ConvolutionConfig,
76    ClampConfig,
77    DivConfig,
78    # EluConfig, # Waiting for PyTorch Pin Update
79    FloorConfig,
80    HardtanhConfig,
81    HardswishConfig,
82    LeakyReLUConfig,
83    LinearConfig,
84    MaxDimConfig,
85    MaximumConfig,
86    MaxPool2dConfig,
87    MeanDimConfig,
88    MinimumConfig,
89    MMConfig,
90    MulConfig,
91    NegConfig,
92    PermuteConfig,
93    PowConfig,
94    PreluConfig,
95    ReLUConfig,
96    # SDPAConfig, TODO: D60553559: preserving SDPA for fairseq fails
97    SigmoidConfig,
98    SliceCopyConfig,
99    SoftmaxConfig,
100    SquareRootConfig,
101    SubConfig,
102    UpsampleBilinear2dConfig,
103    # Quant/Dequant Op Configs
104    QuantizedPerTensorConfig,
105    DeQuantizedPerTensorConfig,
106    # Quant Affine Configs to preserve decomp
107    QuantizeAffineConfig,
108    DeQuantizeAffineConfig,
109    ChooseQParamsAffineConfig,
110]
111