GetSubBlockNum(ISASI)
产品支持情况
产品 |
是否支持 |
|---|---|
Atlas 350 加速卡 |
√ |
√ |
|
√ |
|
x |
|
x |
|
x |
|
x |
功能说明
分离模式下,获取一个AI Core上Cube Core(AIC)或者Vector Core(AIV)的数量。
函数原型
1 | __aicore__ inline int64_t GetSubBlockNum() |
参数说明
无
返回值说明
在融合编译场景下,不同算子类型在AIC和AIV上调用该接口的返回值如下:
算子类型 |
限定符 |
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上调用该接口的返回值如下:
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(); |
父主题: 系统变量访问