API流水类型汇总【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit本节汇总介绍了一些主要的API的流水类型以下内容针对如下型号生效Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品针对Ascend 950PR/Ascend 950DTVF内的Reg矢量计算接口均为PIPE_V流水用户不需要管理VF和VF之间的同步VF内的不同的Reg矢量接口存在数据依赖时需要调用LocalMemBar进行同步。表1Memory矢量计算API流水类型汇总| API类型 | API接口名称 | 执行核AIC/AIV | 流水类型 | | --- | --- | --- | --- | | 基础算术 | Exp | AIV | PIPE_V | | 基础算术 | Ln | AIV | PIPE_V | | 基础算术 | Abs | AIV | PIPE_V | | 基础算术 | Reciprocal | AIV | PIPE_V | | 基础算术 | Sqrt | AIV | PIPE_V | | 基础算术 | Rsqrt | AIV | PIPE_V | | 基础算术 | Relu | AIV | PIPE_V | | 基础算术 | Add | AIV | PIPE_V | | 基础算术 | Sub | AIV | PIPE_V | | 基础算术 | Mul | AIV | PIPE_V | | 基础算术 | Div | AIV | PIPE_V | | 基础算术 | Max | AIV | PIPE_V | | 基础算术 | Min | AIV | PIPE_V | | 基础算术 | Adds | AIV | PIPE_V | | 基础算术 | Adds灵活标量位置 | AIV | PIPE_V | | 基础算术 | Muls | AIV | PIPE_V | | 基础算术 | Muls灵活标量位置 | AIV | PIPE_V | | 基础算术 | Maxs | AIV | PIPE_V | | 基础算术 | Maxs灵活标量位置 | AIV | PIPE_V | | 基础算术 | Mins | AIV | PIPE_V | | 基础算术 | Mins灵活标量位置 | AIV | PIPE_V | | 基础算术 | Subs灵活标量位置 | AIV | PIPE_V | | 基础算术 | Divs灵活标量位置 | AIV | PIPE_V | | 基础算术 | Neg | AIV | PIPE_V | | 基础算术 | Mull | AIV | PIPE_V | | 基础算术 | Prelu | AIV | PIPE_V | | 基础算术 | LeakyRelu | AIV | PIPE_V | | 基础算术 | BilinearInterpolation | AIV | PIPE_V | | 基础算术 | Reciprocal | AIV | PIPE_V | | 逻辑计算 | Not | AIV | PIPE_V | | 逻辑计算 | And | AIV | PIPE_V | | 逻辑计算 | Or | AIV | PIPE_V | | 逻辑计算 | ShiftLeft | AIV | PIPE_V | | 逻辑计算 | ShiftRight | AIV | PIPE_V | | 逻辑计算 | Ands | AIV | PIPE_V | | 逻辑计算 | Ors | AIV | PIPE_V | | 逻辑计算 | ShiftLeft左移位数为Tensor | AIV | PIPE_V | | 逻辑计算 | ShiftRights左移位数为Tensor | AIV | PIPE_V | | 复合计算 | Axpy | AIV | PIPE_V | | 复合计算 | MulAddDst | AIV | PIPE_V | | 复合计算 | MulCast | AIV | PIPE_V | | 复合计算 | AddRelu | AIV | PIPE_V | | 复合计算 | AddReluCast | AIV | PIPE_V | | 复合计算 | SubRelu | AIV | PIPE_V | | 复合计算 | SubReluCast | AIV | PIPE_V | | 复合计算 | FusedMulAdd | AIV | PIPE_V | | 复合计算 | MulAddRelu | AIV | PIPE_V | | 复合计算 | CastDequant | AIV | PIPE_V | | 复合计算 | AddDeqRelu | AIV | PIPE_V | | 复合计算 | MulsCast | AIV | PIPE_V | | 复合计算 | AbsSub | AIV | PIPE_V | | 复合计算 | ExpSub | AIV | PIPE_V | | 比较与选择 | Compare | AIV | PIPE_V | | 比较与选择 | Compare结果存入寄存器 | AIV | PIPE_V | | 比较与选择 | Compares | AIV | PIPE_V | | 比较与选择 | Compares灵活标量位置 | AIV | PIPE_V | | 比较与选择 | GetCmpMask(ISASI) | AIV | PIPE_V | | 比较与选择 | SetCmpMask(ISASI) | AIV | PIPE_V | | 比较与选择 | Select | AIV | PIPE_V | | 比较与选择 | Select灵活标量位置 | AIV | PIPE_V | | 比较与选择 | GatherMask | AIV | PIPE_V | | 类型转换 | Cast | AIV | PIPE_V | | 类型转换 | Truncate | AIV | PIPE_V | | 归约计算 | ReduceDataBlock | AIV | PIPE_V | | 归约计算 | ReduceRepeat | AIV | PIPE_V | | 归约计算 | ReducePairElem | AIV | PIPE_V | | 归约计算 | ReduceMax | AIV | PIPE_V | | 归约计算 | ReduceMin | AIV | PIPE_V | | 归约计算 | ReduceSum | AIV | PIPE_V | | 归约计算 | GetReduceRepeatSumSpr | AIV | PIPE_S | | 归约计算 | GetReduceRepeatMaxMinSpr | AIV | PIPE_S | | 数据排布转换 | Transpose | AIV | PIPE_V | | 数据排布转换 | TransDataTo5HD | AIV | PIPE_V | | 数据填充 | Brcb | AIV | PIPE_V | | 数据填充 | Duplicate | AIV | PIPE_V | | 数据填充 | CreateVecIndex | AIV | PIPE_V | | 排序组合 | Sort32 | AIV | PIPE_V | | 排序组合 | MrgSort | AIV | PIPE_V | | 排序组合 | GetMrgSortResult | AIV | PIPE_S | | 离散与聚合 | Gather | AIV | PIPE_V | | 离散与聚合 | Gatherb | AIV | PIPE_V | | 离散与聚合 | Scatter | AIV | PIPE_V | | 掩码操作 | SetMaskCount | AIV | PIPE_S | | 掩码操作 | SetMaskNorm | AIV | PIPE_S | | 掩码操作 | SetVectorMask | AIV | PIPE_S | | 掩码操作 | ResetMask | AIV | PIPE_S | | 数据重排 | Interleave | AIV | PIPE_V | | 数据重排 | DeInterleave | AIV | PIPE_V | | 数据搬运 | DataCopy(GM-UB) | AIV | PIPE_MTE2 | | 数据搬运 | DataCopy(UB-GM) | AIV | PIPE_MTE3 | | 数据搬运 | DataCopyPad(GM-UB) | AIV | PIPE_MTE2 | | 数据搬运 | DataCopyPad(UB-GM) | AIV | PIPE_MTE3 | | 数据搬运 | DataCopy(UB-UB) | AIV | PIPE_V | | 数据搬运 | Copy | AIV | PIPE_V |表2Cube API流水类型汇总| API接口名称 | 执行核AIC/AIV | 流水类型 | | --- | --- | --- | | DataCopy(GM-L1) | AIC | PIPE_MTE2 | | DataCopyPad(GM-L1) | AIC | PIPE_MTE2 | | LoadData(GM-L1) | AIC | PIPE_MTE2 | | LoadData(GM-L0) | AIC | PIPE_MTE2 | | LoadData(L1-L0) | AIC | PIPE_MTE1 | | LoadDataWithTranspose(L1-L0) | AIC | PIPE_MTE1 | | LoadDataWithSparse(L1-L0) | AIC | PIPE_MTE1 | | DataCopy(L1-BT) | AIC | PIPE_MTE1 | | DataCopy(L1-FB) | AIC | PIPE_FIX | | DataCopyPad(UB-L1) | AIC | 针对Ascend 950PR/Ascend 950DTPIPE_MTE3。针对Atlas A3 训练系列产品/Atlas A3 推理系列产品PIPE_MTE3、PIPE_MTE2。针对Atlas A2 训练系列产品/Atlas A2 推理系列产品PIPE_MTE3、PIPE_MTE2。| | Fill(L1) | AIC | PIPE_MTE2 | | Fill(L0) | AIC | PIPE_MTE1 | | SetFmatrix | AIC | PIPE_S | | SetLoadDataBoundary | AIC | PIPE_S | | SetLoadDataRepeat | AIC | PIPE_S | | SetLoadDataPaddingValue | AIC | PIPE_S | | Mmad | AIC | PIPE_M | | MmadMx | AIC | PIPE_M | | MmadWithSparse | AIC | PIPE_M | | SetMMColumnMajor/SetMMRowMajor | AIC | PIPE_S | | SetHF32Mode | AIC | PIPE_S | | SetHF32TransMode | AIC | PIPE_S | | DataCopy(L0C-GM) | AIC | PIPE_FIX | | DataCopy(L0C-L1) | AIC | PIPE_FIX | | DataCopy(L1-GM) | AIC | PIPE_MTE3 | | Fixpipe(L0C-GM) | AIC | PIPE_FIX | | Fixpipe(L0C-L1) | AIC | PIPE_FIX | | Fixpipe(L0C-UB) | AIC | PIPE_FIX | | DataCopyL1ToUB(L1-UB) | AIC | PIPE_MTE1 | | SetFixPipeConfig | AIC | PIPE_S | | SetFixpipePreQuantFlag | AIC | PIPE_S | | SetFixpipeNz2ndFlag | AIC | PIPE_S | | SetLreluALPHA | AIC | PIPE_S |表3标量计算指令流水类型汇总API接口名称流水类型GetBitCountPIPE_SCountLeadingZeroPIPE_SGetSFFValuePIPE_SCountBitsCntSameAsSignBitPIPE_SCastfloat转half、int32_tPIPE_SCastfloat转bfloat16_tPIPE_SCastbfloat16_t转floatPIPE_SNopPIPE_S表4同步指令流水类型汇总| API接口名称 | 流水类型 | | --- | --- | | SetFlag/WaitFlag | PIPE_S | | PipeBarrier | PIPE_S | | DataSyncBarrier | PIPE_S | | CrossCoreSetFlag | PIPE_S | | CrossCoreWaitFlag | PIPE_S | | SyncAll硬件同步接口 | PIPE_S | | SetNextTaskStart | PIPE_S | | WaitPreTaskEnd | PIPE_S | | Mutex::Lock | PIPE_S | | Mutex::UnLock | PIPE_S |表5原子操作流水类型汇总| API接口名称 | 流水类型 | | --- | --- | | SetAtomicAdd | PIPE_S | | SetAtomicMax | PIPE_S | | SetAtomicMin | PIPE_S | | SetAtomicType | PIPE_S | | DisableDmaAtomic | PIPE_S | | GetStoreAtomicConfig(ISASI) | PIPE_S | | SetStoreAtomicConfig(ISASI) | PIPE_S | | AtomicAdd | PIPE_S | | AtomicMax | PIPE_S | | AtomicMin | PIPE_S | | AtomicCas | PIPE_S | | AtomicExch | PIPE_S |表6工具接口流水类型汇总| API接口名称 | 流水类型 | | --- | --- | | InitSocState | PIPE_S | | GetBlockNum | PIPE_S | | GetBlockIdx | PIPE_S | | GetTaskRatio | PIPE_S | | GetSubBlockNum | PIPE_S | | GetSubBlockIdx | PIPE_S | | GetDataBlockSizeInBytes | PIPE_S | | GetSystemCycle | PIPE_S | | GetProgramCounter | PIPE_S | | GetArchVersion | PIPE_S | | GetUBSizeInBytes | PIPE_S | | GetRuntimeUBSize | PIPE_S | | GetVecLen | PIPE_S | | CeilDivision | PIPE_S | | GetSsbufBaseAddr | PIPE_S |表7缓存控制接口流水类型汇总API接口名称流水类型ReadGmByPassDCache(ISASI)PIPE_SWriteGmByPassDCache(ISASI)PIPE_SDataCachePreloadPIPE_SDataCacheCleanAndInvalidPIPE_SICachePreLoad(ISASI)PIPE_SGetICachePreloadStatus(ISASI)PIPE_S【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考