发明名称 |
基于GPU的稀疏矩阵LU分解方法 |
摘要 |
本发明提出一种基于GPU的稀疏矩阵LU分解方法,包括以下步骤:A:在CPU上建立待仿真的电路网单的电路矩阵,并对该电路矩阵进行预处理和稀疏化;B:根据预处理结果选择对稀疏矩阵LU进行处理的计算平台;C:如果使用的计算平台为GPU,则通过GPU对稀疏矩阵LU进行分解;D:通过CPU对稀疏矩阵LU中非零元的值进行回代求解,以完成对稀疏矩阵LU的分解。本发明的实施例可根据分解中浮点运算次数的多少自动选择计算平台,能够合理分配CPU和GPU上的任务,保证GPU上众多线程间的协同运行,从而提高运算速度,减少电路仿真时间。 |
申请公布号 |
CN103399841A |
申请公布日期 |
2013.11.20 |
申请号 |
CN201310329479.9 |
申请日期 |
2013.07.31 |
申请人 |
清华大学 |
发明人 |
任令;陈晓明;汪玉;杨华中 |
分类号 |
G06F17/16(2006.01)I |
主分类号 |
G06F17/16(2006.01)I |
代理机构 |
北京清亦华知识产权代理事务所(普通合伙) 11201 |
代理人 |
张大威 |
主权项 |
一种基于GPU的稀疏矩阵LU分解方法,其特征在于,包括以下步骤:A:在CPU上建立待仿真的电路网单的电路矩阵,并对所述电路矩阵进行预处理和稀疏化;B:根据预处理结果选择对所述稀疏矩阵LU进行处理的计算平台;C:如果对所述稀疏矩阵LU进行处理所使用的计算平台为GPU,则通过所述GPU对所述稀疏矩阵LU进行分解,包括:C1:将所述电路矩阵的非零元位置、值以及所述稀疏矩阵的LU因子的非零元位置输入所述GPU;C2:确定群并行模式和流水线并行模式的分界点;C3:依次计算属于所述群并行模式的各层直至所有层均计算完成;C4:通过所述流水线并行方式计算剩余各层;C5:将所述稀疏矩阵LU中非零元的值写回到所述CPU;D:通过所述CPU对所述稀疏矩阵LU中非零元的值进行回代求解,以完成对稀疏矩阵LU的分解。 |
地址 |
100084 北京市海淀区100084-82信箱 |