Ascend C多核矩阵乘法缓冲区大小获取
MultiCoreMatmulGetTmpBufSize【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明多核Matmul Tiling调用GetTiling接口获取Tiling参数后根据Tiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。函数原型int32_t MultiCoreMatmulGetTmpBufSize(optiling::TCubeTiling tiling, matmul_tiling::SysTilingTempBufSize bufSize)参数说明表 1参数说明参数名输入/输出描述tiling输入Matmul多核Tiling的结构体即MultiCoreMatmulTiling对象得到的TCubeTiling结构体。bufSize输出根据TCubeTiling结构体信息获取L1 Buffer/Unified Buffer/L0C Buffer的使用大小。SysTilingTempBufSize结构定义如下方代码所示。struct SysTilingTempBufSize { int32_t ubSize 0; // Unified Buffer大小 int32_t l1Size 0; // L1 Buffer大小 int32_t l0cSize 0; // L0C Buffer大小 };返回值说明-1表示获取失败 0表示获取成功。约束说明无调用示例auto ascendcPlatform platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); optiling::TCubeTiling tilingData; ... // 初始化tilingData详见MatmulTiling类使用说明 int ret tiling.GetTiling(tilingData); // 获取Tiling参数 SysTilingTempBufSize bufSize; MultiCoreMatmulGetTmpBufSize(tilingData, bufSize);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考