CalcTschBlockDim

函数功能

计算底层任务调度的核数。

函数原型

uint32_t CalcTschBlockDim(uint32_t sliceNum, uint32_t aicCoreNum, uint32_t aivCoreNum) const;

参数说明

参数

输入/输出

说明

sliceNum

输入

数据切分的份数。

aicCoreNum

输入

如果算子实现使用了矩阵计算API,请传入GetCoreNumAic返回的数量,否则传入0。

aivCoreNum

输入

如果算子实现使用了矢量计算API,请传入GetCoreNumAiv返回的数量,否则传入0。

返回值说明

返回用于底层任务调度的核数。

约束说明

调用示例

ge::graphStatus TilingXXX(gert::TilingContext* context) {
    auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo());
    auto aicNum = ascendcPlatform.GetCoreNumAic();
    auto aivNum = ascendcPlatform.GetCoreNumAiv();
    // ..按照aivNum切分数据,并进行计算
    uint32_t sliceNum = aivNum;
    context->SetBlockDim(ascendcPlatform.CalcTschBlockDim(sliceNum, aicNum, aivNum));
    return ret;
}