Skip to content

GetSubBlockNum(ISASI)

产品支持情况

  • 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)的数量。

函数原型

C++
__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-

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

约束说明

调用示例

C++
int64_t subBlockNum = AscendC::GetSubBlockNum();

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