BatchMatmul Tiling调用GetTiling接口获取Tiling参数后,根据Tiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。
1
|
int32_t BatchMatmulGetTmpBufSizeV2(TCubeTiling &tiling, matmul_tiling::SysTilingTempBufSize &bufSize) |
参数名 |
输入/输出 |
描述 |
||
---|---|---|---|---|
tiling |
输入 |
BatchMatmul Tiling的结构体,即BatchMatmulTiling对象得到的TCubeTiling结构体。 TCubeTiling为Kernel侧定义的Matmul TilingData,与入参为不带optiling命名空间的TCubeTiling结构体的GetTiling接口配合使用。 |
||
bufSize |
输出 |
根据TCubeTiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。 SysTilingTempBufSize结构定义如下:
|
-1表示获取失败; 0表示获取成功。
无
1 2 3 4 5 6 7 |
auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::BatchMatmulTiling tiling(ascendcPlatform); TCubeTiling tilingData; ... // 初始化tilingData,详见MatmulTiling类使用说明 int ret = tiling.GetTiling(tilingData); // 获取Tiling参数 SysTilingTempBufSize bufSize; BatchMatmulGetTmpBufSizeV2(tilingData, bufSize); |