概念说明
KUPL矩阵编程模块对外提供了Tensor概念及基于Tensor对象的一系列操作行为,从而便于用户在鲲鹏硬件平台上快速使能发挥Matrix computation能力加速矩阵乘相关算子。具体操作行为包含针对Tensor对象的取下标、相加、标量乘等operator操作,除此之外还有基于Tensor对象的KUPL MMA和Copy操作,其中MMA实现了D=A*B+C形式的矩阵乘kernel能力,Copy实现了不同内存空间排布的矩阵之间快速转置或者预取的能力。
KUPL矩阵编程模块相关概念如下:
- Int,整数包装类型,用于传递编译期整型常量。
- Ops,枚举方法包装类型,用于传递编译期枚举常量。
- Coord,表示矩阵下标,用于Tensor对象的取下标操作。
- Shape,表示矩阵尺寸或计算尺寸。
- Stride,表示矩阵元素行/列跨度。
- Layout,表示矩阵内存布局。
- Tensor,表示矩阵对象,包含源数据与布局。
使用KUPL矩阵编程模块的接口,需在支持Matrix computation指令的环境下安装HPCKit。
下述编程接口说明中的示例均为基于Bisheng版本KUPL矩阵编程接口实现;GCC版本受限于Matrix computation指令的支持,实现上存在差异。
父主题: 矩阵编程接口函数