Does someone know any library or ready source code of parallel implementation of quick iterative methods (bicgstab, CG, etc) for solving Linear System of Equations for example using MPI or OpenMP?
Asked
Active
Viewed 1,300 times
2 Answers
3
PetSC is a good example (both serial and MPI, and with a large library of linear and nonlinear solvers either included or provided as interfaces to external libraries). Trillinos is another example, but it's a much broader project and not as nicely integrated as PetSC. Aztec has a number of solvers, as does Hypre, which is hybrid (MPI+OpenMP).
These are all MPI-based at least in part; I don't know of too many OpenMP-enabled ones, although google suggests Lis, which I'm not familiar with.

Jonathan Dursi
- 50,107
- 9
- 127
- 158
-
thanks, but it is not clear for me how to use this..is there any example using such library? – Nurlan May 03 '12 at 12:12
-
1Sure - at the PETSc documentation page there's sets of examples using both linear solvers and nonlinear solvers: http://www.mcs.anl.gov/petsc/documentation/index.html – Jonathan Dursi May 03 '12 at 19:54
-
PETSc documentation says: "Do not expect to generate your matrix sequentially and then “use PETSc” to solve the linear system in parallel." So this means that petsc is not intended for parallel solving? – Nurlan Jun 14 '13 at 10:23
-
The sentence just before that one, "Certainly all parts of a previously sequential code need not be parallelized but the matrix generation portion must be to expect any kind of reasonable performance", I think makes it fairly clear. It means just what it says, you can't expect to generate your matrix sequentially (in serial) and then have petsc do things magically in parallel and expect that to make things fast. – Jonathan Dursi Jun 14 '13 at 12:32
1
Chapter 7 of Parallel Programming for Multicore and Cluster Systems contains algorithms for systems of linear equations, with source code (MPI).

gfour
- 959
- 6
- 9