diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.c b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.c index 0f355c5e39..e6fc37dc99 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.c +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.c @@ -14,370 +14,13 @@ * limitations under the License. */ #include "nnacl/infer/infer_register.h" -#ifdef MS_COMPILE_IOS -extern void _AudioSpectrogramPrimType_AudioSpectrogram(); -extern void _EqualPrimType_Equal(); -extern void _GreaterPrimType_Greater(); -extern void _GreaterEqualPrimType_GreaterEqual(); -extern void _LessPrimType_Less(); -extern void _LessEqualPrimType_LessEqual(); -extern void _NotEqualPrimType_NotEqual(); -extern void _DivGradPrimType_DivGrad(); -extern void _MulGradPrimType_MulGrad(); -extern void _MinimumGradPrimType_MinimumGrad(); -extern void _FullConnectionPrimType_FullConnection(); -extern void _AdamPrimType_Adam(); -extern void _SlicePrimType_SliceFusion(); -extern void _LSTMPrimType_LSTM(); -extern void _TilePrimType_TileFusion(); -extern void _EmbeddingLookupPrimType_EmbeddingLookupFusion(); -extern void _AssignAddPrimType_AssignAdd(); -extern void _LinSpacePrimType_LinSpace(); -extern void _AddGradPrimType_AddGrad(); -extern void _SubGradPrimType_SubGrad(); -extern void _OneHotPrimType_OneHot(); -extern void _RandomStandardNormalPrimType_RandomStandardNormal(); -extern void _StridedSlicePrimType_StridedSlice(); -extern void _FillPrimType_Fill(); -extern void _CastPrimType_Cast(); -extern void _SGDPrimType_SGD(); -extern void _UniquePrimType_Unique(); -extern void _BatchToSpacePrimType_BatchToSpace(); -extern void _TensorListFromTensorPrimType_TensorListFromTensor(); -extern void _TensorListGetItemPrimType_TensorListGetItem(); -extern void _SoftmaxCrossEntropyWithLogitsPrimType_SoftmaxCrossEntropyWithLogits(); -extern void _ExpandDimsPrimType_ExpandDims(); -extern void _InvertPermutationPrimType_InvertPermutation(); -extern void _MergePrimType_Merge(); -extern void _RfftPrimType_Rfft(); -extern void _Conv2DBackpropInputFusionPrimType_Conv2DBackpropInputFusion(); -extern void _ScatterNdPrimType_ScatterNd(); -extern void _FusedBatchNormPrimType_FusedBatchNorm(); -extern void _PartialPrimType_PartialFusion(); -extern void _HashtableLookupPrimType_HashtableLookup(); -extern void _ReducePrimType_ReduceFusion(); -extern void _GatherPrimType_Gather(); -extern void _SplitPrimType_Split(); -extern void _RangePrimType_Range(); -extern void _BroadcastToPrimType_BroadcastTo(); -extern void _UnsortedSegmentSumPrimType_UnsortedSegmentSum(); -extern void _SqueezePrimType_Squeeze(); -extern void _MaximumGradPrimType_MaximumGrad(); -extern void _PowPrimType_PowFusion(); -extern void _PriorBoxPrimType_PriorBox(); -extern void _SpaceToDepthPrimType_SpaceToDepth(); -extern void _RankPrimType_Rank(); -extern void _MfccPrimType_Mfcc(); -extern void _BinaryCrossEntropyPrimType_BinaryCrossEntropy(); -extern void _Conv2DBackpropFilterFusionPrimType_Conv2DBackpropFilterFusion(); -extern void _WherePrimType_Where(); -extern void _DetectionPostProcessPrimType_DetectionPostProcess(); -extern void _FlattenGradPrimType_FlattenGrad(); -extern void _ConstantOfShapePrimType_ConstantOfShape(); -extern void _SelectPrimType_Select(); -extern void _ConcatPrimType_Concat(); -extern void _StackPrimType_Stack(); -extern void _SwitchPrimType_Switch(); -extern void _NonMaxSuppressionPrimType_NonMaxSuppression(); -extern void _SkipGramPrimType_SkipGram(); -extern void _AddNPrimType_AddN(); -extern void _ArgMinPrimType_ArgMinFusion(); -extern void _ArgMaxPrimType_ArgMaxFusion(); -extern void _LayerNormFusionPrimType_LayerNormFusion(); -extern void _MaxPoolPrimType_MaxPoolFusion(); -extern void _AvgPoolPrimType_AvgPoolFusion(); -extern void _AssignPrimType_Assign(); -extern void _CropPrimType_Crop(); -extern void _UnsqueezePrimType_Unsqueeze(); -extern void _AbsPrimType_Abs(); -extern void _AbsGradPrimType_AbsGrad(); -extern void _ActivationPrimType_Activation(); -extern void _ActivationGradPrimType_ActivationGrad(); -extern void _BatchNormPrimType_BatchNorm(); -extern void _BinaryCrossEntropyGradPrimType_BinaryCrossEntropyGrad(); -extern void _BiasAddPrimType_BiasAdd(); -extern void _CeilPrimType_Ceil(); -extern void _ClipPrimType_Clip(); -extern void _ControlDependPrimType_ControlDepend(); -extern void _CosPrimType_Cos(); -extern void _DependPrimType_Depend(); -extern void _EluPrimType_Elu(); -extern void _ErfPrimType_Erf(); -extern void _ExpPrimType_ExpFusion(); -extern void _FakeQuantWithMinMaxVarsPrimType_FakeQuantWithMinMaxVars(); -extern void _FloorPrimType_Floor(); -extern void _IfPrimType_If(); -extern void _InstanceNormPrimType_InstanceNorm(); -extern void _IsFinitePrimType_IsFinite(); -extern void _LeakyReluPrimType_LeakyRelu(); -extern void _LogPrimType_Log(); -extern void _LogGradPrimType_LogGrad(); -extern void _LogicalNotPrimType_LogicalNot(); -extern void _LRNPrimType_LRN(); -extern void _L2NormalizePrimType_L2NormalizeFusion(); -extern void _NegPrimType_Neg(); -extern void _NegGradPrimType_NegGrad(); -extern void _PowerGradPrimType_PowerGrad(); -extern void _PReLUPrimType_PReLUFusion(); -extern void _ReciprocalPrimType_Reciprocal(); -extern void _ReverseSequencePrimType_ReverseSequence(); -extern void _ReversePrimType_ReverseV2(); -extern void _RoundPrimType_Round(); -extern void _RsqrtPrimType_Rsqrt(); -extern void _ScalePrimType_ScaleFusion(); -extern void _SigmoidCrossEntropyWithLogitsPrimType_SigmoidCrossEntropyWithLogits(); -extern void _SigmoidCrossEntropyWithLogitsGradPrimType_SigmoidCrossEntropyWithLogitsGrad(); -extern void _SinPrimType_Sin(); -extern void _SmoothL1LossPrimType_SmoothL1Loss(); -extern void _SmoothL1LossGradPrimType_SmoothL1LossGrad(); -extern void _SqrtPrimType_Sqrt(); -extern void _SquarePrimType_Square(); -extern void _ZerosLikePrimType_ZerosLike(); -extern void _AssertPrimType_Assert(); -extern void _TensorListSetItemPrimType_TensorListSetItem(); -extern void _SplicePrimType_Splice(); -extern void _SparseSoftmaxCrossEntropyWithLogitsPrimType_SparseSoftmaxCrossEntropyWithLogits(); -extern void _GRUPrimType_GRU(); -extern void _SizeOpPrimType_Size(); -extern void _CustomExtractFeaturesPrimType_CustomExtractFeatures(); -extern void _CustomPredictPrimType_CustomPredict(); -extern void _WhilePrimType_While(); -extern void _StridedSliceGradPrimType_StridedSliceGrad(); -extern void _LshProjectionPrimType_LshProjection(); -extern void _SoftmaxPrimType_Softmax(); -extern void _CustomNormalizePrimType_CustomNormalize(); -extern void _UnstackPrimType_Unstack(); -extern void _ROIPoolingPrimType_ROIPooling(); -extern void _LayerNormGradPrimType_LayerNormGrad(); -extern void _DropoutGradPrimType_DropoutGrad(); -extern void _TopKPrimType_TopKFusion(); -extern void _ApplyMomentumPrimType_ApplyMomentum(); -extern void _AdderPrimType_AdderFusion(); -extern void _Conv2DPrimType_Conv2DFusion(); -extern void _UniformRealPrimType_UniformReal(); -extern void _AvgPoolGradPrimType_AvgPoolGrad(); -extern void _MaxPoolGradPrimType_MaxPoolGrad(); -extern void _DepthToSpacePrimType_DepthToSpace(); -extern void _Conv2dTransposePrimType_Conv2dTransposeFusion(); -extern void _QuantDTypeCastPrimType_QuantDTypeCast(); -extern void _FftImagPrimType_FftImag(); -extern void _FftRealPrimType_FftReal(); -extern void _ResizePrimType_Resize(); -extern void _SpaceToBatchNDPrimType_SpaceToBatchND(); -extern void _TransposePrimType_Transpose(); -extern void _TensorListReservePrimType_TensorListReserve(); -extern void _ShapePrimType_Shape(); -extern void _BiasAddGradPrimType_BiasAddGrad(); -extern void _MatMulPrimType_MatMul(); -extern void _DropoutPrimType_Dropout(); -extern void _ReshapePrimType_Reshape(); -extern void _PadPrimType_PadFusion(); -extern void _TensorListStackPrimType_TensorListStack(); -extern void _FlattenPrimType_Flatten(); -extern void _BatchNormGradPrimType_BatchNormGrad(); -extern void _SpaceToBatchPrimType_SpaceToBatch(); -extern void _GatherNdPrimType_GatherNd(); -extern void _CropAndResizePrimType_CropAndResize(); -extern void _SparseToDensePrimType_SparseToDense(); -extern void _AddPrimType_AddFusion(); -extern void _DivPrimType_DivFusion(); -extern void _EltwisePrimType_Eltwise(); -extern void _FloorDivPrimType_FloorDiv(); -extern void _FloorModPrimType_FloorMod(); -extern void _LogicalAndPrimType_LogicalAnd(); -extern void _LogicalOrPrimType_LogicalOr(); -extern void _MaximumPrimType_Maximum(); -extern void _MinimumPrimType_Minimum(); -extern void _ModPrimType_Mod(); -extern void _MulPrimType_MulFusion(); -extern void _RealDivPrimType_RealDiv(); -extern void _SubPrimType_SubFusion(); -extern void _SquaredDifferencePrimType_SquaredDifference(); -void RegisterInfer() { - _AudioSpectrogramPrimType_AudioSpectrogram(); - _EqualPrimType_Equal(); - _GreaterPrimType_Greater(); - _GreaterEqualPrimType_GreaterEqual(); - _LessPrimType_Less(); - _LessEqualPrimType_LessEqual(); - _NotEqualPrimType_NotEqual(); - _DivGradPrimType_DivGrad(); - _MulGradPrimType_MulGrad(); - _MinimumGradPrimType_MinimumGrad(); - _FullConnectionPrimType_FullConnection(); - _AdamPrimType_Adam(); - _SlicePrimType_SliceFusion(); - _LSTMPrimType_LSTM(); - _TilePrimType_TileFusion(); - _EmbeddingLookupPrimType_EmbeddingLookupFusion(); - _AssignAddPrimType_AssignAdd(); - _LinSpacePrimType_LinSpace(); - _AddGradPrimType_AddGrad(); - _SubGradPrimType_SubGrad(); - _OneHotPrimType_OneHot(); - _RandomStandardNormalPrimType_RandomStandardNormal(); - _StridedSlicePrimType_StridedSlice(); - _FillPrimType_Fill(); - _CastPrimType_Cast(); - _SGDPrimType_SGD(); - _UniquePrimType_Unique(); - _BatchToSpacePrimType_BatchToSpace(); - _TensorListFromTensorPrimType_TensorListFromTensor(); - _TensorListGetItemPrimType_TensorListGetItem(); - _SoftmaxCrossEntropyWithLogitsPrimType_SoftmaxCrossEntropyWithLogits(); - _ExpandDimsPrimType_ExpandDims(); - _InvertPermutationPrimType_InvertPermutation(); - _MergePrimType_Merge(); - _RfftPrimType_Rfft(); - _Conv2DBackpropInputFusionPrimType_Conv2DBackpropInputFusion(); - _ScatterNdPrimType_ScatterNd(); - _FusedBatchNormPrimType_FusedBatchNorm(); - _PartialPrimType_PartialFusion(); - _HashtableLookupPrimType_HashtableLookup(); - _ReducePrimType_ReduceFusion(); - _GatherPrimType_Gather(); - _SplitPrimType_Split(); - _RangePrimType_Range(); - _BroadcastToPrimType_BroadcastTo(); - _UnsortedSegmentSumPrimType_UnsortedSegmentSum(); - _SqueezePrimType_Squeeze(); - _MaximumGradPrimType_MaximumGrad(); - _PowPrimType_PowFusion(); - _PriorBoxPrimType_PriorBox(); - _SpaceToDepthPrimType_SpaceToDepth(); - _RankPrimType_Rank(); - _MfccPrimType_Mfcc(); - _BinaryCrossEntropyPrimType_BinaryCrossEntropy(); - _Conv2DBackpropFilterFusionPrimType_Conv2DBackpropFilterFusion(); - _WherePrimType_Where(); - _DetectionPostProcessPrimType_DetectionPostProcess(); - _FlattenGradPrimType_FlattenGrad(); - _ConstantOfShapePrimType_ConstantOfShape(); - _SelectPrimType_Select(); - _ConcatPrimType_Concat(); - _StackPrimType_Stack(); - _SwitchPrimType_Switch(); - _NonMaxSuppressionPrimType_NonMaxSuppression(); - _SkipGramPrimType_SkipGram(); - _AddNPrimType_AddN(); - _ArgMinPrimType_ArgMinFusion(); - _ArgMaxPrimType_ArgMaxFusion(); - _LayerNormFusionPrimType_LayerNormFusion(); - _MaxPoolPrimType_MaxPoolFusion(); - _AvgPoolPrimType_AvgPoolFusion(); - _AssignPrimType_Assign(); - _CropPrimType_Crop(); - _UnsqueezePrimType_Unsqueeze(); - _AbsPrimType_Abs(); - _AbsGradPrimType_AbsGrad(); - _ActivationPrimType_Activation(); - _ActivationGradPrimType_ActivationGrad(); - _BatchNormPrimType_BatchNorm(); - _BinaryCrossEntropyGradPrimType_BinaryCrossEntropyGrad(); - _BiasAddPrimType_BiasAdd(); - _CeilPrimType_Ceil(); - _ClipPrimType_Clip(); - _ControlDependPrimType_ControlDepend(); - _CosPrimType_Cos(); - _DependPrimType_Depend(); - _EluPrimType_Elu(); - _ErfPrimType_Erf(); - _ExpPrimType_ExpFusion(); - _FakeQuantWithMinMaxVarsPrimType_FakeQuantWithMinMaxVars(); - _FloorPrimType_Floor(); - _IfPrimType_If(); - _InstanceNormPrimType_InstanceNorm(); - _IsFinitePrimType_IsFinite(); - _LeakyReluPrimType_LeakyRelu(); - _LogPrimType_Log(); - _LogGradPrimType_LogGrad(); - _LogicalNotPrimType_LogicalNot(); - _LRNPrimType_LRN(); - _L2NormalizePrimType_L2NormalizeFusion(); - _NegPrimType_Neg(); - _NegGradPrimType_NegGrad(); - _PowerGradPrimType_PowerGrad(); - _PReLUPrimType_PReLUFusion(); - _ReciprocalPrimType_Reciprocal(); - _ReverseSequencePrimType_ReverseSequence(); - _ReversePrimType_ReverseV2(); - _RoundPrimType_Round(); - _RsqrtPrimType_Rsqrt(); - _ScalePrimType_ScaleFusion(); - _SigmoidCrossEntropyWithLogitsPrimType_SigmoidCrossEntropyWithLogits(); - _SigmoidCrossEntropyWithLogitsGradPrimType_SigmoidCrossEntropyWithLogitsGrad(); - _SinPrimType_Sin(); - _SmoothL1LossPrimType_SmoothL1Loss(); - _SmoothL1LossGradPrimType_SmoothL1LossGrad(); - _SqrtPrimType_Sqrt(); - _SquarePrimType_Square(); - _ZerosLikePrimType_ZerosLike(); - _AssertPrimType_Assert(); - _TensorListSetItemPrimType_TensorListSetItem(); - _SplicePrimType_Splice(); - _SparseSoftmaxCrossEntropyWithLogitsPrimType_SparseSoftmaxCrossEntropyWithLogits(); - _GRUPrimType_GRU(); - _SizeOpPrimType_Size(); - _CustomExtractFeaturesPrimType_CustomExtractFeatures(); - _CustomPredictPrimType_CustomPredict(); - _WhilePrimType_While(); - _StridedSliceGradPrimType_StridedSliceGrad(); - _LshProjectionPrimType_LshProjection(); - _SoftmaxPrimType_Softmax(); - _CustomNormalizePrimType_CustomNormalize(); - _UnstackPrimType_Unstack(); - _ROIPoolingPrimType_ROIPooling(); - _LayerNormGradPrimType_LayerNormGrad(); - _DropoutGradPrimType_DropoutGrad(); - _TopKPrimType_TopKFusion(); - _ApplyMomentumPrimType_ApplyMomentum(); - _AdderPrimType_AdderFusion(); - _Conv2DPrimType_Conv2DFusion(); - _UniformRealPrimType_UniformReal(); - _AvgPoolGradPrimType_AvgPoolGrad(); - _MaxPoolGradPrimType_MaxPoolGrad(); - _DepthToSpacePrimType_DepthToSpace(); - _Conv2dTransposePrimType_Conv2dTransposeFusion(); - _QuantDTypeCastPrimType_QuantDTypeCast(); - _FftImagPrimType_FftImag(); - _FftRealPrimType_FftReal(); - _ResizePrimType_Resize(); - _SpaceToBatchNDPrimType_SpaceToBatchND(); - _TransposePrimType_Transpose(); - _TensorListReservePrimType_TensorListReserve(); - _ShapePrimType_Shape(); - _BiasAddGradPrimType_BiasAddGrad(); - _MatMulPrimType_MatMul(); - _DropoutPrimType_Dropout(); - _ReshapePrimType_Reshape(); - _PadPrimType_PadFusion(); - _TensorListStackPrimType_TensorListStack(); - _FlattenPrimType_Flatten(); - _BatchNormGradPrimType_BatchNormGrad(); - _SpaceToBatchPrimType_SpaceToBatch(); - _GatherNdPrimType_GatherNd(); - _CropAndResizePrimType_CropAndResize(); - _SparseToDensePrimType_SparseToDense(); - _AddPrimType_AddFusion(); - _DivPrimType_DivFusion(); - _EltwisePrimType_Eltwise(); - _FloorDivPrimType_FloorDiv(); - _FloorModPrimType_FloorMod(); - _LogicalAndPrimType_LogicalAnd(); - _LogicalOrPrimType_LogicalOr(); - _MaximumPrimType_Maximum(); - _MinimumPrimType_Minimum(); - _ModPrimType_Mod(); - _MulPrimType_MulFusion(); - _RealDivPrimType_RealDiv(); - _SubPrimType_SubFusion(); - _SquaredDifferencePrimType_SquaredDifference(); -} -#endif InferShape *g_infer_func = NULL; - +#ifdef MS_COMPILE_IOS +void InitInferFuncBuf() { +#else __attribute__((constructor(101))) void InitInferFuncBuf() { +#endif if (g_infer_func != NULL) { return; } @@ -385,9 +28,6 @@ __attribute__((constructor(101))) void InitInferFuncBuf() { if (g_infer_func != NULL) { memset(g_infer_func, 0, PrimType_MAX * sizeof(InferShape)); } -#ifdef MS_COMPILE_IOS - RegisterInfer(); -#endif } __attribute__((destructor)) void DestroyInferFuncBuf() { @@ -406,6 +46,11 @@ InferShape GetInferFunc(int prim_type) { } void RegInfer(int prim_type, InferShape func) { +#ifdef MS_COMPILE_IOS + if (g_infer_func == NULL) { + InitInferFuncBuf(); + } +#endif if (g_infer_func != NULL && prim_type < PrimType_MAX) { g_infer_func[prim_type] = func; } diff --git a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.h b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.h index e968ba15c2..6a6bfd3dcf 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.h +++ b/mindspore/ccsrc/backend/kernel_compiler/cpu/nnacl/infer/infer_register.h @@ -220,13 +220,8 @@ enum PrimType { void RegInfer(int prim_type, InferShape func); -#ifdef MS_COMPILE_IOS -#define REG_INFER(op, type, func) \ - void _##op##type() { RegInfer(type, func); } -#else #define REG_INFER(op, type, func) \ __attribute__((constructor(102))) void Reg##op##Infer() { RegInfer(type, func); } -#endif #ifdef __cplusplus } #endif diff --git a/mindspore/lite/src/CMakeLists.txt b/mindspore/lite/src/CMakeLists.txt index 1601fbcc27..0293f976fe 100644 --- a/mindspore/lite/src/CMakeLists.txt +++ b/mindspore/lite/src/CMakeLists.txt @@ -69,9 +69,6 @@ set(LITE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/weight_decoder.cc ${CMAKE_CURRENT_SOURCE_DIR}/huffman_decode.cc ) -if(DEFINED ARCHS) - list(APPEND LITE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/ios_reg_ops.cc) -endif() if(SUPPORT_GPU STREQUAL opencl) file(GLOB_RECURSE OPENCL_RUNTIME_SRC diff --git a/mindspore/lite/src/ios_reg_kernels.h b/mindspore/lite/src/ios_reg_kernels.h deleted file mode 100644 index ed37347bf0..0000000000 --- a/mindspore/lite/src/ios_reg_kernels.h +++ /dev/null @@ -1,712 +0,0 @@ -/** - * Copyright 2021 Huawei Technologies Co., Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#ifndef MINDSPORE_LITE_SRC_REG_KERNELS_H -#define MINDSPORE_LITE_SRC_REG_KERNELS_H - -namespace mindspore { -namespace kernel { - -#ifdef MS_COMPILE_IOS -// base -extern void _kCPUkNumberTypeInt32PrimitiveType_StridedSlice(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_StridedSlice(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_StridedSlice(); -extern void _kCPUkNumberTypeInt8PrimitiveType_StridedSlice(); -extern void _kCPUkNumberTypeUInt8PrimitiveType_QuantDTypeCast(); -extern void _kCPUkNumberTypeInt8PrimitiveType_QuantDTypeCast(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_QuantDTypeCast(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Assert(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Assert(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TensorListReserve(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TensorListReserve(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TensorListReserve(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TensorListStack(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TensorListStack(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TensorListStack(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ArgMaxFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ArgMinFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_ArgMaxFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_ArgMinFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TensorListGetItem(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TensorListGetItem(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TensorListGetItem(); -extern void _kCPUkNumberTypeInt32PrimitiveType_RandomStandardNormal(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Split(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Split(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Split(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Switch(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Switch(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Switch(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Switch(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_PriorBox(); -extern void _kCPUkNumberTypeInt8PrimitiveType_PriorBox(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ConstantOfShape(); -extern void _kCPUkNumberTypeInt32PrimitiveType_ConstantOfShape(); -extern void _kCPUkNumberTypeInt64PrimitiveType_ConstantOfShape(); -extern void _kCPUkNumberTypeInt32PrimitiveType_SliceFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SliceFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TensorListSetItem(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TensorListSetItem(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TensorListSetItem(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Reshape(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Reshape(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Reshape(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Flatten(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Flatten(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_FlattenGrad(); -extern void _kCPUkNumberTypeInt32PrimitiveType_ExpandDims(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_ExpandDims(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ExpandDims(); -extern void _kCPUkNumberTypeInt8PrimitiveType_ExpandDims(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Squeeze(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Squeeze(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Squeeze(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Squeeze(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Unsqueeze(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Unsqueeze(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Unsqueeze(); -extern void _kCPUkNumberTypeInt64PrimitiveType_Unsqueeze(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TileFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TileFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TileFusion(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Select(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TensorListFromTensor(); -extern void _kCPUkNumberTypeInt32PrimitiveType_TensorListFromTensor(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_TensorListFromTensor(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Stack(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Stack(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Merge(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Merge(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Merge(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Merge(); - -// fp16 -#ifdef ENABLE_FP16 -extern void _kCPUkNumberTypeFloat16PrimitiveType_SliceFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Concat(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_BiasAdd(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Crop(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_ScaleFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_PowFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Stack(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_GRU(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Softmax(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_MatMul(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Transpose(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_NotEqual(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Equal(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Less(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_LessEqual(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Greater(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_GreaterEqual(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_FullConnection(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Gather(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_LSTM(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Activation(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Cast(); -extern void _kCPUkNumberTypeInt64PrimitiveType_Cast(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Abs(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Cos(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Log(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Square(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Sqrt(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Rsqrt(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Sin(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_LogicalNot(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Floor(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Ceil(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Round(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Neg(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Reciprocal(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Erf(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_AvgPoolFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_MaxPoolFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_QuantDTypeCast(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_PadFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_BatchNorm(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Conv2dTransposeFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_MulFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_AddFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_SubFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_DivFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_FloorMod(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_FloorDiv(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_LogicalAnd(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_LogicalOr(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Maximum(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Minimum(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Eltwise(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_SquaredDifference(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Conv2DFusion(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_InstanceNorm(); -#endif - -// fp32 -extern void _kCPUkNumberTypeFloat32PrimitiveType_ROIPooling(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_PadFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Activation(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ReverseSequence(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_AdderFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_DetectionPostProcess(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_FullConnection(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_GatherNd(); -extern void _kCPUkNumberTypeInt32PrimitiveType_GatherNd(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Rank(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Elu(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_NonMaxSuppression(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_BatchNorm(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeIntPrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeBoolPrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SparseToDense(); -extern void _kCPUkNumberTypeInt32PrimitiveType_SparseToDense(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Gather(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Gather(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_DepthToSpace(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Unique(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ExpFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ScatterNd(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SpaceToDepth(); -extern void _kCPUkNumberTypeBoolPrimitiveType_NonZero(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Resize(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_PReLUFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_MulFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_MulFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_AddFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_AddFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SubFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_SubFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_DivFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_RealDiv(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Mod(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Mod(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LogicalAnd(); -extern void _kCPUkNumberTypeBoolPrimitiveType_LogicalAnd(); -extern void _kCPUkNumberTypeInt32PrimitiveType_LogicalAnd(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LogicalOr(); -extern void _kCPUkNumberTypeBoolPrimitiveType_LogicalOr(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Maximum(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Minimum(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Maximum(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Minimum(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_FloorDiv(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_FloorMod(); -extern void _kCPUkNumberTypeInt32PrimitiveType_FloorDiv(); -extern void _kCPUkNumberTypeInt32PrimitiveType_FloorMod(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SquaredDifference(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Eltwise(); -extern void _kCPUkNumberTypeInt32PrimitiveType_DivFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_AvgPoolFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_MaxPoolFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_EmbeddingLookupFusion(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Size(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Size(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Transpose(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Transpose(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_PowFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Abs(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Cos(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Log(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Square(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Sqrt(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Rsqrt(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Sin(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LogicalNot(); -extern void _kCPUkNumberTypeBoolPrimitiveType_LogicalNot(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Floor(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Ceil(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Round(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Neg(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Reciprocal(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Erf(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ReverseV2(); -extern void _kCPUkNumberTypeInt32PrimitiveType_ReverseV2(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Unstack(); -extern void _kCPUkNumberTypeInt32PrimitiveType_InvertPermutation(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_InvertPermutation(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SpaceToBatch(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SpaceToBatchND(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_AddN(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_MatMul(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_FusedBatchNorm(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_BiasAdd(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LRN(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_TopKFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_GRU(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Shape(); -extern void _kCPUkNumberTypeFloat16PrimitiveType_Shape(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Shape(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Shape(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_L2NormalizeFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ScaleFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_BatchToSpace(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_BatchToSpaceND(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Where(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Where(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Where(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_SkipGram(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_BroadcastTo(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_CropAndResize(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Conv2dTransposeFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Conv2DFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LayerNormFusion(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_ZerosLike(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_InstanceNorm(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Cast(); -extern void _kCPUkNumberTypeUInt8PrimitiveType_Cast(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Cast(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Cast(); -extern void _kCPUkNumberTypeInt64PrimitiveType_Cast(); -extern void _kCPUkNumberTypeBoolPrimitiveType_Cast(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LshProjection(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Fill(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Fill(); -extern void _kCPUkNumberTypeInt32PrimitiveType_OneHot(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LSTM(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Crop(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Crop(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Equal(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Equal(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_NotEqual(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Less(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Less(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_LessEqual(); -extern void _kCPUkNumberTypeInt32PrimitiveType_LessEqual(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Greater(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_GreaterEqual(); -extern void _kCPUkNumberTypeInt32PrimitiveType_GreaterEqual(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Range(); -extern void _kCPUkNumberTypeFloatPrimitiveType_Range(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Range(); -extern void _kCPUkNumberTypeIntPrimitiveType_Range(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Softmax(); -extern void _kCPUkNumberTypeInt32PrimitiveType_Concat(); -extern void _kCPUkNumberTypeFloat32PrimitiveType_Concat(); - -// int8 -extern void _kCPUkNumberTypeInt8PrimitiveType_PowFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_ReduceFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_TopKFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_GatherNd(); -extern void _kCPUkNumberTypeInt8PrimitiveType_PadFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_L2NormalizeFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_MulFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Unsqueeze(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Conv2DFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_AvgPoolFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_MaxPoolFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_BatchNorm(); -extern void _kCPUkNumberTypeInt8PrimitiveType_FusedBatchNorm(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Equal(); -extern void _kCPUkNumberTypeInt8PrimitiveType_NotEqual(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Less(); -extern void _kCPUkNumberTypeInt8PrimitiveType_LessEqual(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Greater(); -extern void _kCPUkNumberTypeInt8PrimitiveType_GreaterEqual(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Eltwise(); -extern void _kCPUkNumberTypeInt8PrimitiveType_BatchToSpace(); -extern void _kCPUkNumberTypeInt8PrimitiveType_BatchToSpaceND(); -extern void _kCPUkNumberTypeInt8PrimitiveType_DepthToSpace(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Activation(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Round(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Floor(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Ceil(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Abs(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Sin(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Cos(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Log(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Sqrt(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Rsqrt(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Square(); -extern void _kCPUkNumberTypeInt8PrimitiveType_LogicalNot(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Reciprocal(); -extern void _kCPUkNumberTypeInt8PrimitiveType_SliceFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Reshape(); -extern void _kCPUkNumberTypeInt8PrimitiveType_DivFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_MatMul(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Concat(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Crop(); -extern void _kCPUkNumberTypeInt8PrimitiveType_SpaceToBatch(); -extern void _kCPUkNumberTypeInt8PrimitiveType_SpaceToBatchND(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Split(); -extern void _kCPUkNumberTypeInt8PrimitiveType_BiasAdd(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Resize(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Gather(); -extern void _kCPUkNumberTypeInt8PrimitiveType_AddFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Squeeze(); -extern void _kCPUkNumberTypeInt8PrimitiveType_ScaleFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Softmax(); -extern void _kCPUkNumberTypeInt8PrimitiveType_ArgMaxFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_ArgMinFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_FullConnection(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Transpose(); -extern void _kCPUkNumberTypeInt8PrimitiveType_Conv2dTransposeFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_DetectionPostProcess(); -extern void _kCPUkNumberTypeInt8PrimitiveType_LeakyRelu(); -extern void _kCPUkNumberTypeInt8PrimitiveType_LayerNormFusion(); -extern void _kCPUkNumberTypeInt8PrimitiveType_SubFusion(); - -void IosRegisterKernels() { - // base - _kCPUkNumberTypeInt32PrimitiveType_StridedSlice(); - _kCPUkNumberTypeFloat32PrimitiveType_StridedSlice(); - _kCPUkNumberTypeFloat16PrimitiveType_StridedSlice(); - _kCPUkNumberTypeInt8PrimitiveType_StridedSlice(); - _kCPUkNumberTypeUInt8PrimitiveType_QuantDTypeCast(); - _kCPUkNumberTypeInt8PrimitiveType_QuantDTypeCast(); - _kCPUkNumberTypeFloat32PrimitiveType_QuantDTypeCast(); - _kCPUkNumberTypeFloat32PrimitiveType_Assert(); - _kCPUkNumberTypeBoolPrimitiveType_Assert(); - _kCPUkNumberTypeInt32PrimitiveType_TensorListReserve(); - _kCPUkNumberTypeFloat16PrimitiveType_TensorListReserve(); - _kCPUkNumberTypeFloat32PrimitiveType_TensorListReserve(); - _kCPUkNumberTypeFloat32PrimitiveType_TensorListStack(); - _kCPUkNumberTypeFloat16PrimitiveType_TensorListStack(); - _kCPUkNumberTypeInt32PrimitiveType_TensorListStack(); - _kCPUkNumberTypeFloat32PrimitiveType_ArgMaxFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_ArgMinFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_ArgMaxFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_ArgMinFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_TensorListGetItem(); - _kCPUkNumberTypeFloat16PrimitiveType_TensorListGetItem(); - _kCPUkNumberTypeInt32PrimitiveType_TensorListGetItem(); - _kCPUkNumberTypeInt32PrimitiveType_RandomStandardNormal(); - _kCPUkNumberTypeFloat16PrimitiveType_Split(); - _kCPUkNumberTypeInt32PrimitiveType_Split(); - _kCPUkNumberTypeFloat32PrimitiveType_Split(); - _kCPUkNumberTypeFloat32PrimitiveType_Switch(); - _kCPUkNumberTypeFloat16PrimitiveType_Switch(); - _kCPUkNumberTypeBoolPrimitiveType_Switch(); - _kCPUkNumberTypeInt32PrimitiveType_Switch(); - _kCPUkNumberTypeFloat32PrimitiveType_PriorBox(); - _kCPUkNumberTypeInt8PrimitiveType_PriorBox(); - _kCPUkNumberTypeFloat32PrimitiveType_ConstantOfShape(); - _kCPUkNumberTypeInt32PrimitiveType_ConstantOfShape(); - _kCPUkNumberTypeInt64PrimitiveType_ConstantOfShape(); - _kCPUkNumberTypeInt32PrimitiveType_SliceFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_SliceFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_TensorListSetItem(); - _kCPUkNumberTypeFloat16PrimitiveType_TensorListSetItem(); - _kCPUkNumberTypeInt32PrimitiveType_TensorListSetItem(); - _kCPUkNumberTypeInt32PrimitiveType_Reshape(); - _kCPUkNumberTypeFloat32PrimitiveType_Reshape(); - _kCPUkNumberTypeFloat16PrimitiveType_Reshape(); - _kCPUkNumberTypeFloat16PrimitiveType_Flatten(); - _kCPUkNumberTypeFloat32PrimitiveType_Flatten(); - _kCPUkNumberTypeFloat32PrimitiveType_FlattenGrad(); - _kCPUkNumberTypeInt32PrimitiveType_ExpandDims(); - _kCPUkNumberTypeFloat16PrimitiveType_ExpandDims(); - _kCPUkNumberTypeFloat32PrimitiveType_ExpandDims(); - _kCPUkNumberTypeInt8PrimitiveType_ExpandDims(); - _kCPUkNumberTypeFloat32PrimitiveType_Squeeze(); - _kCPUkNumberTypeFloat16PrimitiveType_Squeeze(); - _kCPUkNumberTypeInt32PrimitiveType_Squeeze(); - _kCPUkNumberTypeBoolPrimitiveType_Squeeze(); - _kCPUkNumberTypeFloat16PrimitiveType_Unsqueeze(); - _kCPUkNumberTypeFloat32PrimitiveType_Unsqueeze(); - _kCPUkNumberTypeInt32PrimitiveType_Unsqueeze(); - _kCPUkNumberTypeInt64PrimitiveType_Unsqueeze(); - _kCPUkNumberTypeFloat32PrimitiveType_TileFusion(); - _kCPUkNumberTypeInt32PrimitiveType_TileFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_TileFusion(); - _kCPUkNumberTypeBoolPrimitiveType_Select(); - _kCPUkNumberTypeFloat32PrimitiveType_TensorListFromTensor(); - _kCPUkNumberTypeInt32PrimitiveType_TensorListFromTensor(); - _kCPUkNumberTypeFloat16PrimitiveType_TensorListFromTensor(); - _kCPUkNumberTypeFloat32PrimitiveType_Stack(); - _kCPUkNumberTypeInt32PrimitiveType_Stack(); - _kCPUkNumberTypeFloat32PrimitiveType_Merge(); - _kCPUkNumberTypeFloat16PrimitiveType_Merge(); - _kCPUkNumberTypeBoolPrimitiveType_Merge(); - _kCPUkNumberTypeInt32PrimitiveType_Merge(); - -// fp16 -#ifdef ENABLE_FP16 - _kCPUkNumberTypeFloat16PrimitiveType_SliceFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_Concat(); - _kCPUkNumberTypeFloat16PrimitiveType_BiasAdd(); - _kCPUkNumberTypeFloat16PrimitiveType_Crop(); - _kCPUkNumberTypeFloat16PrimitiveType_ScaleFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_PowFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_Stack(); - _kCPUkNumberTypeFloat16PrimitiveType_GRU(); - _kCPUkNumberTypeFloat16PrimitiveType_Softmax(); - _kCPUkNumberTypeFloat16PrimitiveType_MatMul(); - _kCPUkNumberTypeFloat16PrimitiveType_Transpose(); - _kCPUkNumberTypeFloat16PrimitiveType_NotEqual(); - _kCPUkNumberTypeFloat16PrimitiveType_Equal(); - _kCPUkNumberTypeFloat16PrimitiveType_Less(); - _kCPUkNumberTypeFloat16PrimitiveType_LessEqual(); - _kCPUkNumberTypeFloat16PrimitiveType_Greater(); - _kCPUkNumberTypeFloat16PrimitiveType_GreaterEqual(); - _kCPUkNumberTypeFloat16PrimitiveType_ReduceFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_FullConnection(); - _kCPUkNumberTypeFloat16PrimitiveType_Gather(); - _kCPUkNumberTypeFloat16PrimitiveType_LSTM(); - _kCPUkNumberTypeFloat16PrimitiveType_Activation(); - _kCPUkNumberTypeFloat16PrimitiveType_Cast(); - _kCPUkNumberTypeInt64PrimitiveType_Cast(); - _kCPUkNumberTypeFloat16PrimitiveType_Abs(); - _kCPUkNumberTypeFloat16PrimitiveType_Cos(); - _kCPUkNumberTypeFloat16PrimitiveType_Log(); - _kCPUkNumberTypeFloat16PrimitiveType_Square(); - _kCPUkNumberTypeFloat16PrimitiveType_Sqrt(); - _kCPUkNumberTypeFloat16PrimitiveType_Rsqrt(); - _kCPUkNumberTypeFloat16PrimitiveType_Sin(); - _kCPUkNumberTypeFloat16PrimitiveType_LogicalNot(); - _kCPUkNumberTypeFloat16PrimitiveType_Floor(); - _kCPUkNumberTypeFloat16PrimitiveType_Ceil(); - _kCPUkNumberTypeFloat16PrimitiveType_Round(); - _kCPUkNumberTypeFloat16PrimitiveType_Neg(); - _kCPUkNumberTypeFloat16PrimitiveType_Reciprocal(); - _kCPUkNumberTypeFloat16PrimitiveType_Erf(); - _kCPUkNumberTypeFloat16PrimitiveType_AvgPoolFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_MaxPoolFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_QuantDTypeCast(); - _kCPUkNumberTypeFloat16PrimitiveType_PadFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_BatchNorm(); - _kCPUkNumberTypeFloat16PrimitiveType_Conv2dTransposeFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_MulFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_AddFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_SubFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_DivFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_FloorMod(); - _kCPUkNumberTypeFloat16PrimitiveType_FloorDiv(); - _kCPUkNumberTypeFloat16PrimitiveType_LogicalAnd(); - _kCPUkNumberTypeFloat16PrimitiveType_LogicalOr(); - _kCPUkNumberTypeFloat16PrimitiveType_Maximum(); - _kCPUkNumberTypeFloat16PrimitiveType_Minimum(); - _kCPUkNumberTypeFloat16PrimitiveType_Eltwise(); - _kCPUkNumberTypeFloat16PrimitiveType_SquaredDifference(); - _kCPUkNumberTypeFloat16PrimitiveType_Conv2DFusion(); - _kCPUkNumberTypeFloat16PrimitiveType_InstanceNorm(); -#endif - - // fp32 - _kCPUkNumberTypeFloat32PrimitiveType_ROIPooling(); - _kCPUkNumberTypeFloat32PrimitiveType_PadFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_Activation(); - _kCPUkNumberTypeFloat32PrimitiveType_ReverseSequence(); - _kCPUkNumberTypeFloat32PrimitiveType_AdderFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_DetectionPostProcess(); - _kCPUkNumberTypeFloat32PrimitiveType_FullConnection(); - _kCPUkNumberTypeFloat32PrimitiveType_GatherNd(); - _kCPUkNumberTypeInt32PrimitiveType_GatherNd(); - _kCPUkNumberTypeFloat32PrimitiveType_Rank(); - _kCPUkNumberTypeFloat32PrimitiveType_Elu(); - _kCPUkNumberTypeFloat32PrimitiveType_NonMaxSuppression(); - _kCPUkNumberTypeFloat32PrimitiveType_BatchNorm(); - _kCPUkNumberTypeFloat32PrimitiveType_ReduceFusion(); - _kCPUkNumberTypeIntPrimitiveType_ReduceFusion(); - _kCPUkNumberTypeInt32PrimitiveType_ReduceFusion(); - _kCPUkNumberTypeBoolPrimitiveType_ReduceFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_SparseToDense(); - _kCPUkNumberTypeInt32PrimitiveType_SparseToDense(); - _kCPUkNumberTypeFloat32PrimitiveType_Gather(); - _kCPUkNumberTypeInt32PrimitiveType_Gather(); - _kCPUkNumberTypeFloat32PrimitiveType_DepthToSpace(); - _kCPUkNumberTypeFloat32PrimitiveType_Unique(); - _kCPUkNumberTypeFloat32PrimitiveType_ExpFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_ScatterNd(); - _kCPUkNumberTypeFloat32PrimitiveType_SpaceToDepth(); - _kCPUkNumberTypeBoolPrimitiveType_NonZero(); - _kCPUkNumberTypeFloat32PrimitiveType_Resize(); - _kCPUkNumberTypeFloat32PrimitiveType_PReLUFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_MulFusion(); - _kCPUkNumberTypeInt32PrimitiveType_MulFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_AddFusion(); - _kCPUkNumberTypeInt32PrimitiveType_AddFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_SubFusion(); - _kCPUkNumberTypeInt32PrimitiveType_SubFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_DivFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_RealDiv(); - _kCPUkNumberTypeFloat32PrimitiveType_Mod(); - _kCPUkNumberTypeInt32PrimitiveType_Mod(); - _kCPUkNumberTypeFloat32PrimitiveType_LogicalAnd(); - _kCPUkNumberTypeBoolPrimitiveType_LogicalAnd(); - _kCPUkNumberTypeInt32PrimitiveType_LogicalAnd(); - _kCPUkNumberTypeFloat32PrimitiveType_LogicalOr(); - _kCPUkNumberTypeBoolPrimitiveType_LogicalOr(); - _kCPUkNumberTypeFloat32PrimitiveType_Maximum(); - _kCPUkNumberTypeFloat32PrimitiveType_Minimum(); - _kCPUkNumberTypeInt32PrimitiveType_Maximum(); - _kCPUkNumberTypeInt32PrimitiveType_Minimum(); - _kCPUkNumberTypeFloat32PrimitiveType_FloorDiv(); - _kCPUkNumberTypeFloat32PrimitiveType_FloorMod(); - _kCPUkNumberTypeInt32PrimitiveType_FloorDiv(); - _kCPUkNumberTypeInt32PrimitiveType_FloorMod(); - _kCPUkNumberTypeFloat32PrimitiveType_SquaredDifference(); - _kCPUkNumberTypeFloat32PrimitiveType_Eltwise(); - _kCPUkNumberTypeInt32PrimitiveType_DivFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_AvgPoolFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_MaxPoolFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_EmbeddingLookupFusion(); - _kCPUkNumberTypeInt32PrimitiveType_Size(); - _kCPUkNumberTypeFloat32PrimitiveType_Size(); - _kCPUkNumberTypeFloat32PrimitiveType_Transpose(); - _kCPUkNumberTypeInt32PrimitiveType_Transpose(); - _kCPUkNumberTypeFloat32PrimitiveType_PowFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_Abs(); - _kCPUkNumberTypeFloat32PrimitiveType_Cos(); - _kCPUkNumberTypeFloat32PrimitiveType_Log(); - _kCPUkNumberTypeFloat32PrimitiveType_Square(); - _kCPUkNumberTypeFloat32PrimitiveType_Sqrt(); - _kCPUkNumberTypeFloat32PrimitiveType_Rsqrt(); - _kCPUkNumberTypeFloat32PrimitiveType_Sin(); - _kCPUkNumberTypeFloat32PrimitiveType_LogicalNot(); - _kCPUkNumberTypeBoolPrimitiveType_LogicalNot(); - _kCPUkNumberTypeFloat32PrimitiveType_Floor(); - _kCPUkNumberTypeFloat32PrimitiveType_Ceil(); - _kCPUkNumberTypeFloat32PrimitiveType_Round(); - _kCPUkNumberTypeFloat32PrimitiveType_Neg(); - _kCPUkNumberTypeFloat32PrimitiveType_Reciprocal(); - _kCPUkNumberTypeFloat32PrimitiveType_Erf(); - _kCPUkNumberTypeFloat32PrimitiveType_ReverseV2(); - _kCPUkNumberTypeInt32PrimitiveType_ReverseV2(); - _kCPUkNumberTypeFloat32PrimitiveType_Unstack(); - _kCPUkNumberTypeInt32PrimitiveType_InvertPermutation(); - _kCPUkNumberTypeFloat32PrimitiveType_InvertPermutation(); - _kCPUkNumberTypeFloat32PrimitiveType_SpaceToBatch(); - _kCPUkNumberTypeFloat32PrimitiveType_SpaceToBatchND(); - _kCPUkNumberTypeFloat32PrimitiveType_AddN(); - _kCPUkNumberTypeFloat32PrimitiveType_MatMul(); - _kCPUkNumberTypeFloat32PrimitiveType_FusedBatchNorm(); - _kCPUkNumberTypeFloat32PrimitiveType_BiasAdd(); - _kCPUkNumberTypeFloat32PrimitiveType_LRN(); - _kCPUkNumberTypeFloat32PrimitiveType_TopKFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_GRU(); - _kCPUkNumberTypeInt32PrimitiveType_Shape(); - _kCPUkNumberTypeFloat16PrimitiveType_Shape(); - _kCPUkNumberTypeFloat32PrimitiveType_Shape(); - _kCPUkNumberTypeInt8PrimitiveType_Shape(); - _kCPUkNumberTypeFloat32PrimitiveType_L2NormalizeFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_ScaleFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_BatchToSpace(); - _kCPUkNumberTypeFloat32PrimitiveType_BatchToSpaceND(); - _kCPUkNumberTypeInt32PrimitiveType_Where(); - _kCPUkNumberTypeFloat32PrimitiveType_Where(); - _kCPUkNumberTypeBoolPrimitiveType_Where(); - _kCPUkNumberTypeFloat32PrimitiveType_SkipGram(); - _kCPUkNumberTypeFloat32PrimitiveType_BroadcastTo(); - _kCPUkNumberTypeFloat32PrimitiveType_CropAndResize(); - _kCPUkNumberTypeFloat32PrimitiveType_Conv2dTransposeFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_Conv2DFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_LayerNormFusion(); - _kCPUkNumberTypeFloat32PrimitiveType_ZerosLike(); - _kCPUkNumberTypeFloat32PrimitiveType_InstanceNorm(); - _kCPUkNumberTypeFloat32PrimitiveType_Cast(); - _kCPUkNumberTypeUInt8PrimitiveType_Cast(); - _kCPUkNumberTypeInt8PrimitiveType_Cast(); - _kCPUkNumberTypeInt32PrimitiveType_Cast(); - _kCPUkNumberTypeInt64PrimitiveType_Cast(); - _kCPUkNumberTypeBoolPrimitiveType_Cast(); - _kCPUkNumberTypeFloat32PrimitiveType_LshProjection(); - _kCPUkNumberTypeInt32PrimitiveType_Fill(); - _kCPUkNumberTypeFloat32PrimitiveType_Fill(); - _kCPUkNumberTypeInt32PrimitiveType_OneHot(); - _kCPUkNumberTypeFloat32PrimitiveType_LSTM(); - _kCPUkNumberTypeInt32PrimitiveType_Crop(); - _kCPUkNumberTypeFloat32PrimitiveType_Crop(); - _kCPUkNumberTypeFloat32PrimitiveType_Equal(); - _kCPUkNumberTypeInt32PrimitiveType_Equal(); - _kCPUkNumberTypeFloat32PrimitiveType_NotEqual(); - _kCPUkNumberTypeFloat32PrimitiveType_Less(); - _kCPUkNumberTypeInt32PrimitiveType_Less(); - _kCPUkNumberTypeFloat32PrimitiveType_LessEqual(); - _kCPUkNumberTypeInt32PrimitiveType_LessEqual(); - _kCPUkNumberTypeFloat32PrimitiveType_Greater(); - _kCPUkNumberTypeFloat32PrimitiveType_GreaterEqual(); - _kCPUkNumberTypeInt32PrimitiveType_GreaterEqual(); - _kCPUkNumberTypeFloat32PrimitiveType_Range(); - _kCPUkNumberTypeFloatPrimitiveType_Range(); - _kCPUkNumberTypeInt32PrimitiveType_Range(); - _kCPUkNumberTypeIntPrimitiveType_Range(); - _kCPUkNumberTypeFloat32PrimitiveType_Softmax(); - _kCPUkNumberTypeInt32PrimitiveType_Concat(); - _kCPUkNumberTypeFloat32PrimitiveType_Concat(); - - // int8 - _kCPUkNumberTypeInt8PrimitiveType_PowFusion(); - _kCPUkNumberTypeInt8PrimitiveType_ReduceFusion(); - _kCPUkNumberTypeInt8PrimitiveType_TopKFusion(); - _kCPUkNumberTypeInt8PrimitiveType_GatherNd(); - _kCPUkNumberTypeInt8PrimitiveType_PadFusion(); - _kCPUkNumberTypeInt8PrimitiveType_L2NormalizeFusion(); - _kCPUkNumberTypeInt8PrimitiveType_MulFusion(); - _kCPUkNumberTypeInt8PrimitiveType_Unsqueeze(); - _kCPUkNumberTypeInt8PrimitiveType_Conv2DFusion(); - _kCPUkNumberTypeInt8PrimitiveType_AvgPoolFusion(); - _kCPUkNumberTypeInt8PrimitiveType_MaxPoolFusion(); - _kCPUkNumberTypeInt8PrimitiveType_BatchNorm(); - _kCPUkNumberTypeInt8PrimitiveType_FusedBatchNorm(); - _kCPUkNumberTypeInt8PrimitiveType_Equal(); - _kCPUkNumberTypeInt8PrimitiveType_NotEqual(); - _kCPUkNumberTypeInt8PrimitiveType_Less(); - _kCPUkNumberTypeInt8PrimitiveType_LessEqual(); - _kCPUkNumberTypeInt8PrimitiveType_Greater(); - _kCPUkNumberTypeInt8PrimitiveType_GreaterEqual(); - _kCPUkNumberTypeInt8PrimitiveType_Eltwise(); - _kCPUkNumberTypeInt8PrimitiveType_BatchToSpace(); - _kCPUkNumberTypeInt8PrimitiveType_BatchToSpaceND(); - _kCPUkNumberTypeInt8PrimitiveType_DepthToSpace(); - _kCPUkNumberTypeInt8PrimitiveType_Activation(); - _kCPUkNumberTypeInt8PrimitiveType_Round(); - _kCPUkNumberTypeInt8PrimitiveType_Floor(); - _kCPUkNumberTypeInt8PrimitiveType_Ceil(); - _kCPUkNumberTypeInt8PrimitiveType_Abs(); - _kCPUkNumberTypeInt8PrimitiveType_Sin(); - _kCPUkNumberTypeInt8PrimitiveType_Cos(); - _kCPUkNumberTypeInt8PrimitiveType_Log(); - _kCPUkNumberTypeInt8PrimitiveType_Sqrt(); - _kCPUkNumberTypeInt8PrimitiveType_Rsqrt(); - _kCPUkNumberTypeInt8PrimitiveType_Square(); - _kCPUkNumberTypeInt8PrimitiveType_LogicalNot(); - _kCPUkNumberTypeInt8PrimitiveType_Reciprocal(); - _kCPUkNumberTypeInt8PrimitiveType_SliceFusion(); - _kCPUkNumberTypeInt8PrimitiveType_Reshape(); - _kCPUkNumberTypeInt8PrimitiveType_DivFusion(); - _kCPUkNumberTypeInt8PrimitiveType_MatMul(); - _kCPUkNumberTypeInt8PrimitiveType_Concat(); - _kCPUkNumberTypeInt8PrimitiveType_Crop(); - _kCPUkNumberTypeInt8PrimitiveType_SpaceToBatch(); - _kCPUkNumberTypeInt8PrimitiveType_SpaceToBatchND(); - _kCPUkNumberTypeInt8PrimitiveType_Split(); - _kCPUkNumberTypeInt8PrimitiveType_BiasAdd(); - _kCPUkNumberTypeInt8PrimitiveType_Resize(); - _kCPUkNumberTypeInt8PrimitiveType_Gather(); - _kCPUkNumberTypeInt8PrimitiveType_AddFusion(); - _kCPUkNumberTypeInt8PrimitiveType_Squeeze(); - _kCPUkNumberTypeInt8PrimitiveType_ScaleFusion(); - _kCPUkNumberTypeInt8PrimitiveType_Softmax(); - _kCPUkNumberTypeInt8PrimitiveType_ArgMaxFusion(); - _kCPUkNumberTypeInt8PrimitiveType_ArgMinFusion(); - _kCPUkNumberTypeInt8PrimitiveType_FullConnection(); - _kCPUkNumberTypeInt8PrimitiveType_Transpose(); - _kCPUkNumberTypeInt8PrimitiveType_Conv2dTransposeFusion(); - _kCPUkNumberTypeInt8PrimitiveType_DetectionPostProcess(); - _kCPUkNumberTypeInt8PrimitiveType_LeakyRelu(); - _kCPUkNumberTypeInt8PrimitiveType_LayerNormFusion(); - _kCPUkNumberTypeInt8PrimitiveType_SubFusion(); -} - -#endif - -} // namespace kernel -} // namespace mindspore - -#endif // MINDSPORE_LITE_SRC_REG_KERNELS_H diff --git a/mindspore/lite/src/ios_reg_ops.cc b/mindspore/lite/src/ios_reg_ops.cc deleted file mode 100644 index 43154cd4af..0000000000 --- a/mindspore/lite/src/ios_reg_ops.cc +++ /dev/null @@ -1,335 +0,0 @@ -/** - * Copyright 2021 Huawei Technologies Co., Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -namespace mindspore { -namespace lite { -#ifdef MS_COMPILE_IOS -// populate -extern void _PrimitiveType_MulFusionSCHEMA_CUR(); -extern void _PrimitiveType_NonMaxSuppressionSCHEMA_CUR(); -extern void _PrimitiveType_TensorListStackSCHEMA_CUR(); -extern void _PrimitiveType_EltwiseSCHEMA_CUR(); -extern void _PrimitiveType_AssignSCHEMA_CUR(); -extern void _PrimitiveType_CropSCHEMA_CUR(); -extern void _PrimitiveType_BatchNormSCHEMA_CUR(); -extern void _PrimitiveType_NonZeroSCHEMA_CUR(); -extern void _PrimitiveType_AddNSCHEMA_CUR(); -extern void _PrimitiveType_MergeSCHEMA_CUR(); -extern void _PrimitiveType_AbsSCHEMA_CUR(); -extern void _PrimitiveType_CosSCHEMA_CUR(); -extern void _PrimitiveType_SinSCHEMA_CUR(); -extern void _PrimitiveType_LogSCHEMA_CUR(); -extern void _PrimitiveType_NegSCHEMA_CUR(); -extern void _PrimitiveType_NegGradSCHEMA_CUR(); -extern void _PrimitiveType_LogGradSCHEMA_CUR(); -extern void _PrimitiveType_SqrtSCHEMA_CUR(); -extern void _PrimitiveType_SquareSCHEMA_CUR(); -extern void _PrimitiveType_RsqrtSCHEMA_CUR(); -extern void _PrimitiveType_LogicalNotSCHEMA_CUR(); -extern void _PrimitiveType_FloorSCHEMA_CUR(); -extern void _PrimitiveType_CeilSCHEMA_CUR(); -extern void _PrimitiveType_RoundSCHEMA_CUR(); -extern void _PrimitiveType_ReciprocalSCHEMA_CUR(); -extern void _PrimitiveType_AssignAddSCHEMA_CUR(); -extern void _PrimitiveType_UniqueSCHEMA_CUR(); -extern void _PrimitiveType_IsFiniteSCHEMA_CUR(); -extern void _PrimitiveType_TileFusionSCHEMA_CUR(); -extern void _PrimitiveType_BinaryCrossEntropyGradSCHEMA_CUR(); -extern void _PrimitiveType_StridedSliceSCHEMA_CUR(); -extern void _PrimitiveType_L2NormalizeFusionSCHEMA_CUR(); -extern void _PrimitiveType_RangeSCHEMA_CUR(); -extern void _PrimitiveType_SizeSCHEMA_CUR(); -extern void _PrimitiveType_CropAndResizeSCHEMA_CUR(); -extern void _PrimitiveType_QuantDTypeCastSCHEMA_CUR(); -extern void _PrimitiveType_InstanceNormSCHEMA_CUR(); -extern void _PrimitiveType_AddFusionSCHEMA_CUR(); -extern void _PrimitiveType_Conv2dTransposeFusionSCHEMA_CUR(); -extern void _PrimitiveType_PowFusionSCHEMA_CUR(); -extern void _PrimitiveType_ReverseV2SCHEMA_CUR(); -extern void _PrimitiveType_BiasAddSCHEMA_CUR(); -extern void _PrimitiveType_TensorListReserveSCHEMA_CUR(); -extern void _PrimitiveType_SpliceSCHEMA_CUR(); -extern void _PrimitiveType_MatMulSCHEMA_CUR(); -extern void _PrimitiveType_ErfSCHEMA_CUR(); -extern void _PrimitiveType_MinimumGradSCHEMA_CUR(); -extern void _PrimitiveType_MaximumGradSCHEMA_CUR(); -extern void _PrimitiveType_RealDivSCHEMA_CUR(); -extern void _PrimitiveType_LogicalAndSCHEMA_CUR(); -extern void _PrimitiveType_LogicalOrSCHEMA_CUR(); -extern void _PrimitiveType_EqualSCHEMA_CUR(); -extern void _PrimitiveType_NotEqualSCHEMA_CUR(); -extern void _PrimitiveType_LessSCHEMA_CUR(); -extern void _PrimitiveType_LessEqualSCHEMA_CUR(); -extern void _PrimitiveType_GreaterSCHEMA_CUR(); -extern void _PrimitiveType_GreaterEqualSCHEMA_CUR(); -extern void _PrimitiveType_MaximumSCHEMA_CUR(); -extern void _PrimitiveType_MinimumSCHEMA_CUR(); -extern void _PrimitiveType_FloorDivSCHEMA_CUR(); -extern void _PrimitiveType_FloorModSCHEMA_CUR(); -extern void _PrimitiveType_ModSCHEMA_CUR(); -extern void _PrimitiveType_SquaredDifferenceSCHEMA_CUR(); -extern void _PrimitiveType_OneHotSCHEMA_CUR(); -extern void _PrimitiveType_WhileSCHEMA_CUR(); -extern void _PrimitiveType_ScatterNdSCHEMA_CUR(); -extern void _PrimitiveType_DepthToSpaceSCHEMA_CUR(); -extern void _PrimitiveType_GatherSCHEMA_CUR(); -extern void _PrimitiveType_AssertSCHEMA_CUR(); -extern void _PrimitiveType_InvertPermutationSCHEMA_CUR(); -extern void _PrimitiveType_OnesLikeSCHEMA_CUR(); -extern void _PrimitiveType_ConcatSCHEMA_CUR(); -extern void _PrimitiveType_ScaleFusionSCHEMA_CUR(); -extern void _PrimitiveType_HashtableLookupSCHEMA_CUR(); -extern void _PrimitiveType_StackSCHEMA_CUR(); -extern void _PrimitiveType_ShapeSCHEMA_CUR(); -extern void _PrimitiveType_SparseToDenseSCHEMA_CUR(); -extern void _PrimitiveType_TensorListFromTensorSCHEMA_CUR(); -extern void _PrimitiveType_ReverseSequenceSCHEMA_CUR(); -extern void _PrimitiveType_UnsqueezeSCHEMA_CUR(); -extern void _PrimitiveType_FlattenSCHEMA_CUR(); -extern void _PrimitiveType_ArgMinFusionSCHEMA_CUR(); -extern void _PrimitiveType_SpaceToBatchSCHEMA_CUR(); -extern void _PrimitiveType_UnstackSCHEMA_CUR(); -extern void _PrimitiveType_BroadcastToSCHEMA_CUR(); -extern void _PrimitiveType_SelectSCHEMA_CUR(); -extern void _PrimitiveType_LinSpaceSCHEMA_CUR(); -extern void _PrimitiveType_BiasAddGradSCHEMA_CUR(); -extern void _PrimitiveType_LayerNormFusionSCHEMA_CUR(); -extern void _PrimitiveType_EmbeddingLookupFusionSCHEMA_CUR(); -extern void _PrimitiveType_CustomExtractFeaturesSCHEMA_CUR(); -extern void _PrimitiveType_ResizeSCHEMA_CUR(); -extern void _PrimitiveType_AdamSCHEMA_CUR(); -extern void _PrimitiveType_ExpandDimsSCHEMA_CUR(); -extern void _PrimitiveType_IfSCHEMA_CUR(); -extern void _PrimitiveType_SoftmaxSCHEMA_CUR(); -extern void _PrimitiveType_BatchToSpaceSCHEMA_CUR(); -extern void _PrimitiveType_BatchToSpaceNDSCHEMA_CUR(); -extern void _PrimitiveType_UniformRealSCHEMA_CUR(); -extern void _PrimitiveType_DetectionPostProcessSCHEMA_CUR(); -extern void _PrimitiveType_GatherNdSCHEMA_CUR(); -extern void _PrimitiveType_GRUSCHEMA_CUR(); -extern void _PrimitiveType_CustomNormalizeSCHEMA_CUR(); -extern void _PrimitiveType_AdderFusionSCHEMA_CUR(); -extern void _PrimitiveType_RandomStandardNormalSCHEMA_CUR(); -extern void _PrimitiveType_FusedBatchNormSCHEMA_CUR(); -extern void _PrimitiveType_AvgPoolFusionSCHEMA_CUR(); -extern void _PrimitiveType_MaxPoolFusionSCHEMA_CUR(); -extern void _PrimitiveType_ArgMaxFusionSCHEMA_CUR(); -extern void _PrimitiveType_ExpFusionSCHEMA_CUR(); -extern void _PrimitiveType_LayerNormGradSCHEMA_CUR(); -extern void _PrimitiveType_AudioSpectrogramSCHEMA_CUR(); -extern void _PrimitiveType_SpaceToBatchNDSCHEMA_CUR(); -extern void _PrimitiveType_ROIPoolingSCHEMA_CUR(); -extern void _PrimitiveType_PReLUFusionSCHEMA_CUR(); -extern void _PrimitiveType_WhereSCHEMA_CUR(); -extern void _PrimitiveType_SparseSoftmaxCrossEntropyWithLogitsSCHEMA_CUR(); -extern void _PrimitiveType_PartialFusionSCHEMA_CUR(); -extern void _PrimitiveType_SubFusionSCHEMA_CUR(); -extern void _PrimitiveType_DivFusionSCHEMA_CUR(); -extern void _PrimitiveType_MfccSCHEMA_CUR(); -extern void _PrimitiveType_SplitSCHEMA_CUR(); -extern void _PrimitiveType_ActivationSCHEMA_CUR(); -extern void _PrimitiveType_TopKFusionSCHEMA_CUR(); -extern void _PrimitiveType_CastSCHEMA_CUR(); -extern void _PrimitiveType_StridedSliceGradSCHEMA_CUR(); -extern void _PrimitiveType_SliceFusionSCHEMA_CUR(); -extern void _PrimitiveType_TransposeSCHEMA_CUR(); -extern void _PrimitiveType_ReduceFusionSCHEMA_CUR(); -extern void _PrimitiveType_FullConnectionSCHEMA_CUR(); -extern void _PrimitiveType_LshProjectionSCHEMA_CUR(); -extern void _PrimitiveType_SkipGramSCHEMA_CUR(); -extern void _PrimitiveType_SqueezeSCHEMA_CUR(); -extern void _PrimitiveType_ActivationGradSCHEMA_CUR(); -extern void _PrimitiveType_SwitchSCHEMA_CUR(); -extern void _PrimitiveType_LSTMSCHEMA_CUR(); -extern void _PrimitiveType_BinaryCrossEntropySCHEMA_CUR(); -extern void _PrimitiveType_EluSCHEMA_CUR(); -extern void _PrimitiveType_Conv2DFusionSCHEMA_CUR(); -extern void _PrimitiveType_TensorListGetItemSCHEMA_CUR(); -extern void _PrimitiveType_LRNSCHEMA_CUR(); -extern void _PrimitiveType_ReshapeSCHEMA_CUR(); -extern void _PrimitiveType_ConstantOfShapeSCHEMA_CUR(); -extern void _PrimitiveType_CustomPredictSCHEMA_CUR(); -extern void _PrimitiveType_PadFusionSCHEMA_CUR(); -extern void _PrimitiveType_PriorBoxSCHEMA_CUR(); -extern void _PrimitiveType_ZerosLikeSCHEMA_CUR(); -extern void _PrimitiveType_DependSCHEMA_CUR(); -extern void _PrimitiveType_UnsortedSegmentSumSCHEMA_CUR(); -extern void _PrimitiveType_TensorListSetItemSCHEMA_CUR(); -extern void _PrimitiveType_FillSCHEMA_CUR(); -extern void _PrimitiveType_RankSCHEMA_CUR(); -extern void _PrimitiveType_ClipSCHEMA_CUR(); -extern void _PrimitiveType_SpaceToDepthSCHEMA_CUR(); - -void IosRegisterOps() { - _PrimitiveType_MulFusionSCHEMA_CUR(); - _PrimitiveType_NonMaxSuppressionSCHEMA_CUR(); - _PrimitiveType_TensorListStackSCHEMA_CUR(); - _PrimitiveType_EltwiseSCHEMA_CUR(); - _PrimitiveType_AssignSCHEMA_CUR(); - _PrimitiveType_CropSCHEMA_CUR(); - _PrimitiveType_BatchNormSCHEMA_CUR(); - _PrimitiveType_NonZeroSCHEMA_CUR(); - _PrimitiveType_AddNSCHEMA_CUR(); - _PrimitiveType_MergeSCHEMA_CUR(); - _PrimitiveType_AbsSCHEMA_CUR(); - _PrimitiveType_CosSCHEMA_CUR(); - _PrimitiveType_SinSCHEMA_CUR(); - _PrimitiveType_LogSCHEMA_CUR(); - _PrimitiveType_NegSCHEMA_CUR(); - _PrimitiveType_NegGradSCHEMA_CUR(); - _PrimitiveType_LogGradSCHEMA_CUR(); - _PrimitiveType_SqrtSCHEMA_CUR(); - _PrimitiveType_SquareSCHEMA_CUR(); - _PrimitiveType_RsqrtSCHEMA_CUR(); - _PrimitiveType_LogicalNotSCHEMA_CUR(); - _PrimitiveType_FloorSCHEMA_CUR(); - _PrimitiveType_CeilSCHEMA_CUR(); - _PrimitiveType_RoundSCHEMA_CUR(); - _PrimitiveType_ReciprocalSCHEMA_CUR(); - _PrimitiveType_AssignAddSCHEMA_CUR(); - _PrimitiveType_UniqueSCHEMA_CUR(); - _PrimitiveType_IsFiniteSCHEMA_CUR(); - _PrimitiveType_TileFusionSCHEMA_CUR(); - _PrimitiveType_BinaryCrossEntropyGradSCHEMA_CUR(); - _PrimitiveType_StridedSliceSCHEMA_CUR(); - _PrimitiveType_L2NormalizeFusionSCHEMA_CUR(); - _PrimitiveType_RangeSCHEMA_CUR(); - _PrimitiveType_SizeSCHEMA_CUR(); - _PrimitiveType_CropAndResizeSCHEMA_CUR(); - _PrimitiveType_QuantDTypeCastSCHEMA_CUR(); - _PrimitiveType_InstanceNormSCHEMA_CUR(); - _PrimitiveType_AddFusionSCHEMA_CUR(); - _PrimitiveType_Conv2dTransposeFusionSCHEMA_CUR(); - _PrimitiveType_PowFusionSCHEMA_CUR(); - _PrimitiveType_ReverseV2SCHEMA_CUR(); - _PrimitiveType_BiasAddSCHEMA_CUR(); - _PrimitiveType_TensorListReserveSCHEMA_CUR(); - _PrimitiveType_SpliceSCHEMA_CUR(); - _PrimitiveType_MatMulSCHEMA_CUR(); - _PrimitiveType_ErfSCHEMA_CUR(); - _PrimitiveType_MinimumGradSCHEMA_CUR(); - _PrimitiveType_MaximumGradSCHEMA_CUR(); - _PrimitiveType_RealDivSCHEMA_CUR(); - _PrimitiveType_LogicalAndSCHEMA_CUR(); - _PrimitiveType_LogicalOrSCHEMA_CUR(); - _PrimitiveType_EqualSCHEMA_CUR(); - _PrimitiveType_NotEqualSCHEMA_CUR(); - _PrimitiveType_LessSCHEMA_CUR(); - _PrimitiveType_LessEqualSCHEMA_CUR(); - _PrimitiveType_GreaterSCHEMA_CUR(); - _PrimitiveType_GreaterEqualSCHEMA_CUR(); - _PrimitiveType_MaximumSCHEMA_CUR(); - _PrimitiveType_MinimumSCHEMA_CUR(); - _PrimitiveType_FloorDivSCHEMA_CUR(); - _PrimitiveType_FloorModSCHEMA_CUR(); - _PrimitiveType_ModSCHEMA_CUR(); - _PrimitiveType_SquaredDifferenceSCHEMA_CUR(); - _PrimitiveType_OneHotSCHEMA_CUR(); - _PrimitiveType_WhileSCHEMA_CUR(); - _PrimitiveType_ScatterNdSCHEMA_CUR(); - _PrimitiveType_DepthToSpaceSCHEMA_CUR(); - _PrimitiveType_GatherSCHEMA_CUR(); - _PrimitiveType_AssertSCHEMA_CUR(); - _PrimitiveType_InvertPermutationSCHEMA_CUR(); - _PrimitiveType_OnesLikeSCHEMA_CUR(); - _PrimitiveType_ConcatSCHEMA_CUR(); - _PrimitiveType_ScaleFusionSCHEMA_CUR(); - _PrimitiveType_HashtableLookupSCHEMA_CUR(); - _PrimitiveType_StackSCHEMA_CUR(); - _PrimitiveType_ShapeSCHEMA_CUR(); - _PrimitiveType_SparseToDenseSCHEMA_CUR(); - _PrimitiveType_TensorListFromTensorSCHEMA_CUR(); - _PrimitiveType_ReverseSequenceSCHEMA_CUR(); - _PrimitiveType_UnsqueezeSCHEMA_CUR(); - _PrimitiveType_FlattenSCHEMA_CUR(); - _PrimitiveType_ArgMinFusionSCHEMA_CUR(); - _PrimitiveType_SpaceToBatchSCHEMA_CUR(); - _PrimitiveType_UnstackSCHEMA_CUR(); - _PrimitiveType_BroadcastToSCHEMA_CUR(); - _PrimitiveType_SelectSCHEMA_CUR(); - _PrimitiveType_LinSpaceSCHEMA_CUR(); - _PrimitiveType_BiasAddGradSCHEMA_CUR(); - _PrimitiveType_LayerNormFusionSCHEMA_CUR(); - _PrimitiveType_EmbeddingLookupFusionSCHEMA_CUR(); - _PrimitiveType_CustomExtractFeaturesSCHEMA_CUR(); - _PrimitiveType_ResizeSCHEMA_CUR(); - _PrimitiveType_AdamSCHEMA_CUR(); - _PrimitiveType_ExpandDimsSCHEMA_CUR(); - _PrimitiveType_IfSCHEMA_CUR(); - _PrimitiveType_SoftmaxSCHEMA_CUR(); - _PrimitiveType_BatchToSpaceSCHEMA_CUR(); - _PrimitiveType_BatchToSpaceNDSCHEMA_CUR(); - _PrimitiveType_UniformRealSCHEMA_CUR(); - _PrimitiveType_DetectionPostProcessSCHEMA_CUR(); - _PrimitiveType_GatherNdSCHEMA_CUR(); - _PrimitiveType_GRUSCHEMA_CUR(); - _PrimitiveType_CustomNormalizeSCHEMA_CUR(); - _PrimitiveType_AdderFusionSCHEMA_CUR(); - _PrimitiveType_RandomStandardNormalSCHEMA_CUR(); - _PrimitiveType_FusedBatchNormSCHEMA_CUR(); - _PrimitiveType_AvgPoolFusionSCHEMA_CUR(); - _PrimitiveType_MaxPoolFusionSCHEMA_CUR(); - _PrimitiveType_ArgMaxFusionSCHEMA_CUR(); - _PrimitiveType_ExpFusionSCHEMA_CUR(); - _PrimitiveType_LayerNormGradSCHEMA_CUR(); - _PrimitiveType_AudioSpectrogramSCHEMA_CUR(); - _PrimitiveType_SpaceToBatchNDSCHEMA_CUR(); - _PrimitiveType_ROIPoolingSCHEMA_CUR(); - _PrimitiveType_PReLUFusionSCHEMA_CUR(); - _PrimitiveType_WhereSCHEMA_CUR(); - _PrimitiveType_SparseSoftmaxCrossEntropyWithLogitsSCHEMA_CUR(); - _PrimitiveType_PartialFusionSCHEMA_CUR(); - _PrimitiveType_SubFusionSCHEMA_CUR(); - _PrimitiveType_DivFusionSCHEMA_CUR(); - _PrimitiveType_MfccSCHEMA_CUR(); - _PrimitiveType_SplitSCHEMA_CUR(); - _PrimitiveType_ActivationSCHEMA_CUR(); - _PrimitiveType_TopKFusionSCHEMA_CUR(); - _PrimitiveType_CastSCHEMA_CUR(); - _PrimitiveType_StridedSliceGradSCHEMA_CUR(); - _PrimitiveType_SliceFusionSCHEMA_CUR(); - _PrimitiveType_TransposeSCHEMA_CUR(); - _PrimitiveType_ReduceFusionSCHEMA_CUR(); - _PrimitiveType_FullConnectionSCHEMA_CUR(); - _PrimitiveType_LshProjectionSCHEMA_CUR(); - _PrimitiveType_SkipGramSCHEMA_CUR(); - _PrimitiveType_SqueezeSCHEMA_CUR(); - _PrimitiveType_ActivationGradSCHEMA_CUR(); - _PrimitiveType_SwitchSCHEMA_CUR(); - _PrimitiveType_LSTMSCHEMA_CUR(); - _PrimitiveType_BinaryCrossEntropySCHEMA_CUR(); - _PrimitiveType_EluSCHEMA_CUR(); - _PrimitiveType_Conv2DFusionSCHEMA_CUR(); - _PrimitiveType_TensorListGetItemSCHEMA_CUR(); - _PrimitiveType_LRNSCHEMA_CUR(); - _PrimitiveType_ReshapeSCHEMA_CUR(); - _PrimitiveType_ConstantOfShapeSCHEMA_CUR(); - _PrimitiveType_CustomPredictSCHEMA_CUR(); - _PrimitiveType_PadFusionSCHEMA_CUR(); - _PrimitiveType_PriorBoxSCHEMA_CUR(); - _PrimitiveType_ZerosLikeSCHEMA_CUR(); - _PrimitiveType_DependSCHEMA_CUR(); - _PrimitiveType_UnsortedSegmentSumSCHEMA_CUR(); - _PrimitiveType_TensorListSetItemSCHEMA_CUR(); - _PrimitiveType_FillSCHEMA_CUR(); - _PrimitiveType_RankSCHEMA_CUR(); - _PrimitiveType_ClipSCHEMA_CUR(); - _PrimitiveType_SpaceToDepthSCHEMA_CUR(); -} - -#endif -} // namespace lite -} // namespace mindspore diff --git a/mindspore/lite/src/kernel_registry.cc b/mindspore/lite/src/kernel_registry.cc index 25518832f5..4eff7eeecc 100644 --- a/mindspore/lite/src/kernel_registry.cc +++ b/mindspore/lite/src/kernel_registry.cc @@ -18,7 +18,6 @@ #include "src/ops/populate/populate_register.h" #include "src/common/version_manager.h" #include "nnacl/pooling_parameter.h" -#include "src/ios_reg_kernels.h" #if defined(ENABLE_FP16) && defined(ENABLE_ARM) #if defined(__ANDROID__) #include @@ -140,11 +139,4 @@ kernel::LiteKernel *KernelRegistry::GetKernel(const std::vector &in_te } return nullptr; } - -#ifdef MS_COMPILE_IOS -void KernelRegistry::IosRegisterAllKernels() { - static std::once_flag flag_kernels; - std::call_once(flag_kernels, [&]() { kernel::IosRegisterKernels(); }); -} -#endif } // namespace mindspore::lite diff --git a/mindspore/lite/src/kernel_registry.h b/mindspore/lite/src/kernel_registry.h index dae605ed48..e9ffdbc368 100644 --- a/mindspore/lite/src/kernel_registry.h +++ b/mindspore/lite/src/kernel_registry.h @@ -47,9 +47,6 @@ class KernelRegistry { bool SupportKernel(const kernel::KernelKey &key); kernel::LiteKernel *GetKernel(const std::vector &in_tensors, const std::vector &out_tensors, const InnerContext *ctx, const kernel::KernelKey &key, OpParameter *op_parameter); -#ifdef MS_COMPILE_IOS - void IosRegisterAllKernels(); -#endif protected: static const int device_type_length_{kKernelArch_MAX - kKernelArch_MIN + 1}; @@ -75,15 +72,8 @@ class KernelRegistrar { } }; -#ifdef MS_COMPILE_IOS -#define REG_KERNEL(arch, data_type, op_type, kernelCreater) \ - void _##arch##data_type##op_type() { \ - lite::KernelRegistry::GetInstance()->RegKernel(arch, data_type, op_type, kernelCreater); \ - } -#else #define REG_KERNEL(arch, data_type, op_type, kernelCreater) \ static KernelRegistrar g_##arch##data_type##op_type##kernelReg(arch, data_type, op_type, kernelCreater); -#endif } // namespace mindspore::lite #endif // MINDSPORE_LITE_SRC_KERNEL_REGISTRY_H_ diff --git a/mindspore/lite/src/ops/populate/populate_register.h b/mindspore/lite/src/ops/populate/populate_register.h index c14e973ce2..2f6bf329b9 100644 --- a/mindspore/lite/src/ops/populate/populate_register.h +++ b/mindspore/lite/src/ops/populate/populate_register.h @@ -25,9 +25,6 @@ namespace mindspore { namespace lite { -#ifdef MS_COMPILE_IOS -void IosRegisterOps(); -#endif typedef OpParameter *(*ParameterGen)(const void *prim); class PopulateRegistry { public: @@ -51,12 +48,6 @@ class PopulateRegistry { param_creator = iter->second; return param_creator; } -#ifdef MS_COMPILE_IOS - void IosRegisterAllOps() { - static std::once_flag flag_ops; - std::call_once(flag_ops, [&]() { IosRegisterOps(); }); - } -#endif protected: // key:type * 1000 + schema_version @@ -71,15 +62,8 @@ class Registry { ~Registry() = default; }; -#ifdef MS_COMPILE_IOS -#define REG_POPULATE(primitive_type, creator, version) \ - void _##primitive_type##version() { \ - PopulateRegistry::GetInstance()->InsertParameterMap(primitive_type, creator, version); \ - } -#else #define REG_POPULATE(primitive_type, creator, version) \ static Registry g_##primitive_type##version(primitive_type, creator, version); -#endif } // namespace lite } // namespace mindspore diff --git a/mindspore/lite/src/scheduler.cc b/mindspore/lite/src/scheduler.cc index cf16b85eaf..9d23bf50a1 100644 --- a/mindspore/lite/src/scheduler.cc +++ b/mindspore/lite/src/scheduler.cc @@ -58,10 +58,6 @@ constexpr int kMainSubGraphIndex = 0; } // namespace int Scheduler::Schedule(std::vector *dst_kernels) { -#ifdef MS_COMPILE_IOS - PopulateRegistry::GetInstance()->IosRegisterAllOps(); - KernelRegistry::GetInstance()->IosRegisterAllKernels(); -#endif if (src_model_ == nullptr) { MS_LOG(ERROR) << "Input model is nullptr"; return RET_PARAM_INVALID;