[发明专利]基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法在审
申请号: | 202011374455.1 | 申请日: | 2020-11-30 |
公开(公告)号: | CN112380018A | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 孙成国 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/16;G06N3/12 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 王娟 |
地址: | 300392 天津市华苑产业区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 遗传 算法 确定 用于 矩阵 乘法 分块 参数 方法 | ||
本公开提供了一种基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法、装置、设备和存储介质。其中,该方法包括:获取矩阵分块参数边界;基于该边界随机生成第一数量的矩阵分块参数,并将第一数量的矩阵分块参数作为待优化种群中的第一数量的个体;对于第一数量的矩阵分块参数中的每个矩阵分块参数,利用该参数进行矩阵分块并相应地执行矩阵乘法,获取基于该参数的矩阵乘法的性能指标并将其作为该参数所对应个体的个体适应度;基于待优化种群中各个体的个体适应度,通过个体选择、个体交叉和个体变异,构建优化后种群;以及在优化后种群满足预定条件的情况下,从优化后种群中选出具有最优性能指标的个体作为用于矩阵乘法的矩阵分块参数。
技术领域
本公开涉及用于矩阵乘法的矩阵分块技术,并且更具体地,涉及基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法、装置、设备和存储介质。
背景技术
基本线性代数子程序库(BLAS库)被广泛应用于科学及工程计算,是许多数学软件和大规模计算应用的核心运算库,其性能优化对提高程序性能,充分发挥计算机运算能力有着重要意义。BLAS库包含第一级向量与向量、第二级向量与矩阵以及第三级矩阵与矩阵之间的线性代数运算函数,其中第三级函数具有计算量最大、访存最密集的特点,是BLAS库中最重要的核心函数集合,具有较大的优化空间。通用矩阵乘法是BLAS库中第三级函数的核心函数,针对矩阵乘法的优化可以有效提高CPU计算性能。目前通用的BLAS库都采用矩阵分块的方法来优化矩阵乘法,其中,对矩阵分块参数的优化能够更充分地利用高速缓冲存储器(Cache),提高访存命中率,进而提高计算性能。
目前通常通过理论计算配合大量的手工测试来确定矩阵分块参数,但此方法工作量大,针对不同硬件体系结构需要重新计算矩阵分块参数,并且难以保证矩阵分块参数所对应的计算性能最优。因此,需要一种工作量小、计算性能最优、并且能够根据不同硬件体系结构自适应地确定矩阵分块参数的方法。
发明内容
为了解决上述问题,通过将遗传算法与矩阵分块参数的确定相结合,对矩阵分块参数进行遗传迭代以求得最优矩阵分块参数,使得计算性能得以提升。
根据本公开的实施例,提供了一种基于遗传算法的确定用于矩阵乘法的矩阵分块参数的方法,包括:获取用于矩阵乘法的矩阵分块参数边界;基于所述矩阵分块参数边界,随机生成第一数量的矩阵分块参数,并将所述第一数量的矩阵分块参数作为待优化种群中的第一数量的个体;对于所述第一数量的矩阵分块参数中的每个矩阵分块参数,利用该矩阵分块参数进行矩阵分块并相应地执行矩阵乘法,获取基于该矩阵分块参数的矩阵乘法的性能指标,并将该性能指标作为该矩阵分块参数所对应个体的个体适应度;基于所述待优化种群中各个体的个体适应度,通过个体选择、个体交叉和个体变异,构建优化后种群;以及在所述优化后种群满足预定条件的情况下,从所述优化后种群中选出具有最优性能指标的个体作为用于矩阵乘法的矩阵分块参数。
根据本公开的实施例,其中,利用该分块参数进行矩阵分块并相应地执行矩阵乘法,获取基于该分块参数的矩阵乘法的性能指标,包括:利用所述矩阵分块参数作为基本线性代数子程序库配置文件中的矩阵分块参数;重新编译安装所述基本线性代数子程序库,生成动态链接库;生成用于进行矩阵乘法的第一矩阵和第二矩阵,基于所述动态链接库,对所述第一矩阵和第二矩阵进行矩阵分块,并对所述第一矩阵和第二矩阵进行矩阵乘法;以及获得所述动态链接库执行所述矩阵乘法的性能指标。
根据本公开的实施例,其中,所述性能指标是CPU使用采用了所述矩阵分块参数的所述基本线性代数子程序库每秒执行浮点运算的次数。
根据本公开的实施例,其中,所述方法还包括基于CPU中寄存器的实际结构及其能存储的最大数据量来确定矩阵分块内核参数,其中,所述矩阵分块内核参数表示矩阵分块的基本单元;其中,基于所述矩阵分块参数边界,随机生成第一数量的矩阵分块参数,包括:基于所述矩阵分块参数边界和所述矩阵分块内核参数,随机生成第一数量的矩阵分块参数,其中,每个所述矩阵分块参数内的各个元素是所述矩阵分块内核参数内的对应元素的整数倍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011374455.1/2.html,转载请声明来源钻瓜专利网。