CANN/asc-devkit:SetScaleBType API文档

张开发
2026/5/11 18:26:45 15 分钟阅读

分享文章

CANN/asc-devkit:SetScaleBType API文档
SetScaleBType【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明MxMatmul场景设置scaleB矩阵的位置、数据格式、是否转置等信息这些信息需要和Kernel侧的设置保持一致。如果不调用本接口scaleB矩阵的信息将与SetBType中设置的B矩阵的信息保持一致。函数原型int32_t SetScaleBType(TPosition scalePos, CubeFormat scaleType, bool isScaleTrans true)参数说明表 1参数说明参数名输入/输出描述scalePos输入scaleB矩阵的内存逻辑位置。针对Ascend 950PR/Ascend 950DTscaleB矩阵可设置为TPosition::GMTPosition::VECOUTTPosition::TSCM。scaleType输入scaleB矩阵的物理排布格式。针对Ascend 950PR/Ascend 950DTscaleB矩阵可设置为CubeFormat::NDCubeFormat::NZ。isScaleTrans输入scaleB矩阵是否转置。参数支持的取值如下true默认值scaleB矩阵转置falsescaleB矩阵不转置。返回值说明-1表示设置失败 0表示设置成功。约束说明无调用示例auto ascendcPlatform platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); matmul_tiling::MatmulApiTiling tiling(ascendcPlatform); tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); tiling.SetScaleAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, false); tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); // 设置scaleB矩阵buffer位置为GM数据格式为ND转置 tiling.SetScaleBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, true); 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.SetOrgShape(1024, 1024, 1024); tiling.SetBias(true); tiling.SetMadType(MatrixMadType::MXMODE); // 使能MxMatmul场景 tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret tiling.GetTiling(tilingData);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章