1 /** 2 * Copyright 2023 Huawei Technologies Co., Ltd 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef MINDSPORE_CORE_BASE_MATH_OPS_H_ 18 #define MINDSPORE_CORE_BASE_MATH_OPS_H_ 19 20 #include <memory> 21 #include "ir/anf.h" 22 #include "ops/math_op_name.h" 23 #include "ir/primitive.h" 24 #include "ops/auto_generate/gen_ops_primitive.h" 25 26 namespace mindspore { 27 namespace prim { 28 29 // linalg 30 GVAR_DEF(PrimitivePtr, kPrimLU, std::make_shared<Primitive>("LU")); 31 GVAR_DEF(PrimitivePtr, kPrimSvd, std::make_shared<Primitive>("Svd")); 32 33 // Maths 34 GVAR_DEF(PrimitivePtr, kPrimBesselI0e, std::make_shared<Primitive>("BesselI0e")); 35 GVAR_DEF(PrimitivePtr, kPrimBesselI1e, std::make_shared<Primitive>("BesselI1e")); 36 GVAR_DEF(PrimitivePtr, kPrimBesselJ0, std::make_shared<Primitive>("BesselJ0")); 37 GVAR_DEF(PrimitivePtr, kPrimBesselJ1, std::make_shared<Primitive>("BesselJ1")); 38 GVAR_DEF(PrimitivePtr, kPrimBesselY0, std::make_shared<Primitive>("BesselY0")); 39 GVAR_DEF(PrimitivePtr, kPrimBesselY1, std::make_shared<Primitive>("BesselY1")); 40 GVAR_DEF(PrimitivePtr, kPrimTan, std::make_shared<Primitive>("Tan")); 41 GVAR_DEF(PrimitivePtr, kPrimImag, std::make_shared<Primitive>(kImagOpName)); 42 GVAR_DEF(PrimitivePtr, kPrimCauchy, std::make_shared<Primitive>(kCauchyOpName)); 43 GVAR_DEF(PrimitivePtr, kPrimCross, std::make_shared<Primitive>(kCrossOpName)); 44 GVAR_DEF(PrimitivePtr, kPrimEditDistance, std::make_shared<Primitive>(kEditDistanceOpName)); 45 GVAR_DEF(PrimitivePtr, kPrimBesselI0, std::make_shared<Primitive>("BesselI0")); 46 GVAR_DEF(PrimitivePtr, kPrimBesselI1, std::make_shared<Primitive>("BesselI1")); 47 GVAR_DEF(PrimitivePtr, kPrimBesselK0, std::make_shared<Primitive>("BesselK0")); 48 GVAR_DEF(PrimitivePtr, kPrimBesselK1, std::make_shared<Primitive>("BesselK1")); 49 GVAR_DEF(PrimitivePtr, kPrimBesselK0e, std::make_shared<Primitive>("BesselK0e")); 50 GVAR_DEF(PrimitivePtr, kPrimBesselK1e, std::make_shared<Primitive>("BesselK1e")); 51 GVAR_DEF(PrimitivePtr, kPrimGer, std::make_shared<Primitive>("Ger")); 52 GVAR_DEF(PrimitivePtr, kPrimTrunc, std::make_shared<Primitive>("Trunc")); 53 GVAR_DEF(PrimitivePtr, kPrimLu, std::make_shared<Primitive>("Lu")); 54 GVAR_DEF(PrimitivePtr, kPrimLuSolve, std::make_shared<Primitive>("LuSolve")); 55 GVAR_DEF(PrimitivePtr, kPrimMatrixSolve, std::make_shared<Primitive>("MatrixSolve")); 56 GVAR_DEF(PrimitivePtr, kPrimTridiagonalSolve, std::make_shared<Primitive>(kTridiagonalSolveOpName)); 57 GVAR_DEF(PrimitivePtr, kPrimLuUnpack, std::make_shared<Primitive>("LuUnpack")); 58 GVAR_DEF(PrimitivePtr, kPrimLuUnpackGrad, std::make_shared<Primitive>("LuUnpackGrad")); 59 GVAR_DEF(PrimitivePtr, kPrimTensorAdd, std::make_shared<Primitive>("TensorAdd")); 60 GVAR_DEF(PrimitivePtr, kPrimAddV2, std::make_shared<Primitive>(kAddV2OpName)); 61 GVAR_DEF(PrimitivePtr, kPrimAddLayerNorm, std::make_shared<Primitive>("AddLayerNorm")); 62 GVAR_DEF(PrimitivePtr, kPrimAddRmsNorm, std::make_shared<Primitive>("AddRmsNorm")); 63 GVAR_DEF(PrimitivePtr, kPrimMatMulV2, std::make_shared<Primitive>("MatMulV2")); 64 GVAR_DEF(PrimitivePtr, kPrimMatrixDiag, std::make_shared<Primitive>("MatrixDiag")); 65 GVAR_DEF(PrimitivePtr, kPrimBatchMatMulV2, std::make_shared<Primitive>("BatchMatMulV2")); 66 GVAR_DEF(PrimitivePtr, kPrimFusedMatMulBiasAdd, std::make_shared<Primitive>("FusedMatMulBiasAdd")); 67 GVAR_DEF(PrimitivePtr, kPrimMinimumGradGrad, std::make_shared<Primitive>("MinimumGradGrad")); 68 GVAR_DEF(PrimitivePtr, kPrimMedian, std::make_shared<Primitive>(kMedianOpName)); 69 GVAR_DEF(PrimitivePtr, kPrimMedianGrad, std::make_shared<Primitive>(kMedianGradOpName)); 70 GVAR_DEF(PrimitivePtr, kPrimReduceMeanD, std::make_shared<Primitive>(kReduceMeanDOpName)); 71 GVAR_DEF(PrimitivePtr, kPrimReduceAllD, std::make_shared<Primitive>(kReduceAllDOpName)); 72 GVAR_DEF(PrimitivePtr, kPrimReduceAnyD, std::make_shared<Primitive>(kReduceAnyDOpName)); 73 GVAR_DEF(PrimitivePtr, kPrimReduceMaxD, std::make_shared<Primitive>(kReduceMaxDOpName)); 74 GVAR_DEF(PrimitivePtr, kPrimReduceMinD, std::make_shared<Primitive>(kReduceMinDOpName)); 75 GVAR_DEF(PrimitivePtr, kPrimReduceProdD, std::make_shared<Primitive>(kReduceProdDOpName)); 76 GVAR_DEF(PrimitivePtr, kPrimCentralization, std::make_shared<Primitive>("Centralization")); 77 GVAR_DEF(PrimitivePtr, kPrimNegGrad, std::make_shared<Primitive>(kNegOpName)); 78 GVAR_DEF(PrimitivePtr, kPrimLcm, std::make_shared<Primitive>("Lcm")); 79 GVAR_DEF(PrimitivePtr, kPrimHypot, std::make_shared<Primitive>("Hypot")); 80 GVAR_DEF(PrimitivePtr, kPrimHeaviside, std::make_shared<Primitive>("Heaviside")); 81 GVAR_DEF(PrimitivePtr, kPrimMulNoNan, std::make_shared<Primitive>(kMulNoNanOpName)); 82 GVAR_DEF(PrimitivePtr, kPrimMod, std::make_shared<Primitive>("Mod")); 83 GVAR_DEF(PrimitivePtr, kPrimInvert, std::make_shared<Primitive>("Invert")); 84 GVAR_DEF(PrimitivePtr, kPrimDivNoNan, std::make_shared<Primitive>("DivNoNan")); 85 GVAR_DEF(PrimitivePtr, kPrimHistogram, std::make_shared<Primitive>("Histogram")); 86 GVAR_DEF(PrimitivePtr, kPrimCumulativeLogsumexp, std::make_shared<Primitive>(kCumulativeLogsumexpOpName)); 87 GVAR_DEF(PrimitivePtr, kPrimSubscalar, std::make_shared<Primitive>("Subscalar")); 88 GVAR_DEF(PrimitivePtr, kPrimInplaceAdd, std::make_shared<Primitive>("InplaceAdd")); 89 GVAR_DEF(PrimitivePtr, kPrimInplaceAddD, std::make_shared<Primitive>("InplaceAddD")); 90 GVAR_DEF(PrimitivePtr, kPrimInplaceIndexAdd, std::make_shared<Primitive>("InplaceIndexAdd")); 91 GVAR_DEF(PrimitivePtr, kPrimInplaceUpdate, std::make_shared<Primitive>("InplaceUpdate")); 92 GVAR_DEF(PrimitivePtr, kPrimInplaceUpdateD, std::make_shared<Primitive>("InplaceUpdateD")); 93 GVAR_DEF(PrimitivePtr, kPrimInplaceUpdateV2, std::make_shared<Primitive>("InplaceUpdateV2")); 94 GVAR_DEF(PrimitivePtr, kPrimLpNorm, std::make_shared<Primitive>(kLpNormOpName)); 95 GVAR_DEF(PrimitivePtr, kPrimInplaceSub, std::make_shared<Primitive>("InplaceSub")); 96 GVAR_DEF(PrimitivePtr, kPrimPower, std::make_shared<Primitive>("Power")); 97 GVAR_DEF(PrimitivePtr, kPrimTruncateDiv, std::make_shared<Primitive>("TruncateDiv")); 98 GVAR_DEF(PrimitivePtr, kPrimTruncateMod, std::make_shared<Primitive>("TruncateMod")); 99 GVAR_DEF(PrimitivePtr, kPrimInv, std::make_shared<Primitive>(kInvOpName)); 100 GVAR_DEF(PrimitivePtr, kPrimRint, std::make_shared<Primitive>("Rint")); 101 GVAR_DEF(PrimitivePtr, kPrimLogGrad, std::make_shared<Primitive>(kLogGradOpName)); 102 GVAR_DEF(PrimitivePtr, kPrimNonMaxSuppression, std::make_shared<Primitive>("NonMaxSuppression")); 103 GVAR_DEF(PrimitivePtr, kPrimMatrixSolveLs, std::make_shared<Primitive>(kMatrixSolveLsOpName)); 104 GVAR_DEF(PrimitivePtr, kPrimCdist, std::make_shared<Primitive>(kCdistOpName)); 105 GVAR_DEF(PrimitivePtr, kPrimCdistGrad, std::make_shared<Primitive>(kCdistGradOpName)); 106 GVAR_DEF(PrimitivePtr, kPrimWhere, std::make_shared<Primitive>("Where")); 107 GVAR_DEF(PrimitivePtr, kPrimMatrixInverse, std::make_shared<Primitive>(kMatrixInverseOpName)); 108 GVAR_DEF(PrimitivePtr, kPrimMatrixPower, std::make_shared<Primitive>(kMatrixPowerOpName)); 109 GVAR_DEF(PrimitivePtr, kPrimIndexAdd, std::make_shared<Primitive>("IndexAdd")); 110 GVAR_DEF(PrimitivePtr, kPrimIndexFill, std::make_shared<Primitive>(kIndexFillOpName)); 111 GVAR_DEF(PrimitivePtr, kPrimIndexPut, std::make_shared<Primitive>(kIndexPutOpName)); 112 GVAR_DEF(PrimitivePtr, kPrimInvGrad, std::make_shared<Primitive>("InvGrad")); 113 GVAR_DEF(PrimitivePtr, kPrimFloatStatus, std::make_shared<Primitive>("FloatStatus")); 114 GVAR_DEF(PrimitivePtr, kPrimIsNan, std::make_shared<Primitive>("IsNan")); 115 GVAR_DEF(PrimitivePtr, kPrimIsInf, std::make_shared<Primitive>("IsInf")); 116 GVAR_DEF(PrimitivePtr, kPrimComplexAbs, std::make_shared<Primitive>("ComplexAbs")); 117 GVAR_DEF(PrimitivePtr, kPrimLerp, std::make_shared<Primitive>("Lerp")); 118 GVAR_DEF(PrimitivePtr, kPrimEuclideanNorm, std::make_shared<Primitive>("EuclideanNorm")); 119 GVAR_DEF(PrimitivePtr, kPrimSquareSumAll, std::make_shared<Primitive>("SquareSumAll")); 120 GVAR_DEF(PrimitivePtr, kPrimSquareSumV1, std::make_shared<Primitive>("SquareSumV1")); 121 GVAR_DEF(PrimitivePtr, kPrimPolar, std::make_shared<Primitive>("Polar")); 122 GVAR_DEF(PrimitivePtr, kPrimXdivy, std::make_shared<Primitive>("Xdivy")); 123 GVAR_DEF(PrimitivePtr, kPrimXlogy, std::make_shared<Primitive>("Xlogy")); 124 GVAR_DEF(PrimitivePtr, kPrimRaggedRange, std::make_shared<Primitive>(kRaggedRangeOpName)); 125 GVAR_DEF(PrimitivePtr, kPrimBitwiseOr, std::make_shared<Primitive>("BitwiseOr")); 126 GVAR_DEF(PrimitivePtr, kPrimBitwiseAnd, std::make_shared<Primitive>("BitwiseAnd")); 127 GVAR_DEF(PrimitivePtr, kPrimBitwiseXor, std::make_shared<Primitive>("BitwiseXor")); 128 GVAR_DEF(PrimitivePtr, kPrimClipByValue, std::make_shared<Primitive>("ClipByValue")); 129 GVAR_DEF(PrimitivePtr, kPrimSTFT, std::make_shared<Primitive>("STFT")); 130 GVAR_DEF(PrimitivePtr, kPrimBucketize, std::make_shared<Primitive>("Bucketize")); 131 GVAR_DEF(PrimitivePtr, kPrimEinsum, std::make_shared<Primitive>("Einsum")); 132 GVAR_DEF(PrimitivePtr, kPrimEinsumGrad, std::make_shared<Primitive>("EinsumGrad")); 133 GVAR_DEF(PrimitivePtr, kPrimTraceGrad, std::make_shared<Primitive>("TraceGrad")); 134 GVAR_DEF(PrimitivePtr, kPrimSolveTriangularGrad, std::make_shared<Primitive>("SolveTriangularGrad")); 135 GVAR_DEF(PrimitivePtr, kPrimTridiagonalMatMul, std::make_shared<Primitive>(kTridiagonalMatMulOpName)); 136 GVAR_DEF(PrimitivePtr, kPrimZeta, std::make_shared<Primitive>("Zeta")); 137 GVAR_DEF(PrimitivePtr, kPrimFmax, std::make_shared<Primitive>(kFmaxOpName)); 138 GVAR_DEF(PrimitivePtr, kPrimIgamma, std::make_shared<Primitive>("Igamma")); 139 GVAR_DEF(PrimitivePtr, kPrimIgammac, std::make_shared<Primitive>("Igammac")); 140 GVAR_DEF(PrimitivePtr, kPrimIgammaGradA, std::make_shared<Primitive>("IgammaGradA")); 141 GVAR_DEF(PrimitivePtr, kPrimLgamma, std::make_shared<Primitive>("Lgamma")); 142 GVAR_DEF(PrimitivePtr, kPrimDigamma, std::make_shared<Primitive>("Digamma")); 143 GVAR_DEF(PrimitivePtr, kPrimPolygamma, std::make_shared<Primitive>("Polygamma")); 144 GVAR_DEF(PrimitivePtr, kPrimBernoulli, std::make_shared<Primitive>(kBernoulliOpName)); 145 GVAR_DEF(PrimitivePtr, kPrimKLDivLoss, std::make_shared<Primitive>("KLDivLoss")); 146 GVAR_DEF(PrimitivePtr, kPrimCholeskySolve, std::make_shared<Primitive>("CholeskySolve")); 147 GVAR_DEF(PrimitivePtr, kPrimKLDivLossGrad, std::make_shared<Primitive>("KLDivLossGrad")); 148 GVAR_DEF(PrimitivePtr, kPrimOrgqr, std::make_shared<Primitive>("Orgqr")); 149 GVAR_DEF(PrimitivePtr, kPrimFmin, std::make_shared<Primitive>("Fmin")); 150 GVAR_DEF(PrimitivePtr, kPrimTriuIndices, std::make_shared<Primitive>("TriuIndices")); 151 GVAR_DEF(PrimitivePtr, kPrimTrilIndices, std::make_shared<Primitive>("TrilIndices")); 152 GVAR_DEF(PrimitivePtr, kPrimEigh, std::make_shared<Primitive>("Eigh")); 153 GVAR_DEF(PrimitivePtr, kPrimMatrixLogarithm, std::make_shared<Primitive>(kMatrixLogarithmOpName)); 154 GVAR_DEF(PrimitivePtr, kPrimMatrixTriangularSolve, std::make_shared<Primitive>(kMatrixTriangularSolveOpName)); 155 GVAR_DEF(PrimitivePtr, kPrimSelfAdjointEig, std::make_shared<Primitive>("SelfAdjointEig")); 156 GVAR_DEF(PrimitivePtr, kPrimOrmqr, std::make_shared<Primitive>("Ormqr")); 157 GVAR_DEF(PrimitivePtr, kPrimEps, std::make_shared<Primitive>(kEpsOpName)); 158 GVAR_DEF(PrimitivePtr, kPrimMatmulReduceScatter, std::make_shared<Primitive>(kMatmulReduceScatterOpName)); 159 GVAR_DEF(PrimitivePtr, kPrimAllGatherMatmul, std::make_shared<Primitive>(kAllGatherMatmulOpName)); 160 GVAR_DEF(PrimitivePtr, kPrimSilentCheck, std::make_shared<Primitive>("SilentCheck")); 161 GVAR_DEF(PrimitivePtr, kPrimFusedMatMulElemUnary, std::make_shared<Primitive>("FusedMatMulElemUnary")); 162 GVAR_DEF(PrimitivePtr, kPrimFusedMatMulElemBinary, std::make_shared<Primitive>("FusedMatMulElemBinary")); 163 164 } // namespace prim 165 } // namespace mindspore 166 167 #endif // MINDSPORE_CORE_BASE_MATH_OPS_H_ 168