|
13 | 13 | from Deeploy.MemoryLevelExtension.NetworkDeployers.MemoryLevelDeployer import MemoryPlatform, MemoryPlatformWrapper |
14 | 14 | from Deeploy.Targets.Generic.Bindings import BasicGEMMBindings, BasicPad1DBindings, BasicPad2DBindings, \ |
15 | 15 | BasicRQIntegerDivBinding |
16 | | -from Deeploy.Targets.Generic.Layers import AddLayer, ConcatLayer, ConvLayer, GatherLayer, GELULayer, GEMMLayer, \ |
17 | | - LayerNormLayer, MatMulLayer, MaxPoolLayer, MulLayer, PadLayer, QuantLayer, ReduceMeanLayer, ReduceSumLayer, \ |
18 | | - ReluLayer, RequantShiftLayer, ReshapeLayer, RQIntegerDivLayer, RQSiGELULayer, RQSiHardswishLayer, SGDLayer, \ |
19 | | - SliceLayer, SoftmaxCrossEntropyLossGradLayer, SoftmaxCrossEntropyLossLayer, SoftmaxGradLayer, SoftmaxLayer, \ |
20 | | - TransposeLayer, iHardswishLayer, iRMSNormLayer |
| 16 | +from Deeploy.Targets.Generic.Layers import AddLayer, ConcatLayer, ConvLayer, GatherLayer, GELUGradLayer, GELULayer, \ |
| 17 | + GEMMLayer, LayerNormGradLayer, LayerNormLayer, MatMulLayer, MaxPoolLayer, MulLayer, PadLayer, QuantLayer, \ |
| 18 | + ReduceMeanLayer, ReduceSumLayer, ReluLayer, RequantShiftLayer, ReshapeLayer, RQIntegerDivLayer, RQSiGELULayer, \ |
| 19 | + RQSiHardswishLayer, SGDLayer, SliceLayer, SoftmaxCrossEntropyLossGradLayer, SoftmaxCrossEntropyLossLayer, \ |
| 20 | + SoftmaxGradLayer, SoftmaxLayer, TransposeLayer, iHardswishLayer, iRMSNormLayer |
21 | 21 | from Deeploy.Targets.Generic.Parsers import AddParser, ConcatParser, DequantParser, FlattenParser, GatherParser, \ |
22 | | - GELUParser, GEMMParser, LayerNormParser, MatMulParser, MaxPool2DParser, MulParser, Pad1DParser, Pad2DParser, \ |
23 | | - QuantParser, ReduceMeanParser, ReduceSumParser, ReluParser, RequantShiftParser, ReshapeParser, RQAddParser, \ |
24 | | - RQIntegerDivParser, RQSiGELUParser, RQSiHardswishParser, SGDParser, SliceParser, \ |
25 | | - SoftmaxCrossEntropyLossGradParser, SoftmaxCrossEntropyLossParser, SoftmaxGradParser, SoftmaxParser, \ |
26 | | - TransposeParser, UniformRequantShiftParser, UnsqueezeParser, iHardswishParser, iRMSNormParser, iSoftmaxParser |
| 22 | + GELUGradParser, GELUParser, GEMMParser, LayerNormGradParser, LayerNormParser, MatMulParser, MaxPool2DParser, \ |
| 23 | + MulParser, Pad1DParser, Pad2DParser, QuantParser, ReduceMeanParser, ReduceSumParser, ReluParser, \ |
| 24 | + RequantShiftParser, ReshapeParser, RQAddParser, RQIntegerDivParser, RQSiGELUParser, RQSiHardswishParser, \ |
| 25 | + SGDParser, SliceParser, SoftmaxCrossEntropyLossGradParser, SoftmaxCrossEntropyLossParser, SoftmaxGradParser, \ |
| 26 | + SoftmaxParser, TransposeParser, UniformRequantShiftParser, UnsqueezeParser, iHardswishParser, iRMSNormParser, \ |
| 27 | + iSoftmaxParser |
27 | 28 | from Deeploy.Targets.Generic.Templates import AllocateTemplate as BasicAllocateTemplate |
28 | 29 | from Deeploy.Targets.Generic.TopologyOptimizationPasses.Passes import DequantPatternPass, IntegerDivRequantMergePass, \ |
29 | 30 | MergeConstAddAndRequantPass, MergeTrueIntegerDivRequantShiftPass, QuantPatternPass, RQSSplitPass, \ |
|
37 | 38 | from Deeploy.Targets.PULPOpen.Templates import AllocateTemplate, FreeTemplate |
38 | 39 | from Deeploy.Targets.PULPOpen.Tiler import PULPAddTilingReadyBindings, PULPConcatTilingReadyBindings, \ |
39 | 40 | PULPConv2DTilingReadyBindings, PULPDWConv2DTilingReadyBindings, PULPFlattenTilingReadyBindings, \ |
40 | | - PULPFPGELUTilingReadyBindings, PULPFPGEMMTilingReadyBindings, PULPGatherTilingReadyBindings, \ |
41 | | - PULPiHardswishTilingReadyBindings, PULPiRMSNormTilingReadyBindings, PULPiRQSGELUTilingReadyBindings, \ |
42 | | - PULPLayernormTilingReadyBindings, PULPMatMulTilingReadyBindings, PULPMaxPool2DTilingReadyBindings, \ |
43 | | - PULPMulTilingReadyBindings, PULPReduceMeanTilingReadyBindings, PULPReduceSumTilingReadyBindings, \ |
44 | | - PULPReluTilingReadyBindings, PULPRQAddTilingReadyBindings, PULPRQSConv2DTilingReadyBindings, \ |
45 | | - PULPRQSDWConv2DTilingReadyBindings, PULPRQSGEMMTilingReadyBindings, PULPRQSiHardswishTilingReadyBindings, \ |
46 | | - PULPRQSMatrixVecTilingReadyBindings, PULPRQSTallGEMMTilingReadyBindings, PULPRQSTilingReadyBindings, \ |
47 | | - PULPSGDTilingReadyBindings, PULPSliceTilingReadyBindings, PULPSoftmaxCrossEntropyGradTilingReadyBindings, \ |
| 41 | + PULPFPGELUGradTilingReadyBindings, PULPFPGELUTilingReadyBindings, PULPFPGEMMTilingReadyBindings, \ |
| 42 | + PULPGatherTilingReadyBindings, PULPiHardswishTilingReadyBindings, PULPiRMSNormTilingReadyBindings, \ |
| 43 | + PULPiRQSGELUTilingReadyBindings, PULPLayernormGradTilingReadyBindings, PULPLayernormTilingReadyBindings, \ |
| 44 | + PULPMatMulTilingReadyBindings, PULPMaxPool2DTilingReadyBindings, PULPMulTilingReadyBindings, \ |
| 45 | + PULPReduceMeanTilingReadyBindings, PULPReduceSumTilingReadyBindings, PULPReluTilingReadyBindings, \ |
| 46 | + PULPRQAddTilingReadyBindings, PULPRQSConv2DTilingReadyBindings, PULPRQSDWConv2DTilingReadyBindings, \ |
| 47 | + PULPRQSGEMMTilingReadyBindings, PULPRQSiHardswishTilingReadyBindings, PULPRQSMatrixVecTilingReadyBindings, \ |
| 48 | + PULPRQSTallGEMMTilingReadyBindings, PULPRQSTilingReadyBindings, PULPSGDTilingReadyBindings, \ |
| 49 | + PULPSliceTilingReadyBindings, PULPSoftmaxCrossEntropyGradTilingReadyBindings, \ |
48 | 50 | PULPSoftmaxCrossEntropyTilingReadyBindings, PULPSoftmaxGradTilingReadyBindings, PULPSoftmaxTilingReadyBindings, \ |
49 | 51 | PULPTransposeTilingReadyBindings, PULPUniformRQSTilingReadyBindings |
50 | 52 | from Deeploy.Targets.PULPOpen.TopologyOptimizationPasses.Passes import PULPAddRequantMergePass, \ |
|
54 | 56 | AddMapper = NodeMapper(AddParser(), PULPAddTilingReadyBindings) |
55 | 57 | FlattenMapper = NodeMapper(FlattenParser(), PULPFlattenTilingReadyBindings) |
56 | 58 | GELUMapper = NodeMapper(GELUParser(), PULPFPGELUTilingReadyBindings) |
| 59 | +GELUGradMapper = NodeMapper(GELUGradParser(), PULPFPGELUGradTilingReadyBindings) |
57 | 60 | GatherMapper = NodeMapper(GatherParser(), PULPGatherTilingReadyBindings) |
58 | 61 | MulMapper = NodeMapper(MulParser(), PULPMulTilingReadyBindings) |
59 | 62 | Pad1DMapper = NodeMapper(Pad1DParser(), BasicPad1DBindings) |
|
83 | 86 | TallGEMMMapper = NodeMapper(PULPTallGEMMParser(), PULPRQSTallGEMMTilingReadyBindings) |
84 | 87 | MaxPool2DMapper = NodeMapper(MaxPool2DParser(), PULPMaxPool2DTilingReadyBindings) |
85 | 88 | LayerNormMapper = NodeMapper(LayerNormParser(), PULPLayernormTilingReadyBindings) |
| 89 | +LayerNormGradMapper = NodeMapper(LayerNormGradParser(), PULPLayernormGradTilingReadyBindings) |
86 | 90 | ReluMapper = NodeMapper(ReluParser(), PULPReluTilingReadyBindings) |
87 | 91 | SoftmaxMapper = NodeMapper(SoftmaxParser(), PULPSoftmaxTilingReadyBindings) |
88 | 92 | SoftmaxGradMapper = NodeMapper(SoftmaxGradParser(), PULPSoftmaxGradTilingReadyBindings) |
|
111 | 115 | 'RequantizedGemm': PULPRQSGEMMLayer([MatrixVecMapper, TallGEMMMapper, GEMMMapper]), |
112 | 116 | 'Gemm': GEMMLayer([FloatGEMMMapper, GEMMDequantMapper]), |
113 | 117 | 'Gelu': GELULayer([GELUMapper]), |
| 118 | + 'GeluGrad': GELUGradLayer([GELUGradMapper]), |
114 | 119 | 'LayerNormalization': LayerNormLayer([LayerNormMapper]), |
| 120 | + 'LayerNormalizationGrad': LayerNormGradLayer([LayerNormGradMapper]), |
115 | 121 | 'MaxPool': MaxPoolLayer([MaxPool2DMapper]), |
116 | 122 | 'RequantizediGELU': RQSiGELULayer([RQGELU_int8_Mapper]), |
117 | 123 | 'RQIntegerDiv': RQIntegerDivLayer([RQIntegerDivMapper]), |
|
0 commit comments