CANN/asc-devkit GetSubBlockNum函数

📅 2026/7/16 14:33:25 👁️ 阅读次数 📝 编程学习
CANN/asc-devkit GetSubBlockNum函数

GetSubBlockNum(ISASI)

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

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持
  • Kirin X90:支持
  • Kirin 9030:支持

功能说明

头文件路径为:"basic_api/kernel_operator_sys_var_intf.h"

在分离模式架构下,获取当前配置中,一个逻辑AI Core上Cube Core(AIC)或者Vector Core(AIV)的数量。

函数原型

__aicore__ inline int64_t GetSubBlockNum()

参数说明

返回值说明

在融合编译场景下,不同算子类型在AIC和AIV上调用该接口的返回值如下:

表1融合编译场景返回值列表

算子类型限定符AICAIV
Vector算子__vector__-1
Cube算子__cube__1-
Mix算子__mix__(0, 1)-1
Mix算子__mix__(1, 0)1-
Mix算子__mix__(1, 1)11
Mix算子__mix__(1, 2)12

在自定义算子工程和Kernel直调工程场景下,不同Kernel类型(通过设置Kernel类型设置)在AIC和AIV上调用该接口的返回值如下:

表2自定义算子工程和Kernel直调工程场景返回值列表

Kernel类型KERNEL_TYPE_AIV_ONLYKERNEL_TYPE_AIC_ONLYKERNEL_TYPE_MIX_AIC_1_2KERNEL_TYPE_MIX_AIC_1_1KERNEL_TYPE_MIX_AIC_1_0KERNEL_TYPE_MIX_AIV_1_0
AIV1-21-1
AIC-1111-

注意,两种场景中返回值的含义相同,仅设置类型的方式不同,编写算子时推荐使用融合编译。

约束说明

调用示例

int64_t subBlockNum = AscendC::GetSubBlockNum();

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

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