[发明专利]基于矩阵运算的并行计算方法无效
申请号: | 201010508334.1 | 申请日: | 2010-10-15 |
公开(公告)号: | CN101980182A | 公开(公告)日: | 2011-02-23 |
发明(设计)人: | 汪玉;吴天际;杨华中 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 北京中伟智信专利商标代理事务所 11325 | 代理人: | 张岱 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 矩阵 运算 并行 计算方法 | ||
技术领域
本发明涉及一种计算机并行计算领域。
背景技术
如今,并行计算已经成为计算性能提升的最重要方式之一。近年来,一些大规模并行计算单元,被广泛应用到通用计算领域中。这些大规模并行计算单元在计算机中央处理器的控制下,协助完成计算任务,可以大大提高整个计算任务的完成效率。图形处理单元(GPU,Graphics Processing Unit)就是一种大规模并行计算单元(下文简称加速器),它不仅可以完成图形渲染相关的运算,也可以完成与图形无关的通用计算。和通用处理器相比,图形处理单元有着极高的浮点运算性能。另外,可编程逻辑器也是一种加速器,使用者可以针对具体的应用需求自定义硬件电路结构,设计出高效、专用的并行处理单元。
目前,各种加速器技术的发展均逐渐成熟,而如何快速、高效地实现并行算法就成为了并行计算领域中的关键问题。尽管多数平台都有完善的开发工具,但对于程序员来说,开发高效的并行加速程序仍然是一项很艰巨的任务。任务和难点主要表现为以下几点:(1)如何实现算法的并行化;即发现和挖掘串行算法中的并行性。(2)如何将并行算法映射到具体加速器编程模型中,以及如何进行代码实现。不同的映射方式往往可以导致非常大的性能差异,因此,实现最佳的映射需要程序员对加速器底层硬件结构有一定了解,并做出针对性的优化。(3)需要编写大量的调度代码。由于各种加速器的开发工具均考虑到尽可能高的通用性,因此其应用编程接口相对底层。使用这些开发工具,需要编写大量控制代码来控制加速器的运行。
发明内容
针对上述的问题,本发明提供一种并行算法实现简单,且能够简化并行加速程序开发的基于矩阵运算的并行计算方法。
为达到上述目的,本发明基于矩阵运算的并行计算方法,包括以下步骤:
定义矩阵运算算式;
将待描述算法描述为由至少两个矩阵运算构成的算式;
定义参与运算的矩阵及矩阵的表达方式;
定义矩阵运算中的标量算子;
执行矩阵运算。
其中,所述的矩阵运算算式包括抽象矩阵加法运算算式和抽象矩阵减法运算算式。
所述的参与运算的矩阵为由同一类元素构成的二维阵列;其中,所述元素为数字,或数据结构体。
所述的矩阵的表达方式为BUF方式,或XY方式,或CSR方式,或CSC方式。
所述的标量算子包括抽象加法算子和/或抽象乘法算子。
进一步地,所述的执行矩阵运算,具体实现如下:
将矩阵运算映射到加速器编程模型中;
加速器执行运算;
输出结果。
本发明提出的并行计算方法涉及以下两个主要步骤:以矩阵运算方式表述算法;然后执行矩阵运算。本发明将参与计算的数据抽象为具有某种元素类型的矩阵,然后,将计算任务抽象为具有某种元素类型的各矩阵之间的抽象乘法算子和/或抽象加法算子。本发明所述基于矩阵运算的并行计算方法利用矩阵运算规则来表述算法的并行性,从而降低了描述并行算法的难度。同时,基于推广的矩阵运算来实现并行算法,可以尽可能地排除具体算法的特点,实现较为通用的并行算法到加速器的映射,可以针对常用的矩阵运算设计调度软件,使得软件可以较普遍地适合于多种算法。
本发明具有以下几点有益的效果:
(1)本发明利用矩阵运算规则来描述并行计算算法,利用矩阵运算中固有的并行性来表达其描述的算法的并行性,思路简单明确,无需再去发现和挖掘串行算法中的并行性。
(2)本发明将非矩阵运算的算法转换为基于矩阵运算的算法。由于矩阵运算有内在的并行性,可以方便高效地映射到加速器的并行编程模型上,因此使用本发明可以有效地简化挖掘算法并行性,以及将其映射到加速器的工作。
(3)本发明执行矩阵运算的过程只与原算法的矩阵运算表述有关,而与原算法本身无关。因此,可以针对常用的矩阵运算设计调度软件,使得软件可以较普遍地适合于多种算法。从而,本方法减少了开发加速器调度代码的重复工作,简化了开发过程。
(4)本发明将算法的描述和其在并行系统上的实现拆分开来,形成两个层次。即,算法本身的描述在第一个层次,它不涉及如何在特定硬件上实现计算过程;针对特定硬件的计算过程的实现和性能优化在第二个层次,它与算法本身无关,因此实现和优化的工作是可重用的。采用本发明的方法来实现具体算法,只需要在第一个层次上完成算法的描述,所需编写的代码量非常少。
附图说明
图1为本发明所述本发明所述基于矩阵运算的并行计算方法的流程图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式做详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010508334.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:地址查询方法及系统
- 下一篇:基于OSGi的软件构件监测方法与系统