CANN/asc-devkit SetScaleAType矩阵设置
SetScaleAType
【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit
功能说明
MxMatmul场景,设置scaleA矩阵的位置、数据格式、是否转置等信息,这些信息需要和Kernel侧的设置保持一致。如果不调用本接口,scaleA矩阵的信息将与SetAType中设置的A矩阵的信息保持一致。
函数原型
int32_t SetScaleAType(TPosition scalePos, CubeFormat scaleType, bool isScaleTrans = false)参数说明
表1参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| scalePos | 输入 | scaleA矩阵的内存逻辑位置。 针对Ascend 950PR/Ascend 950DT,scaleA矩阵可设置为TPosition::GM,TPosition::VECOUT,TPosition::TSCM。 |
| scaleType | 输入 | scaleA矩阵的物理排布格式。 针对Ascend 950PR/Ascend 950DT,scaleA矩阵可设置为CubeFormat::ND,CubeFormat::NZ。 |
| isScaleTrans | 输入 | scaleA矩阵是否转置。参数支持的取值如下: true:scaleA矩阵转置; false:默认值,scaleA矩阵不转置。 |
返回值说明
-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); // 设置scaleA矩阵,buffer位置为GM,数据格式为ND,不转置 tiling.SetScaleAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, false);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
