Skip to content

API流水类型汇总

本节汇总介绍了一些主要的API的流水类型,以下内容针对如下型号生效:

  • Ascend 950PR/Ascend 950DT
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品

针对Ascend 950PR/Ascend 950DT:
单个VF是PIPE_V流水,用户不需要管理VF和VF之间的同步,VF内的不同的Reg矢量接口存在数据依赖时需要调用LocalMemBar进行同步。

表1 Memory矢量计算API流水类型汇总

API类型API接口名称执行核(AIC/AIV)流水类型
基础算术ExpAIVPIPE_V
基础算术LnAIVPIPE_V
基础算术AbsAIVPIPE_V
基础算术ReciprocalAIVPIPE_V
基础算术SqrtAIVPIPE_V
基础算术RsqrtAIVPIPE_V
基础算术ReluAIVPIPE_V
基础算术AddAIVPIPE_V
基础算术SubAIVPIPE_V
基础算术MulAIVPIPE_V
基础算术DivAIVPIPE_V
基础算术MaxAIVPIPE_V
基础算术MinAIVPIPE_V
基础算术AddsAIVPIPE_V
基础算术Adds(灵活标量位置)AIVPIPE_V
基础算术MulsAIVPIPE_V
基础算术Muls(灵活标量位置)AIVPIPE_V
基础算术MaxsAIVPIPE_V
基础算术Maxs(灵活标量位置)AIVPIPE_V
基础算术MinsAIVPIPE_V
基础算术Mins(灵活标量位置)AIVPIPE_V
基础算术Subs(灵活标量位置)AIVPIPE_V
基础算术Divs(灵活标量位置)AIVPIPE_V
基础算术NegAIVPIPE_V
基础算术MullAIVPIPE_V
基础算术PreluAIVPIPE_V
基础算术LeakyReluAIVPIPE_V
基础算术BilinearInterpolationAIVPIPE_V
基础算术ReciprocalAIVPIPE_V
逻辑计算NotAIVPIPE_V
逻辑计算AndAIVPIPE_V
逻辑计算OrAIVPIPE_V
逻辑计算ShiftLeftAIVPIPE_V
逻辑计算ShiftRightAIVPIPE_V
逻辑计算AndsAIVPIPE_V
逻辑计算OrsAIVPIPE_V
逻辑计算ShiftLeft(左移位数为Tensor)AIVPIPE_V
逻辑计算ShiftRights(左移位数为Tensor)AIVPIPE_V
复合计算AxpyAIVPIPE_V
复合计算MulAddDstAIVPIPE_V
复合计算MulCastAIVPIPE_V
复合计算AddReluAIVPIPE_V
复合计算AddReluCastAIVPIPE_V
复合计算SubReluAIVPIPE_V
复合计算SubReluCastAIVPIPE_V
复合计算FusedMulAddAIVPIPE_V
复合计算MulAddReluAIVPIPE_V
复合计算CastDequantAIVPIPE_V
复合计算AddDeqReluAIVPIPE_V
复合计算MulsCastAIVPIPE_V
复合计算AbsSubAIVPIPE_V
复合计算ExpSubAIVPIPE_V
比较与选择CompareAIVPIPE_V
比较与选择Compare(结果存入寄存器)AIVPIPE_V
比较与选择ComparesAIVPIPE_V
比较与选择Compares(灵活标量位置)AIVPIPE_V
比较与选择GetCmpMask(ISASI)AIVPIPE_V
比较与选择SetCmpMask(ISASI)AIVPIPE_V
比较与选择SelectAIVPIPE_V
比较与选择Select(灵活标量位置)AIVPIPE_V
比较与选择GatherMaskAIVPIPE_V
类型转换CastAIVPIPE_V
类型转换TruncateAIVPIPE_V
归约计算ReduceDataBlockAIVPIPE_V
归约计算ReduceRepeatAIVPIPE_V
归约计算ReducePairElemAIVPIPE_V
归约计算ReduceMaxAIVPIPE_V
归约计算ReduceMinAIVPIPE_V
归约计算ReduceSumAIVPIPE_V
归约计算GetReduceRepeatSumSprAIVPIPE_S
归约计算GetReduceRepeatMaxMinSprAIVPIPE_S
数据排布转换TransposeAIVPIPE_V
数据排布转换TransDataTo5HDAIVPIPE_V
数据填充BrcbAIVPIPE_V
数据填充DuplicateAIVPIPE_V
数据填充CreateVecIndexAIVPIPE_V
排序组合Sort32AIVPIPE_V
排序组合MrgSortAIVPIPE_V
排序组合GetMrgSortResultAIVPIPE_S
离散与聚合GatherAIVPIPE_V
离散与聚合GatherbAIVPIPE_V
离散与聚合ScatterAIVPIPE_V
掩码操作SetMaskCountAIVPIPE_S
掩码操作SetMaskNormAIVPIPE_S
掩码操作SetVectorMaskAIVPIPE_S
掩码操作ResetMaskAIVPIPE_S
数据重排InterleaveAIVPIPE_V
数据重排DeInterleaveAIVPIPE_V
数据搬运DataCopy(GM->UB)AIVPIPE_MTE2
数据搬运DataCopy(UB->GM)AIVPIPE_MTE3
数据搬运DataCopyPad(GM->UB)AIVPIPE_MTE2
数据搬运DataCopyPad(UB->GM)AIVPIPE_MTE3
数据搬运DataCopy(UB->UB)AIVPIPE_V
数据搬运CopyAIVPIPE_V

