开发者
下载

GetSubBlockNum(ISASI)

产品支持情况

产品

是否支持

Atlas 350 加速卡

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品AI Core

x

Atlas 推理系列产品Vector Core

x

Atlas 训练系列产品

x

功能说明

分离模式下,获取一个AI Core上Cube Core(AIC)或者Vector Core(AIV)的数量。

函数原型

1
__aicore__ inline int64_t GetSubBlockNum()

参数说明

返回值说明

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

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

算子类型

限定符

AIC

AIV

Vector算子

vector

-

1

Cube算子

cube

1

-

Mix算子

mix(0, 1)

-

1

Mix算子

mix(1, 0)

1

-

Mix算子

mix(1, 1)

1

1

Mix算子

mix(1, 2)

1

2

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

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

Kernel类型

KERNEL_TYPE_AIV_ONLY

KERNEL_TYPE_AIC_ONLY

KERNEL_TYPE_MIX_AIC_1_2

KERNEL_TYPE_MIX_AIC_1_1

KERNEL_TYPE_MIX_AIC_1_0

KERNEL_TYPE_MIX_AIV_1_0

AIV

1

-

2

1

-

1

AIC

-

1

1

1

1

-

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

约束说明

调用示例

1
int64_t subBlockNum = AscendC::GetSubBlockNum();