开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

矩阵编程指导

矩阵计算是基于向量计算(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库或组件KuDNN库;
  • 通过使用KUPL MMA 使能矩阵计算加速;
  • 通过C/C++代码实现,例如核心算子使用矩阵算力 Intrinsic编写代码。