[发明专利]数据处理方法和装置、电子设备及存储介质在审
| 申请号: | 201911326645.3 | 申请日: | 2019-12-20 |
| 公开(公告)号: | CN111158874A | 公开(公告)日: | 2020-05-15 |
| 发明(设计)人: | 刘宇玺 | 申请(专利权)人: | 深圳市商汤科技有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F17/16 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;董文俊 |
| 地址: | 518054 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 方法 装置 电子设备 存储 介质 | ||
本公开实施例公开了一种数据处理方法和装置、电子设备及存储介质,其中方法包括:获取用于表示第一矩阵规模的第一参数,以及用于表示第二矩阵规模的第二参数;根据第一参数和第二参数确定乘法任务的调度方式,所述乘法任务用于指示将所述第一矩阵与所述第二矩阵相乘,所述乘法任务包括多个子乘法任务,每个子乘法任务用于指示将所述第一矩阵的一个子矩阵与所述第二矩阵的一个子矩阵相乘。
技术领域
本公开涉及计算机技术领域,具体涉及一种数据处理方法和装置、电子设备及存储介质。
背景技术
矩阵乘法在高性能计算领域中占有重要地位,其广泛应用于深度学习、图像处理和数字信号处理等应用中。矩阵乘法属于计算密集型任务,它的性能对应用的整体性能有着至关重要的影响。对于数据量庞大的矩阵乘法计算过程而言,给设备带来的性能影响会更大,因此,目前亟需一种数据处理方法,以降低计算大规模密集型任务对设备性能的影响。
发明内容
本公开实施例提供了一种数据处理方法和装置、电子设备及存储介质。
本公开实施例第一方面提供一种数据处理方法,包括:
获取用于表示第一矩阵规模的第一参数,以及用于表示第二矩阵规模的第二参数;
根据所述第一参数以及所述第二参数,确定乘法任务的调度方式,所述乘法任务用于指示将所述第一矩阵与所述第二矩阵相乘,所述乘法任务包括多个子乘法任务,每个子乘法任务用于指示将所述第一矩阵的一个子矩阵与所述第二矩阵的一个子矩阵相乘;
按照所述乘法任务的调度方式,在每次调度过程中,将存在资源共享的多个子乘法任务分配至多个并行执行的线程块进行处理,以经过多次调度过程,得到所述乘法任务对应的处理结果。
在一种可选的实施方式中,所述根据所述第一参数以及所述第二参数,确定乘法任务的调度方式之前,所述方法还包括:
获取资源参数,所述资源参数用于表示并行执行所述乘法任务的进程块数量上限;
根据所述资源参数、所述第一参数以及所述第二参数,判断所述乘法任务所需的进程块数量是否超过并行执行所述乘法任务的进程块数量上限;
若否,执行所述根据所述第一参数以及所述第二参数,确定乘法任务的调度方式的步骤。
通过上述判断能够确保可使用的硬件资源能够支持当前分块方式对应的计算任务。
在一种可选的实施方式中,所述乘法任务的调度方式用于指示在每次调度过程中,存在多个子乘法任务所对应的所述第一矩阵的子矩阵和所述第二矩阵的子矩阵各自对应的数据分别被多次访问。
通过线程并行处理方式对子乘法任务进行数据处理,可以提高内存访问效率和计算速率。
在一种可选的实施方式中,所述乘法任务的调度方式用于指示在每次调度过程中,所有子乘法任务所对应的所述第一矩阵的子矩阵和所述第二矩阵的子矩阵对应的数据量最小。
通过上述调度方式,使两个矩阵中的子矩阵数据被线程块共享的次数更均衡,即矩阵的数据局部性得到了更好的利用,程序性能得到提升。
在一种可选的实施方式中,所述将存在资源共享的多个子乘法任务分配至多个并行执行的线程块进行处理包括:
按照目标映射方式,将存在资源共享的多个子乘法任务分配至多个并行执行的线程块进行处理,其中,每个线程块用于处理所述存在资源共享的多个子乘法任务中的一个乘法任务。
通过预设的映射方式进行子乘法任务和线程块的映射调度,可以确保矩阵规模较大情况下,也能够使缓存和内存系统资源的尽可能均衡访问,确保程序的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市商汤科技有限公司,未经深圳市商汤科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911326645.3/2.html,转载请声明来源钻瓜专利网。





