鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

矩阵算力编程介绍

矩阵算力是基于Vector computation定义的。在 SVE 基础的向量寄存器 (Z registers) 和谓词寄存器 (P registers) 之上,矩阵算力新增了一个 2D 累加器 (ZA accumulator)。

矩阵算力是在可伸缩向量扩展(Scalable Vector ExtensionsVector computation)的基础上建立的,并增加了有效处理矩阵的能力,主要功能包括

  • 矩阵tile的存储
  • 存取,插入,提取 tile向量,包括on-the-fly 转置
  • 计算Vector computation向量的外积(Outer product)
  • Streaming Vector computation模式

矩阵算力编程可分为以下三种:

  • 通过编译器自动生成矩阵算力指令,完成向量化优化,用户可直接使用
  • 通过替换第三方库实现,例如将openblas替换为HPCKit的KML中的KML_BLAS
  • 通过便携代码实现,例如核心算子使用矩阵算力 Intrinsic编写代码。