构造及析构函数
功能说明
在实现Host侧的Tiling函数时,可能需要获取一些硬件平台的信息,来支撑Tiling的计算,比如获取硬件平台的核数等信息。PlatformAscendC类提供获取这些平台信息的功能。
函数原型
Text
PlatformAscendC() = delete
~PlatformAscendC() = default
explicit PlatformAscendC(fe::PlatFormInfos *platformInfo): platformInfo_(platformInfo) {}
参数说明
参数 | 输入/输出 | 说明 |
|---|---|---|
platformlnfo | 输入 | platformInfo结构体,通过GetPlatformInfo接口可以获取。 |
返回值说明
无
约束说明
无
调用示例
Text
ge::graphStatus TilingXXX(gert::TilingContext* context) {
auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo());
uint64_t ub_size, l1_size;
ascendcPlatform.GetCoreMemSize(platform_ascendc::CoreMemType::UB, ub_size);
ascendcPlatform.GetCoreMemSize(platform_ascendc::CoreMemType::L1, l1_size);
auto aicNum = ascendcPlatform.GetCoreNumAic();
auto aivNum = ascendcPlatform.GetCoreNumAiv();
// ... 按照aivNum切分
context->SetSimdNumBlocks(ascendcPlatform.CalcTschNumBlocks(aivNum, aicNum, aivNum));
return ret;
}