矩阵乘法运算方法及电子设备与流程

摘要: 本申请涉及高性能处理器体系结构与编译器优化,尤其涉及一种矩阵乘法运算方法及电子设备。背景技术:1、随着人工智能技术的飞速发展,大模型训练与推理已成为当前计算领域...
矩阵乘法运算方法及电子设备与流程

本申请涉及高性能处理器体系结构与编译器优化,尤其涉及一种矩阵乘法运算方法及电子设备。

背景技术:

1、随着人工智能技术的飞速发展,大模型训练与推理已成为当前计算领域的核心应用场景,对底层硬件算力提出了极高的要求。在risc-v架构生态中,附加矩阵扩展(ame,attached matrix extension)单元作为面向ai计算的重要硬件升级方向,旨在通过专用的矩阵寄存器架构和乘加指令集来加速大规模矩阵运算。

2、然而,在应对日益复杂的异构精度计算场景时,存在额外的数据处理开销,缺乏对硬件动态配置能力的深度感知与协同优化,导致物理寄存器的逻辑利用率始终保持高位运行状态,限制了计算吞吐率的进一步提升,制约了高性能矩阵运算效率。

技术实现思路

1、针对现有技术的不足,本申请提供了一种矩阵乘法运算方法及电子设备,可以实现矩阵分块尺寸随数据精度自适应调整,提升寄存器利用率,消除显式转置与精度转换开销,提高计算吞吐率。

2、第一方面,本申请提供了一种矩阵乘法运算方法,包括:

3、获取第一矩阵的第一数据位宽、第二矩阵的第二数据位宽及附加矩阵扩展单元的硬件参数;

4、根据第一数据位宽及硬件参数生成第一矩阵的第一精度比例因子,并根据第二数据位宽及硬件参数生成第二矩阵的第二精度比例因子;

5、基于编译器的动态配置参数,根据第一精度比例因子及硬件参数生成第一矩阵的第一矩阵分块的第一维度,并根据第二精度比例因子及硬件参数生成第二矩阵的第二矩阵分块的第二维度;

6、根据第一维度及第一数据位宽对第一矩阵进行数据密度打包以得到多个第一矩阵分块,并根据第二维度及第二数据位宽对第二矩阵进行数据密度打包以得到多个第二矩阵分块;

7、采用附加矩阵扩展单元,对第一矩阵分块及第二矩阵分块进行乘法运算,以得到第三矩阵。

8、第二方面,本申请还提供了一种矩阵乘法运算装置,包括:

9、获取单元,用于获取第一矩阵的第一数据位宽、第二矩阵的第二数据位宽及附加矩阵扩展单元的硬件参数;

10、第一生成单元,用于根据第一数据位宽及硬件参数生成第一矩阵的第一精度比例因子,并根据第二数据位宽及硬件参数生成第二矩阵的第二精度比例因子;

11、第二生成单元,用于基于编译器的动态配置参数,根据第一精度比例因子及硬件参数生成第一矩阵的第一矩阵分块的第一维度,并根据第二精度比例因子及硬件参数生成第二矩阵的第二矩阵分块的第二维度;

12、分块单元,用于根据第一维度及第一数据位宽对第一矩阵进行数据密度打包以得到多个第一矩阵分块,并根据第二维度及第二数据位宽对第二矩阵进行数据密度打包以得到多个第二矩阵分块;

13、运算单元,用于采用附加矩阵扩展单元,对第一矩阵分块及第二矩阵分块进行乘法运算,以得到第三矩阵。

14、第三方面,本申请实施例又提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现如上述第一方面提供的矩阵乘法运算方法。

15、第四方面,本申请实施例还提供了一种计算机可读存储介质,其中计算机可读存储介质存储有计算机程序,计算机程序当被处理器执行时使处理器执行上述第一方面提供的矩阵乘法运算方法。

16、第五方面,本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行第一方面提供的矩阵乘法运算方法。

17、本申请提供的矩阵乘法运算方法,基于精度比例因子驱动的软硬件协同机制,实现了从数据位宽感知、分块维度自适应计算、数据密度打包到硬件加速运算的全链路优化,同时编译器根据硬件参数动态生成配置指令,使得附加矩阵扩展单元能够以最优的tile尺寸和布局处理混合精度数据,从而在保证计算精度的同时,大幅提升了物理寄存器的利用率和访存带宽的效率,有效解决了现有技术在混合精度矩阵计算中存在的资源浪费和性能瓶颈问题。

1.一种矩阵乘法运算方法,其特征在于,包括:

2.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述附加矩阵扩展单元包括多个物理寄存器,所述硬件参数包括所述物理寄存的物理位宽;

3.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述附加矩阵扩展单元包括多个物理寄存器,所述硬件参数包括所述物理寄存的物理位宽;

4.根据权利要求3所述的矩阵乘法运算方法,其特征在于,所述硬件参数还包括基础矩阵分块的基础维度;

5.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述附加矩阵扩展单元包括多个物理寄存器,所述硬件参数包括所述物理寄存的物理位宽;

6.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述根据所述第一维度及所述第一数据位宽对所述第一矩阵进行数据密度打包以得到多个所述第一矩阵分块,并根据所述第二维度及所述第二数据位宽对所述第二矩阵进行数据密度打包以得到多个所述第二矩阵分块,包括:

7.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述采用附加矩阵扩展单元,对所述第一矩阵分块及所述第二矩阵分块进行乘法运算,以得到第三矩阵,包括:

8.根据权利要求1所述的矩阵乘法运算方法,其特征在于,所述方法还包括:

9.根据权利要求1-8中任一项所述的矩阵乘法运算方法,其特征在于,所述采用附加矩阵扩展单元,对所述第一矩阵分块及所述第二矩阵分块进行乘法运算,以得到第三矩阵,包括:

10.根据权利要求1-8中任一项所述的矩阵乘法运算方法,其特征在于,所述第一矩阵、所述第二矩阵为低位宽浮点矩阵或低位宽整型矩阵,所述第三矩阵为高位宽累加矩阵;当同时存在浮点数与整数输入时,所述附加矩阵扩展单元内置硬件转换通路自动统一数据类型后执行加宽乘累加。

11.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的矩阵乘法运算方法的步骤。