矩阵算力编程介绍
矩阵算力是基于Vector computation定义的。在 SVE 基础的向量寄存器 (Z registers) 和谓词寄存器 (P registers) 之上,矩阵算力新增了一个 2D 累加器 (ZA accumulator)。
矩阵算力是在可伸缩向量扩展(Scalable Vector Extensions和Vector computation)的基础上建立的,并增加了有效处理矩阵的能力,主要功能包括
- 矩阵tile的存储
- 存取,插入,提取 tile向量,包括on-the-fly 转置
- 计算Vector computation向量的外积(Outer product)
- Streaming Vector computation模式
矩阵算力编程可分为以下三种:
- 通过编译器自动生成矩阵算力指令,完成向量化优化,用户可直接使用
- 通过替换第三方库实现,例如将openblas替换为HPCKit的KML中的KML_BLAS
- 通过便携代码实现,例如核心算子使用矩阵算力 Intrinsic编写代码。
父主题: 鲲鹏920专业版矩阵算力编程