表2 Cube API流水类型汇总

API接口名称执行核(AIC/AIV)流水类型
DataCopy(GM->L1)AICPIPE_MTE2
DataCopyPad(GM->L1)AICPIPE_MTE2
LoadData(GM->L1)AICPIPE_MTE2
LoadData(GM->L0)AICPIPE_MTE2
LoadData(L1->L0)AICPIPE_MTE1
LoadDataWithTranspose(L1->L0)AICPIPE_MTE1
LoadDataWithSparse(L1->L0)AICPIPE_MTE1
DataCopy(L1->BT)AICPIPE_MTE1
DataCopy(L1->FB)AICPIPE_FIX
DataCopyPad(UB->L1)AIC针对Ascend 950PR/Ascend 950DT:
PIPE_MTE3。
针对Atlas A3 训练系列产品/Atlas A3 推理系列产品:
PIPE_MTE3、PIPE_MTE2。
针对Atlas A2 训练系列产品/Atlas A2 推理系列产品:
PIPE_MTE3、PIPE_MTE2。
Fill(L1)AICPIPE_MTE2
Fill(L0)AICPIPE_MTE1
SetFmatrixAICPIPE_S
SetLoadDataBoundaryAICPIPE_S
SetLoadDataRepeatAICPIPE_S
SetLoadDataPaddingValueAICPIPE_S
MmadAICPIPE_M
MmadMxAICPIPE_M
MmadWithSparseAICPIPE_M
SetMMColumnMajor/SetMMRowMajorAICPIPE_S
SetHF32ModeAICPIPE_S
SetHF32TransModeAICPIPE_S
DataCopy(L0C->GM)AICPIPE_FIX
DataCopy(L0C->L1)AICPIPE_FIX
DataCopy(L1->GM)AICPIPE_MTE3
Fixpipe(L0C->GM)AICPIPE_FIX
Fixpipe(L0C->L1)AICPIPE_FIX
Fixpipe(L0C->UB)AICPIPE_FIX
DataCopyL1ToUB(L1->UB)AICPIPE_MTE1
SetFixPipeConfigAICPIPE_S
SetFixpipePreQuantFlagAICPIPE_S
SetFixpipeNz2ndFlagAICPIPE_S
SetLreluALPHAAICPIPE_S

表3 标量计算指令流水类型汇总

API接口名称流水类型
GetBitCountPIPE_S
CountLeadingZeroPIPE_S
GetSFFValuePIPE_S
CountBitsCntSameAsSignBitPIPE_S
Cast(float转half、int32_t)PIPE_S
Cast(float转bfloat16_t)PIPE_S
Cast(bfloat16_t转float)PIPE_S
NopPIPE_S

表4 同步指令流水类型汇总

API接口名称流水类型
SetFlag/WaitFlagPIPE_S
PipeBarrierPIPE_S
DataSyncBarrierPIPE_S
CrossCoreSetFlagPIPE_S
CrossCoreWaitFlagPIPE_S
SyncAll(硬件同步接口)PIPE_S
SetNextTaskStartPIPE_S
WaitPreTaskEndPIPE_S
Mutex::LockPIPE_S
Mutex::UnLockPIPE_S

表5 原子操作流水类型汇总

API接口名称流水类型
SetAtomicAddPIPE_S
SetAtomicMaxPIPE_S
SetAtomicMinPIPE_S
SetAtomicTypePIPE_S
DisableDmaAtomicPIPE_S
GetStoreAtomicConfig(ISASI)PIPE_S
SetStoreAtomicConfig(ISASI)PIPE_S
AtomicAddPIPE_S
AtomicMaxPIPE_S
AtomicMinPIPE_S
AtomicCasPIPE_S
AtomicExchPIPE_S

表6 工具接口流水类型汇总

API接口名称流水类型
InitSocStatePIPE_S
GetBlockNumPIPE_S
GetBlockIdxPIPE_S
GetTaskRatioPIPE_S
GetSubBlockNumPIPE_S
GetSubBlockIdxPIPE_S
GetDataBlockSizeInBytesPIPE_S
GetSystemCyclePIPE_S
GetProgramCounterPIPE_S
GetArchVersionPIPE_S
GetUBSizeInBytesPIPE_S
GetRuntimeUBSizePIPE_S
GetVecLenPIPE_S
CeilDivisionPIPE_S
GetSsbufBaseAddrPIPE_S

表7 缓存控制接口流水类型汇总

API接口名称流水类型
ReadGmByPassDCache(ISASI)PIPE_S
WriteGmByPassDCache(ISASI)PIPE_S
DataCachePreloadPIPE_S
DataCacheCleanAndInvalidPIPE_S
ICachePreLoad(ISASI)PIPE_S
GetICachePreloadStatus(ISASI)PIPE_S

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区