CANN/asc-devkit矩阵布局设置API SetALayout【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明设置A矩阵的Layout轴信息包括B、S、N、G、D轴。对于BSNGD、SBNGD、BNGS1S2 Layout格式调用IterateBatch接口之前需要在Host侧Tiling实现中通过本接口设置A矩阵的Layout轴信息。函数原型int32_t SetALayout(int32_t b, int32_t s, int32_t n, int32_t g, int32_t d)参数说明表1参数说明参数名输入/输出描述b输入A矩阵Layout的B轴信息s输入A矩阵Layout的S轴信息n输入A矩阵Layout的N轴信息g输入A矩阵Layout的G轴信息d输入A矩阵Layout的D轴信息返回值说明-1表示设置失败 0表示设置成功。约束说明对于BSNGD、SBNGD、BNGS1S2 Layout格式调用IterateBatch接口之前需要在Host侧Tiling实现中通过本接口设置A矩阵的Layout轴信息。调用示例auto ascendcPlatform platform_ascendc::PlatformAscendC(context-GetPlatformInfo()); matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); int32_t M 32; int32_t N 256; int32_t K 64; 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(M, N, K); tiling.SetOrgShape(M, N, K); tiling.SetBias(true); tiling.SetBufferSpace(-1, -1, -1); constexpr int32_t A_BNUM 2; constexpr int32_t A_SNUM 32; constexpr int32_t A_GNUM 3; constexpr int32_t A_DNUM 64; constexpr int32_t B_BNUM 2; constexpr int32_t B_SNUM 256; constexpr int32_t B_GNUM 3; constexpr int32_t B_DNUM 64; constexpr int32_t C_BNUM 2; constexpr int32_t C_SNUM 32; constexpr int32_t C_GNUM 3; constexpr int32_t C_DNUM 256; constexpr int32_t BATCH_NUM 3; tiling.SetALayout(A_BNUM, A_SNUM, 1, A_GNUM, A_DNUM); // 设置A矩阵排布 tiling.SetBLayout(B_BNUM, B_SNUM, 1, B_GNUM, B_DNUM); tiling.SetCLayout(C_BNUM, C_SNUM, 1, C_GNUM, C_DNUM); tiling.SetBatchNum(BATCH_NUM); 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),仅供参考