矩阵乘法计算方法和计算设备技术

技术编号:21060280 阅读:337 留言:0更新日期:2019-05-08 07:01
本申请公开了一种矩阵乘法计算方法和计算装置,该方法包括:提供多个矩阵乘法实现方案,所述矩阵乘法实现方案对应第一矩阵的行参数、列参数和第二矩阵的列参数;根据所述第一目标矩阵的行参数、列参数和第二目标矩阵的列参数,确定对应的目标矩阵乘法实现方案;利用确定出的目标矩阵乘法实现方案计算所述第一目标矩阵和第二目标矩阵的乘积。本发明专利技术公开的方案可以让程序在运行过程中总是选取最优kernel。在相乘矩阵的行参数和列参数相对比较固定的情况下,能够自动选择最优实现方案,减少执行主体例如GPU的工作负担,保证执行主体的处理性能,提高执行主体的处理速度。

【技术实现步骤摘要】
矩阵乘法计算方法和计算设备
本申请涉及计算机领域,特别涉及一种矩阵乘法计算方法和计算设备。
技术介绍
图形处理器(GPU)作为单指令多数据流(SIMD)处理设备,在计算矩阵乘法方面,有着天然的优势。近些年随着GPU性能的大幅提升,以及通用计算图形处理器(GPGPU)技术的不断发展,越来越多的应用开始采用在GPU上进行矩阵乘法计算。深度学习应用的主要计算时间都消耗在矩阵乘法相关的操作上,所以,若能够提高矩阵乘法的计算性能,可以在大范围内提高多种应用的性能,对生产和研究效率都产生显著影响。在使用GPU进行矩阵乘法时,通常会选择多个线程块,每个线程块负责计算结果矩阵的一部分;具体来说,对于1024x1024和1024x1024大小的两个矩阵相乘,其结果矩阵大小也为1024x1024;在计算中,可以用4x4个线程块来计算1024x1024大小的结果矩阵,因此每个线程块负责计算该结果矩阵中256x256大小;也可以用8x8的线程块,每个线程块负责计算结果矩阵中128x128大小。负责计算256x256大小矩阵,128x128大小矩阵的部分称之为kernel(即矩阵计算的实现方案);选择用8x8本文档来自技高网...

【技术保护点】
1.一种矩阵乘法计算方法,其特征在于,包括:提供多个矩阵乘法实现方案,所述矩阵乘法实现方案对应第一矩阵的行参数、列参数和第二矩阵的列参数;确定第一目标矩阵的行参数、列参数和第二目标矩阵的列参数;根据所述第一目标矩阵的行参数、列参数和第二目标矩阵的列参数,确定对应的目标矩阵乘法实现方案;利用确定出的目标矩阵乘法实现方案计算所述第一目标矩阵和第二目标矩阵的乘积。

【技术特征摘要】
1.一种矩阵乘法计算方法,其特征在于,包括:提供多个矩阵乘法实现方案,所述矩阵乘法实现方案对应第一矩阵的行参数、列参数和第二矩阵的列参数;确定第一目标矩阵的行参数、列参数和第二目标矩阵的列参数;根据所述第一目标矩阵的行参数、列参数和第二目标矩阵的列参数,确定对应的目标矩阵乘法实现方案;利用确定出的目标矩阵乘法实现方案计算所述第一目标矩阵和第二目标矩阵的乘积。2.如权利要求1所述的方法,其特征在于,在根据所述第一目标矩阵的行参数、列参数和第二目标矩阵的列参数,确定对应的目标矩阵乘法实现方案的步骤之前,所述方法还包括:为所述矩阵乘法实现方案分配识别ID;将所述矩阵乘法实现方案的识别ID和该实现方案对应的第一矩阵的行参数、列参数和第二矩阵的列参数存入查找表。3.如权利要求2所述的方法,其特征在于,将所述矩阵乘法实现方案的识别ID和该实现方案对应的第一矩阵的行参数、列参数和第二矩阵的列参数存入查找表的步骤包括:将所述矩阵乘法实现方案的第一矩阵的行参数、列参数和第二矩阵的列参数生成键值;将所述矩阵乘法实现方案中的识别ID和键值组成键值对,存储于所述查找表中。4.如权利要求2所述的方法,其特征在于,所述根据所述第一目标矩阵的行参数、列参数和第二目标矩阵的列参数,确定对应的目标矩阵乘法实现方案的步骤包括:在所述查找表中查找是否存在与所述第一矩阵的行参数、列参数和第二矩阵的列参数相同的参数的矩阵乘法实现方案。5.如权利要求1所述的方法,其特征在于,所述方法还包括:当未查找到对应的矩阵乘法实现方案时,对多个可选实现方案进行评估,根据计算时间,从所述可选实现方案中选择优选实现方案。6.如权利要求5所述的方法,其特征在于,所述对多个可选实现方案进行评估,根据计算时间,从所述可选实现方案中选择优选实现方案的步骤包括:生成第一测试矩阵和第二测试矩阵,所述第一测试矩阵和所述第二测试矩阵具有与所述第一目标矩阵和所述第二目标矩阵相同的行列参数;分别利用多个可选实现方案计算所述第一测试矩阵和第二测试矩阵的乘积,获得每一个可选实现方案的计算时间;根据计算时间,从所述可选实现方案中选择优选实现方案。7.如权利要求6所述的方法,其特征在于,在根据计算时间,从所述可选实现方案中选择优选实现方案的步骤之后,所述方法还包括:将所述优选实现方案上传至GPU;将该优选实现方案的第一矩阵的行参数、列参数和第二矩阵的列参数生成键值;将该优选实现方案中的识别ID和键值组成键值对,存储于所述查找表中。8.一种矩阵乘法计算装置,其特征在于,包括:提供模块,用于提供多个矩阵乘法实现方案,所述矩阵乘法实现方案对应第一矩阵的行参数、列参数和第二矩阵的列参数;参数确定模块,用...

【专利技术属性】
技术研发人员:贾喆陈凯
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1