MultiCoreMatmulGetTmpBufSize
Function
Obtains the used L1 Buffer, Unified Buffer, or L0C Buffer size based on the tiling structure information after the multi-core Matmul tiling calls the GetTiling API to obtain tiling parameters.
Prototype
1 | int32_t MultiCoreMatmulGetTmpBufSize(optiling::TCubeTiling &tiling, matmul_tiling::SysTilingTempBufSize &bufSize) |
Parameters
Parameter |
Input/Output |
Description |
||
|---|---|---|---|---|
tiling |
Input |
Matmul multi-core tiling structure, which is the TCubeTiling structure obtained by the MultiCoreMatmulTiling object. |
||
bufSize |
Output |
Used L1 Buffer, Unified Buffer, or L0C Buffer size obtained based on the TCubeTiling structure information. The SysTilingTempBufSize structure is defined as follows:
|
Returns
-1: setting failed; 0: setting succeeded.
Restrictions
None
Example
1 2 3 4 5 6 7 | auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); optiling::TCubeTiling tilingData; ... // Initialize tilingData. For details, see the usage description of MatmulTiling APIs. int ret = tiling.GetTiling(tilingData); // Obtain tiling parameters. SysTilingTempBufSize bufSize; MultiCoreMatmulGetTmpBufSize(tilingData, bufSize); |
Parent topic: Obtaining Space Required for Matmul Computation