- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于GPU的稀疏矩阵LU分解(SparseLUFactorizationonAMDGPUs)
基于AMD GPU 的稀疏矩阵LU 分解
及其在电路仿真中的应用
任令 陈晓明 张晨曦
指导教师: 汪玉
摘要—稀疏矩阵求解已成为SPICE仿真器的瓶颈。由于稀疏矩阵LU分解中数据间的依赖性强,目前关于稀
疏矩阵求解的工作较少。较强的数据依赖性也决定了并行稀疏矩阵LU分解算法只有在共享内存的计算设备
上才能高效运行。但是共享统一内存的CPU核的个数通常很有限。最新的图形处理器(GPU )提供了一个
可能的解决方案:GPU拥有共享内存的众核结构。本文中,我们首次提出了一个基于GPU 的稀疏矩阵LU求
解器。我们针对GPU架构优化了任务划分、活跃线程数和内存访问模式。对于分解中浮点运算次数较多的
矩阵,我们的GPU稀疏矩阵LU分解相对单核CPU和8核CPU分别实现了10.5x和2.6x 的加速比。
一、 引言
SPICE (Simulation Program with Integrated Circuit Emphasis) [1]是当今最常用的电路仿真器。
然而,超大规模集成电路(VLSI )的快速发展对SPICE的性能提出了挑战。在当今的超大规模集
成电路中,后仿真寄生参数提取后的电路矩阵的尺寸很容易到达几兆,这使得后仿真在CPU上需
要几天甚至数周的时间才能完成。SPICE仿真中两个最耗时的步骤是利用LU分解求解稀疏矩阵
方程和参数更新。这两个步骤要被迭代进行许多次。
近十年来,GPU在许多领域得到了重要应用[2], [3]。目前已有一些工作使用GPU完成参数更
新[4], [5]。参数更新的并行化非常直观,它由一系列独立的任务组成,即电路中各个元件的参数
更新。然而,由于稀疏矩阵的结构很不规则,且LU分解中的数据间的依赖性很强,稀疏矩阵求
解器的并行化十分困难。据我们了解,目前尚没有能适合电路仿真的基于GPU的稀疏矩阵求解器。
以往的GPU LU分解工作集中在稠密矩阵上[6]– [9]。尽管基于GPU 的稠密矩阵LU分解性能非
常可观,在GTX 280上达到388 Gflop/s (Giga Floating point OPerations per second) [8],简单计
算可知我们不应该将稀疏矩阵当作稠密矩阵分解。以onetone2 (大小为36k * 36k) 为例,即
使将稠密LU分解的性能计算为1000 Gflop/s,对onetone2进行稠密LU分解仍需要15.5s,而单
核CPU上一个简单的串行稀疏LU分解只需要不到1s。
目前,稀疏矩阵LU求解器主要在CPU上实现。为了利用更多的并行性,SuperLU [10]– [12] 将
Supernode思想与Gilbert/Peierls (G/P) 的leftlooking [13]算法结合起来, 实现了对具有稠密块的矩
阵的高效分解。PARDISO [14]也利用了Supernode。Christen等人在GPU上实现了PARDISO [15]。
他们的思路仍然遵循基于GPU 的稠密矩阵分解。他们用GPU计算稀疏矩阵中的稠密块,而其余的
工作在CPU上完成。
然而,Supernode在电路矩阵等极稀疏的矩阵中很少出现。这使得基于Supernode的算法在处
理电路矩阵时比基于列的算法效率低。所以在KLU这款针对电路仿真优化的稀疏求解器中,采
用了直接的G/P left-looking算法[13]和对角块矩阵形式Block Triangular Form (BTF) [16],而放弃
了Supernode思想。
KLU只有串行版本。由于数据间高度依赖,并行G/P leftlooking算法只能高效运行在共享内
存的计算设备上,如现场可编程门阵列(Field Programmable Gate Array, FPGA), 多核CPU and
GPU 。一些工作在FPGA实现了G/P leftlooking算法[17]– [19],但这些方法对大矩阵的可拓展性还
受限于FPGA很有限的片上资源。我们在多核CPU上也实现了这一算法[20],但能共享内存的CPU
核数通常很有限。大多数商用CPU都不超过6核,如Intel Xeon X5680, AMD Phenom II 。最新的
GPU为该问题提供了一个可能的解决途径。与CPU相比,GPU共享内存的核数远远多于CPU,且
拥有更高的内存带
您可能关注的文档
最近下载
- 墙面软包施工的方案.doc VIP
- 中国古典舞身韵-云肩转腰、云手 教案-2021-2022学年舞蹈美育七年级上册.doc
- YBT 153-2015 优质结构钢连铸坯低倍组织缺陷评级图.docx
- 湖北省武汉市部分重点中学2023-2024学年高二下学期期末联考数学试题含答案.pdf VIP
- 从生物视觉到机器之眼:生物启发式视觉识别模型与算法的深度探索.docx
- Airport English 机场英语 (详细精美图文对话单词介绍解说).ppt
- 土地整理施工方案及技术措施.docx VIP
- 19S306 居住建筑卫生间同层排水系统安装(高清版).pdf
- 工程材料力学性能第3版束德林习题答案.docx
- 2024年河南省中考语文真题(附答案解析).docx
文档评论(0)