一种基于SWAI芯片的矩阵乘法性能分析方法及系统技术方案

技术编号:39322578 阅读:22 留言:0更新日期:2023-11-12 16:02
本发明专利技术涉及矩阵乘法性能优化技术领域,公开了一种基于SWAI芯片的矩阵乘法性能分析方法及系统,方法包括:将用于进行矩阵乘计算的待计算矩阵划分为若干子矩阵,每个子矩阵对应有若干孙矩阵;按照预设步骤完成待计算矩阵的计算;获取计算待计算矩阵过程中的SWAI芯片的性能参数的数值;基于性能参数的数值以及SWAI芯片的硬件参数,确定SWAI芯片的性能瓶颈。本发明专利技术不仅可以充分分析SWAI芯片的性能参数,而且使用计算核心对孙矩阵进行并行计算,可以充分利用计算资源。还可以根据确定出的性能参数的数值以及SWAI芯片的性能瓶颈值,对SWAI芯片进行算法或硬件优化,进而最大程度地发挥SWAI芯片的性能优势。芯片的性能优势。芯片的性能优势。

【技术实现步骤摘要】
一种基于SWAI芯片的矩阵乘法性能分析方法及系统


[0001]本专利技术涉及矩阵乘法性能优化
,具体涉及一种基于SWAI芯片的矩阵乘法性能分析方法及系统。

技术介绍

[0002]随着科学计算、人工智能、大数据等领域的飞速发展,对高性能计算设备的需求日益迫切。为了满足这些领域对计算能力不断增长的需求,申威处理器应运而生,简称“SW处理器”,其芯片记为SWAI芯片。
[0003]SWAI芯片采用异构并行众核架构,旨在实现高效能和低能耗的计算目标,SWAI芯片在矩阵乘法计算任务上表现出卓越的性能。矩阵乘法在诸如深度学习、计算机图形学和数据科学等多个领域都有着广泛应用,故高性能处理器在矩阵乘法上的性能优化至关重要。由于各项任务对矩阵乘法的性能有很高的要求,而矩阵乘法的算法设计和性能分析必须结合SWAI芯片独创的硬件特性,包括:
[0004]1、异步内存访问;
[0005]2、异步矩阵乘计算;
[0006]3、SIMD主线程处理;
[0007]4、多级多发射指令流水;
[0008]5、异构并行众核架构本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于SWAI芯片的矩阵乘法性能分析方法,其特征在于,所述方法包括:将用于进行矩阵乘计算的待计算矩阵划分为若干子矩阵,每个子矩阵对应有若干孙矩阵;按照以下步骤完成所述待计算矩阵的计算:利用计算核心获取所述孙矩阵,并进行矩阵乘计算,直到完成所有孙矩阵计算,每个孙矩阵计算完成后,将计算结果累加到上一个计算结果上,以得到每个子矩阵计算结果;将每个子矩阵计算结果累加,以进行所述待计算矩阵的计算,得到所述待计算矩阵的计算结果;获取计算所述待计算矩阵过程中的,所述SWAI芯片的性能参数的数值,所述性能参数包括计算量、传输量以及访存量;基于所述性能参数的数值以及所述SWAI芯片的硬件参数,确定所述SWAI芯片的性能瓶颈;所述计算所述待计算矩阵过程中的,所述SWAI芯片的性能参数的数值,包括:完成孙矩阵计算时的单个所述计算核心的计算量为:2
×
M_l3
×
N_l3
×
K_l3;根据每个孙矩阵,得到每个子矩阵计算结果时的单个所述计算核心的计算量为:2
×
M_l3
×
N_l3
×
K_l2;根据每个子矩阵,得到所述待计算矩阵的计算结果时的单个所述计算核心的计算量为:2
×
M_l3
×
N_l3
×
K;计算得到所述待计算矩阵的全过程中,单个所述计算核心的计算量为:2
×
M/M_l1
×
N/N_l1
×
M_l3
×
N_l3
×
K;完成所有孙矩阵计算时的全部所述计算核心的计算量为:2
×
M_l1
×
N_l1
×
K_l3;根据每个孙矩阵,得到每个子矩阵计算结果时的全部所述计算核心的计算量为:2
×
M_l1
×
N_l1
×
K_l2;根据每个子矩阵,得到所述待计算矩阵的计算结果时的全部所述计算核心的计算量为:2
×
M_l1
×
N_l1
×
K;计算得到所述待计算矩阵的全过程中,全部所述计算核心的计算量为:2MNK;完成所有孙矩阵计算时的两个所述计算核心之间的高带宽网络传输量为:(M_l3+N_l3)
×
K_l3
×
S;根据每个孙矩阵,得到每个子矩阵计算结果时的两个所述计算核心之间的高带宽网络传输量为:(M_l3+N_l3)
×
K_l2
×
S;根据每个子矩阵,得到所述待计算矩阵的计算结果时的两个所述计算核心之间的高带宽网络传输量为:(M_l3+N_l3)
×
K
×
S;计算得到所述待计算矩阵的全过程中,两个所述计算核心之间的高带宽网络传输量为:M/M_l1
×
N/N_l1
×
(M_l3+N_l3)
×
K
×
S;完成所有孙矩阵计算时的与内存之间的读访问量与写访问量均为0;根据每个孙矩阵,得到每个子矩阵计算结果时的与内存之间的读访问量为(M_l1+N_l1)
×
K_l2
×
S,写访问量为0;根据每个子矩阵,得到所述待计算矩阵的计算结果时的与内存之间的读访问量为(M_l1+N_l1)
×
K
×
S,写访问量为M_l1
×
N_l1
×
S;计算得到所述待计算矩阵的全过程中,与内存之间的读访问量为(N/N_l1+M/M_l1)
×
MNKS,写访问量为NMS;其中,所述待计算矩阵包含M
×
N个元素、矩阵A包含M
×
K个元素、矩阵B包含K
×
N个元素,M_lx、N_lx、K_Lx表示计算所述所有孙矩正或所述子矩阵或所述待计算矩阵时的对应维度的大小,x为1或2或3,S为数据位宽。2.根据权利要求1所述的方法,其特征在于,所述将用于进行矩阵乘计算的待计算矩阵划分为若干子矩阵,每个子矩阵对应有若干孙矩阵,包括:根据所述硬件参数,将所述待计算矩阵进行任务块划分,获得若干子矩阵C[i][j];基于所述子矩阵C[i][j],确定用于计算每个所述子矩阵C[i][j]的第一子矩阵A[i]及第二子矩阵B[j];划分所述第一子矩阵A[i],获得若干块第一单元矩阵A[i][k
i
];划分所述第二子矩阵B[j],获得若干块第二单元矩阵B[k
j
][j];划分所述第一单元矩阵A[i][k
i
]、所述第二单元矩阵B[k
j
][j],获得用于计算所述子矩阵C[i][j]的第一孙矩阵A[i][k
i
][p][q]以及第二孙矩阵B[k
j
][j][p][q];其中,所述待计算矩阵C为矩阵A及矩阵B的乘积,i为所述待计算矩阵的行数、j为所述待计算矩阵的列数、k
i
为所述第一孙矩阵的列数、k
j
为所述第二孙矩阵的行数、p为所述计算核心的行数、q为...

【专利技术属性】
技术研发人员:侯银星高伟李晋雷正勇马红豆
申请(专利权)人:太初无锡电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1