基于GPU平台的KLU并行算法的研究与实现:预处理及回代求解
发布时间:2021-01-29 03:58
在大型电路模拟中,Ax=b形式的线性方程组的求解是影响电路模拟效率的关键问题。为了解决这一问题,目前已经存在许多针对大型电路模拟矩阵的求解器,例如sparce 1.3、superLU、KLU等。实验表明,与其他算法相比,KLU算法效率更高、更适合于处理大型电路模拟矩阵。KLU(Clark Kent LU),是由Clark Kent专门针对大型电路模拟矩阵设计的一种新型的稀疏矩阵求解算法。KLU算法共分为四个阶段:预处理阶段、分解阶段、再分解阶段、求解阶段。本文重点在GPU平台上,对KLU算法中的预处理阶段(btfstrongcomp算法、)和求解阶段(klusolve算法)进行并行性研究与实现。在预处理阶段,利用btf算法将矩阵转化为上三角块的形式。btf算法包括两个部分:btfmaxtrans算法和btfstrongcomp算法。对btfstrongcomp算法在GPU平台上的可并行性作了详细的研究与探讨,提出了几种可并行的方案:深度优先搜索算法、可达矩阵算法、zdec算法的...
【文章来源】:内蒙古大学内蒙古自治区 211工程院校
【文章页数】:52 页
【学位级别】:硕士
【部分图文】:
GT200体系架构felFigure2:1ArchitectureofaGT200}}
k二el的执行结果从显卡的内存中取回。在GPU上执行的线程被组织成三层结构: (bloek),第三层是线程(thread),如图2.3所示。host端和deviee端。host端是指在CPU上执行device端的程序又被称为kernel。通常host端程由GPU执行kernel,完成后再由host端程序将最高层是线程网格(幼d),第二层是线程块黝黝蘸 蘸黔黔藻翼黔彝黔摹撇蒸毅髓髓瓤瓤蘸鬓 鬓黝黝 黝图2.3线程组织结构[sl Flgure2.3struetureofthread[8]在内核中最基本的单位是线程(thread),多个线程组合成线程块(bfock),多个线程块又组成网格(grid),目前,每个kernel中只能包含一个grid。在内核中,我们通过threadldx.x,thre叱Idx.y
图2.4CUDA设备存储器模型[l”]Figure2.4C切Ad州eememo巧model[10]发展,2009年由计算机行业的几家大公司,如苹果司,共同开发了一套基于GPU平台的标准编程模
本文编号:3006231
【文章来源】:内蒙古大学内蒙古自治区 211工程院校
【文章页数】:52 页
【学位级别】:硕士
【部分图文】:
GT200体系架构felFigure2:1ArchitectureofaGT200}}
k二el的执行结果从显卡的内存中取回。在GPU上执行的线程被组织成三层结构: (bloek),第三层是线程(thread),如图2.3所示。host端和deviee端。host端是指在CPU上执行device端的程序又被称为kernel。通常host端程由GPU执行kernel,完成后再由host端程序将最高层是线程网格(幼d),第二层是线程块黝黝蘸 蘸黔黔藻翼黔彝黔摹撇蒸毅髓髓瓤瓤蘸鬓 鬓黝黝 黝图2.3线程组织结构[sl Flgure2.3struetureofthread[8]在内核中最基本的单位是线程(thread),多个线程组合成线程块(bfock),多个线程块又组成网格(grid),目前,每个kernel中只能包含一个grid。在内核中,我们通过threadldx.x,thre叱Idx.y
图2.4CUDA设备存储器模型[l”]Figure2.4C切Ad州eememo巧model[10]发展,2009年由计算机行业的几家大公司,如苹果司,共同开发了一套基于GPU平台的标准编程模
本文编号:3006231
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3006231.html