SetSubBlockIdx
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
x |
|
x |
|
x |
|
x |
功能说明
设置当前AIV核的ID。分离架构下,一个AI Core由Cube Core(AIC)和Vector Core(AIV)按照一定比例1:N进行组合,其中N个AIV核的ID分别为0, 1, ..., N-1。
函数原型
1 | __aicore__ inline void SetSubBlockIdx(uint8_t subBlockIdx) |
参数说明
参数名 |
输入/输出 |
描述 |
|---|---|---|
subBlockIdx |
输入 |
当前AIV核的ID。 |
返回值说明
无
约束说明
- 该接口仅支持在分离架构下使用。
- 在分离架构中,AIV核的ID会在REGIST_MATMUL_OBJ()接口内部自动初始化和赋值。如果在算子程序中使用了REGIST_MATMUL_OBJ()接口,则不建议调用此接口;若未使用REGIST_MATMUL_OBJ()接口,则请调用此接口并将子核ID设置为0。
调用示例
1 2 3 4 5 6 7 | typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> aType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> bType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> cType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> biasType; MatmulImpl<aType, bType, cType, biasType, CFG_NORM> mm; mm.SetSubBlockIdx(0); |
父主题: Matmul Kernel侧接口