发明名称 基于GPU的集成电路电源地线网络的并行仿真方法
摘要 本发明公开一种基于GPU的集成电路电源地线网络的并行仿真方法,主要是利用GPU强大的浮点数处理和并行处理能力,以及预条件共轭梯度算法来加速集成电路电源地线仿真计算的方法。本发明将集成电路电源地线网络简化为二维规则网络,CPU将所述二维规则网络划分为满足GPU硬件要求的两个以上的分块,并向GPU传输分块信息;GPU接收CPU传输的集成电路电源地线网络的分块信息,并将各分块信息读入到与其线程组对应的局部内存中;GPU对上述分块信息进行预条件共轭梯度计算;GPU将计算结果输出给所述CPU。本发明与目前主流的CPU上的相同算法相比,它的计算效率能提高20倍左右。
申请公布号 CN101908087B 申请公布日期 2012.07.04
申请号 CN201010228645.2 申请日期 2010.07.16
申请人 清华大学 发明人 蔡懿慈;周强;石晋
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京中伟智信专利商标代理事务所 11325 代理人 张岱
主权项 一种基于GPU的集成电路电源地线网络的并行仿真方法,其特征在于,包括以下步骤:(1)将集成电路电源地线网络简化为二维规则网络,CPU将所述二维规则网络划分为满足GPU硬件要求的两个以上的分块,并向GPU传输分块信息,具体包括步骤a~c:a.输入所述二维规则网络的信息到CPU,并计算出导纳矩阵A和电流源向量I;b.设置初始值x0和各分块的预条件矩阵Bp的逆矩阵Bp‑1;c.将初始值x0,导纳矩阵A和电流源向量I按各分块划分;(2)GPU接收CPU传输的集成电路电源地线网络的分块信息,并将各分块信息读入到与其线程组对应的局部内存中,具体包括步骤d:d.GPU的各线程组分别将对应各分块的导纳矩阵Ap和电流向量Ip读入到局部内存中,并在其内计算各分块的初始值k=0,rk=Ip‑Apxk,sk=zk=Bp‑1rk;其中,下标p表示分块编号;(3)GPU对上述分块信息进行预条件共轭梯度计算,具体包括步骤e~k:e.各线程组并行地计算出各分块的中间向量Apsk;f.处理各分块的中间向量Apsk之间的行间隙和列间隙,得到Ask;g.各线程组分别利用向量Ask进行以下计算处理:αk=(zk,rk)/(sk,Ask)xk+1=rk+αkskrk+1=rk‑αkAskh.将各分块向量rk+1读入共享内存并调整成按块存放的顺序;i.进行预条件计算,zk+1=Bp‑1rk+1,并将各分块zk+1的顺序调整成按块存放的 顺序;j.计算系数βk,利用βk计算sk+1,βk=(zk+1,rk+1)/(zk,rk)sk+1=zk+1‑βkskk.置k=k+1,并判断是否已经满足结束条件,若未满足,重复步骤(e)至步骤(j),若满足,计算结束;(4)GPU将计算结果输出给所述CPU。
地址 100084 北京市海淀区清华园1号