CANN asc-devkit矩阵乘Tiling核心数获取API
GetCoreNum【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明获得多核切分所使用的NumBlocks参数。函数原型MultiCoreMatmulTiling类int32_t GetCoreNum(int32_t dim, int32_t mDim, int32_t nDim)BatchMatmulTiling类int32_t GetCoreNum(int32_t dim, int32_t mDim, int32_t nDim, int32_t batchCoreM, int32_t batchCoreN)参数说明表1参数说明参数名输入/输出描述dim输出获取计算时所需要的核数 dim mDim * nDimmDim输出获取计算时M方向所需要的核数nDim输出获取计算时N方向所需要的核数batchCoreM输出获取计算时batch M方向所需要的核数仅BatchMatmulTiling类支持batchCoreN输出获取计算时batch N方向所需要的核数仅BatchMatmulTiling类支持返回值说明-1表示获取失败 0表示获取成功。约束说明使用创建的Tiling对象调用该接口且需在完成Tiling计算GetTiling后调用。调用示例auto ascendcPlatform platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); tiling.SetDim(1); tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT); tiling.SetShape(1024, 1024, 1024); tiling.SetSingleShape(1024, 1024, 1024); tiling.SetOrgShape(1024, 1024, 1024); tiling.SetBias(true); tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret tiling.GetTiling(tilingData); // 获得多核切分后使用的NumBlocks int32_t dim, mDim, nDim; int ret1 tiling.GetCoreNum(dim, mDim, nDim);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考