主题:如何在单机上用Fortran并行求解线性方程组?
yuanhuzhouni
[专家分:260] 发布于 2011-04-25 08:22:00
请问:
我想在单机服务器上用Fortran计算有限元线性方程组(带状、稀疏),不知道有没有相关的函数库可以实现单机并行的?谢谢!
系数矩阵阶数不大,但是需要多次求解线性方程,因此希望可以通过并行降低单次求解时间。
回复列表 (共4个回复)
沙发
yeg001 [专家分:14390] 发布于 2011-04-25 09:59:00
矩阵阶数不大 的情况下函数库并行随着线程数目增加效益会很快变低的, 甚至耗时还不如单线程.
如果多次求解的线性方程之间没有关联的话不如把这些求解的方程分堆进行并行.
板凳
yuanhuzhouni [专家分:260] 发布于 2011-04-25 10:14:00
[quote]矩阵阶数不大 的情况下函数库并行随着线程数目增加效益会很快变低的, 甚至耗时还不如单线程.
如果多次求解的线性方程之间没有关联的话不如把这些求解的方程分堆进行并行.[/quote]
谢谢!多次求解的线性方程之间是迭代关系。
目前常用的方程阶数大概在10000,但是要解大概3000次,请问有什么好的办法吗?
另外,我想问下系数矩阵全部存储的话求解起来会不会快一点?
3 楼
yeg001 [专家分:14390] 发布于 2011-04-25 11:50:00
10000就不小. 我没用过带状、稀疏的函数. 不过在MKL库的文档中有提到稀疏, 你部分查查. mkl的调用本身可以分为单线程和多线程的. 如果有你需要的函数那应该可以并行处理.
4 楼
ghx410 [专家分:0] 发布于 2011-05-17 09:31:00
不知程序是否已经编好,想看一下......
我来回复