CPU+GPU异构平台上稀疏线性系统快速并行求解算法研究

来源 :湖南大学 | 被引量 : 7次 | 上传用户:jacker0001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着数值模拟在科学计算和工程应用中的地位突出及普遍使用,许多行业及领域对数值模拟的软件应用和开发都产生了强烈的需求,而线性系统的求解方法是数值模拟的核心。由于不同的问题得到特征各异的线性系统,在化学过程、热传导、电路模拟以及核物理模拟等许多领域产生的线性系统大多具有稀疏特征。但是随着数据网格的复杂化和问题域边界的不规则性,有时候产生的线性系统的稀疏模式较为多样。随着问题规模的扩大和模拟的精细化,要求解的线性系统的阶数越来越高,有的甚至达到百亿以上,对求解的性能提出了更高的要求。但是目前通用的求解算法很难满足如此高阶的稀疏线性系统的求解性能要求。  目前大规模异构计算系统由于其经济和高效性,已逐步成为各种数值模拟计算普遍选用的高性能计算平台。针对高阶稀疏线性系统的多样性,研究大规模稀疏矩阵的压缩存储方法和其核心运算SpMV在CPU+GPU异构平台上的快速并行算法,以及针对在科学计算和工程应用中广泛存在的准三对角和块三角稀疏线性系统,研究一种高性能并且具有较好鲁棒性的混合并行求解算法,并针对异构体系结构的特征,从数据划分、任务分配和协同编程等方面研究求解算法的异构并行化策略,以充分发挥异构计算系统的计算效率。  本文是在目前流行的CPU+GPU异构并行计算平台上如何提高稀疏线性系统的求解性能从以下4个方面展开研究。  1)针对稀疏线性方程组求解过程中的核心操作SpMV运算,构建一个能够定量描述和分析稀疏矩阵稀疏特征的数学模型,利用该数学模型可以结合计算环境的硬件参数配置来分析SpMV在CPU+GPU的异构并行计算平台的计算性能。通过对稀疏矩阵采用不同压缩格式在CPU+GPU异构计算平台上SpMV的计算性能分析和预测,选择一种最优的压缩格式来实现SpMV计算。在一定程度上解决SpMV由于其计算数据的不规则导致并行计算的效率不高,难以发挥异构并行计算性能的难题。  2)随着求解问题的规模的增大和精度的提高,产生的稀疏矩阵的规模也越来越大,采用单节点对SpMV进行并行计算难以满足其性能需求,对其进行分块,在多个处理器上进行并行计算尤为必要。因此针对异构处理器体系结构的差异,本文提供一个稀疏矩阵的分块策略,利用该策略能够把稀疏矩阵进行分割为不同块然后分配到GPU和多核CPU上执行,提高SpMV的计算性能。这种策略能够通过对稀疏矩阵的非零元素分布进行分析,从中提取稠密数据块,以减少数据的填充,因此能够适应不同类型的稀疏矩阵。并且提供的分块策略能够根据异构处理器的计算能力进行分块,实现异构处理器之间计算任务的均衡性,以充分利用其计算资源。  3)针对一种常见的稀疏线性系统——三对角线性系统,由于边界不规则的数据网格产生的三对角线性方程组并不规范,在对角线之外还存在一些离散点,这样会导致目前常用的求解算法的性能下降。本文针对准三对角线性方程组,提出了一种混合直接法和迭代法的求解算法,我们的方法需要更少的存储空间,在计算过程中,准对角矩阵可以分为三对角矩阵和对角线之外的稀疏矩阵,在迭代过程中,对三对角方程可以用直接方法得到精确解,从而提高整体迭代算法的收敛速度。此外,我们提出了一种改进的循环约化算法,使用分区策略可以把求解三对角方程组中计算的中间数据存储在GPU的共享内存中,从而显著降低内存访问延迟。通过理论分析和实验证明了算法的有效性和可扩展性。  4)针对另一种常见的块三对角线性系统,提出的一种混合分块求解算法,能够较好地利用块三角矩阵的分块构建并行计算的任务序列,充分利用GPU线程网格的并行计算特征,不但能够提高GPU计算核心的占用率,而且能够降低数据访问延时,能够解决求解此类方程组并行效率一直偏低的难题。该求解算法能够应用到云计算中心的资源调度处理中,对提高云计算中心的大规模资源调度性能有较大作用。
其他文献
随着当今互联网的飞速发展,互联网上的信息挖掘也变得越来越重要。而在这大量的数据中,深层互联网中的信息不仅从数量还是从质量上来说,都大大地优于表层互联网。然而,相对于表层
随着多媒体通信技术的不断发展,作为人机通信重要方式之一的语音合成技术以其方便、快捷的优点受到了研究者的广泛关注。语音合成的目标是使合成的语音可懂、清晰、自然而富有
生物信息学是最近几年兴起并得到快速发展的交叉学科,它是在生物分子(DNA和蛋白质)数据海量涌现的情况下采用传统的生物学方法无法处理的背景下产生的。生物信息学综合运用数学
随着呼叫中心的日益发展和普及,计算机电话集成(CTI,Computer Telephony Integration)技术也日趋完善,为提高开发效率,CTI中间件应运而生。然而,传统的CTI中间件开发模式受开发领
随着无线网络和移动定位等相关技术的发展,人们希望方便快捷地获取和利用移动对象的位置信息。近年来,移动对象数据库(Moving Objects Database)逐渐成为数据库领域研究的热点
随着电信业务的快速发展,电信管理网络规模日渐扩大,管理日趋复杂,网络管理软件的开发也日趋复杂。随着软件工程体系的不断规范化和标准化,对软件质量的要求越来越高,软件测试作为
数据挖掘是从大量的、随机的数据中,提取潜在有用的信息和知识的过程。贝叶斯网络起源于贝叶斯统计学,是一种图型化的模型,能够图形化地表示一组变量之间的联合概率分布函数。近
经济全球化与全球信息化为中国制造业带来了前所未有的机遇和挑战,以信息化带动工业化是我国的一个宏观决策,只有依靠信息技术改造传统企业,才能使我国相对落后的制造业的得到跨
随着Web信息的迅速扩展,各项基于Web的信息服务也逐渐繁荣起来。作为Web信息服务的重要组成部分之一,搜索引擎已成为人们访问互联网的重要工具。用户不仅希望搜索引擎能返回与
由于游戏开发对用户体验的要求,如何更好地绘制场景以及如何使场景和用户更好地进行交互一直是游戏设计开发最关心的两个问题。本文对这两个问题进行了研究,并且通过两项关键技