CANN asc-devkit Zn布局创建函数
MakeZnLayout
【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
功能说明
创建Zn格式的布局,外层矩阵按列优先存储,内层矩阵按行优先存储。
函数原型
template <typename T, typename U, typename S> __aicore__ inline decltype(auto) MakeZnLayout(U row, S column)参数说明
表 1模板参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| T | 输入 | 数据类型,支持fp4x2_e2m1_t、fp4x2_e1m2_t、int8_t、uint8_t、int16_t、uint16_t、half、bfloat16_t、int32_t、uint32_t、float、complex32、int64_t、uint64_t。 |
| U | 输入 | 行数类型,size_t或Int整型常量。 |
| S | 输入 | 列数类型,size_t或Int整型常量。 |
表 2参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| row | 输入 | 矩阵的总行数。 |
| column | 输入 | 矩阵的总列数。 |
返回值说明
- 输入为编译时常量时,返回Zn格式的Layout类型。
- 输入为整型变量时,返回Zn格式的Layout对象。
- 返回对齐后的Layout,对齐方式及对应位置的参数大小说明详见Layout和层次化表述法。
约束说明
参数row和column需为size_t类型或Int整型常量。
调用示例
// 创建Zn格式Layout using namespace AscendC::Te; // 编译时常量传参构造Layout auto staticLayout = MakeZnLayout<half>(Std::Int<32>{}, Std::Int<32>{}); // 运行时变量传参构造Layout auto layout = MakeZnLayout<half>(32, 32);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
