当前位置: 首页 > news >正文

Ascend C API流水类型汇总

API流水类型汇总

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

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

针对Ascend 950PR/Ascend 950DT:
VF内的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 950DT:
PIPE_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_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/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_S
WriteGmByPassDCache(ISASI)PIPE_S
DataCachePreloadPIPE_S
DataCacheCleanAndInvalidPIPE_S
ICachePreLoad(ISASI)PIPE_S
GetICachePreloadStatus(ISASI)PIPE_S

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1212547/

相关文章:

  • 一文通透TTT:Learning to “Learn at Test Time”,让RNN的隐藏层变成可学习的函数,把Transformer在长下文上的二次复杂度变为线性复杂度
  • 「Java开发指南」如何利用MyEclipse启用Spring DSL?(二)
  • 什么是顺序栈
  • CANN/asc-devkit SIMT API umax函数
  • 3个实用技巧:告别电脑休眠打断,让Windows在你需要时保持清醒!
  • Avro4s字段映射与命名策略:从驼峰到蛇形命名转换的终极指南
  • Blender Power Sequencer快捷键大全:让你的剪辑速度飞起来
  • 深入解析TI EDMA3寄存器:从硬件原理到实战调试与性能优化
  • browser-agent安装与配置完整指南:从零开始到生产环境
  • 2026杭州翡翠回收怎么不亏?种水色工鉴定实战技巧、精准估价 - 奢侈品回收机构参考
  • TI C2000 MibSPI核心寄存器深度解析:从配置到调试实战
  • CANN/asc-devkit:SIMT half转换函数
  • 如何用Stop-motion-OBJ快速导入流体模拟序列?5分钟入门教程
  • 深入解析MibSPI传输组控制寄存器:从原理到汽车电子实战应用
  • 2026深圳贵重物品搬运品牌大盘点:正规合规服务商精选、优势对比及签约避坑全攻略 - 深圳家顺兴搬家
  • 跨平台美学!使用DevExpress Reports Office File API时如何管理字体?
  • 第【80】期-- 基于索引调制的AFDM与OFDM在时间频率双弥散信道中的误码率对比 --MATLAB完整代码
  • 如何将amphp/http-client集成到Laravel和Symfony:现代PHP框架的终极异步HTTP解决方案
  • Havenlon|AI 时代的执行安全语言体系(十):灾难半径 Part 1
  • MibSPI传输组TGxCTRL寄存器详解:硬件状态机实现高效SPI数据流控
  • YKLineChartView测试与调试:iOS股票图表开发的最佳实践指南
  • Mac软件合法使用指南与安全替代方案
  • 模拟电子技术基础-本征半导体与杂质半导体
  • Verk深度解析:理解基于Redis的可靠作业处理架构
  • st终端自定义主题制作:从零开始创建个性化配色方案
  • 卡地亚成都官方售后服务体系全解析|官方服务电话及地址权威公示(2026年7月最新) - 卡地亚中国服务中心
  • CardKit自定义字体集成:如何在图像编辑器中添加和使用自定义字体
  • ezytdl高级转换功能:视频剪辑、音频提取与格式转换详解
  • 基于Java+MySQL+SSM阅微文学网站设计与实现
  • GPT-5.6 代码分析教程:可自动识别的问题与需要人工判断的场景