设置Matmul计算的形状m、n、k,该形状可以为原始完整矩阵或其局部矩阵,单位为元素个数。该形状的矩阵乘可以由单核或多核计算完成。
使用本接口时,有两种参数传入方式:
1 | int32_t SetShape(int32_t m, int32_t n, int32_t k) |
参数名 |
输入/输出 |
描述 |
---|---|---|
m |
输入 |
设置Matmul计算的M方向大小,单位为元素。 |
n |
输入 |
设置Matmul计算的N方向大小,单位为元素。 |
k |
输入 |
设置Matmul计算的K方向大小,单位为元素。 |
-1表示设置失败; 0表示设置成功。
无
1 2 3 4 5 6 7 8 9 10 11 12 | 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.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); // 设置Matmul计算的形状 tiling.SetOrgShape(1024, 1024, 1024); tiling.SetBias(true); tiling.SetBufferSpace(-1, -1, -1); optiling::TCubeTiling tilingData; int ret = tiling.GetTiling(tilingData); |