利用CPU和GPU协同工作对三角线性方程组求解的加速方法技术

技术编号:4233399 阅读:823 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种利用CPU和GPU协同工作对三角线性方程组求解的加速方法,目的是提供一种加速方法,使基于CPU平台的三角线性方程组求解方法在CPU+GPU的异构平台上获得加速。技术方案是先利用CPU进行矩阵求逆,获得三角矩阵A的逆矩阵A-1;接着将矩阵B分割成两个矩阵B1、B2;接着在CPU与GPU上并行执行A-1×B1和A-1×B2两个计算,达到CPU、GPU的负载平衡,A-1×B1和A-1×B2的结果分别为X1、X2;将X2返回CPU,将X1、X2合并成一个矩阵X输出。采用本发明专利技术实现了CPU和GPU的重叠计算,达到了良好的负载平衡效果,实现了对三角线性方程组求解的加速。

【技术实现步骤摘要】

本专利技术涉及对三角线性方程组求解进行加速的方法,尤指采用CPU和GPU协同工 作对三角线性方程组求解进行加速的方法。
技术介绍
三角线性方程组广泛应用于许多科学领域,形如op(A) XX= a XB或者XXop(A) =a XB。其中A是一个上三角或者下三角矩阵,op(A)或者为A,或者为AT;X、B为矩阵,a 为常量。三角线性方程组求解过程是已知矩阵A、B和系数a,求解矩阵X。现有基于CPU 求解矩阵X的实现是一个三重循环,最外层循环次数为矩阵X的列数,中间层循环次数为矩 阵X的行数,两重循环中计算了矩阵X的每一个元素。为了计算矩阵X的第i行,第j列元 素,需要进行i-1次的乘加操作temp = temp-A(i, k) XB(k, j),这构成了最内层循环。由 于在DNA生物计算、核物理科学计算、HPLinpack测试等领域大量存在三角线性方程组的求 解,三角线性方程组求解的加速性能成为这些领域计算性能提高的瓶颈,如何对三角线性 方程组求解进行加速成为这些领域技术人员极为关注的问题。 目前对三角线性方程组求解的加速方法主要有以下几类采用硬件的加速方法、 采用软件的加速方法。采本文档来自技高网...

【技术保护点】
一种利用CPU和GPU协同工作对三角线性方程组求解的加速方法,其特征在于包括以下步骤:第一步、对三角线性方程组A×X=α×B中涉及的矩阵A在CPU上执行求逆操作,得到A↑[-1],A为m×m的矩阵,X、B为m×n的矩阵,α为常量,X为三角线性方程组的解,m和n均为正整数;第二步、将矩阵B按列分割成两部分B↓[1]、B↓[2],即B=[B↓[1],B↓[2]],B↓[1]为m×(n-k)的矩阵,分到CPU上,参与CPU上的计算,B↓[2]为m×k的矩阵,分到GPU上,参与GPU上的计算;数据分割比例k为矩阵B分配到GPU上的数据量占矩阵B整个数据量的百分比,k的获取方法如下:2.1统计CPU和G...

【技术特征摘要】

【专利技术属性】
技术研发人员:杨灿群廖湘科陈娟王锋刘杰黄春易会战杜云飞
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

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

1