设置B矩阵的位置,数据格式,数据类型,是否转置等信息,这些信息需要和kernel侧的设置保持一致。
1 | int32_t SetBType(TPosition pos, CubeFormat type, DataType dataType, bool isTrans = false) |
参数名 |
输入/输出 |
描述 |
|---|---|---|
pos |
输入 |
B矩阵所在的buffer位置,可设置为:TPosition::GM, TPosition::VECOUT, TPosition::TSCM。 |
type |
输入 |
B矩阵的数据格式,可设置为:CubeFormat::ND,CubeFormat::NZ。 |
dataType |
输入 |
B矩阵的数据类型,可设置为:DataType::DT_FLOAT/DataType::DT_FLOAT16/DataType::DT_BFLOAT16 /DataType::DT_INT8/DataType::DT_INT4/DataType::DT_FLOAT8_E4M3FN/DataType::DT_FLOAT8_E5M2/DataType::DT_HIFLOAT8。 |
输入 |
B矩阵是否转置。 参数取值:
|
-1表示设置失败;0表示设置成功。
无
1 2 3 4 | auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); matmul_tiling::MatmulApiTiling tiling(ascendcPlatform); // 设置B矩阵,buffer位置为GM,数据格式为ND,数据类型为bfloat16,默认不转置 tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16); |