EnableMultiCoreSplitK接口功能与该接口相同,建议使用EnableMultiCoreSplitK。
多核场景,通过该接口开启切K轴。不调用该接口的情况下,默认不切K轴。在GetTiling接口调用前使用。
1 | void SetSplitK(bool flag) |
参数名 |
输入/输出 |
描述 |
|---|---|---|
flag |
输入 |
是否开启切K轴。 true:开启切K轴 false:不开启切K轴 |
无
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()) matmul_tiling::MultiCoreMatmulTiling tiling(ascendcPlatform); tiling.SetDim(useCoreNums); 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); tiling.SetSplitK(true); optiling::TCubeTiling tilingData; int ret = tiling.GetTiling(tilingData); |