POOMA vs PETSc on Beowulf Clusters

William Gropp gropp at mcs.anl.gov
Fri Feb 14 11:05:48 PST 2003

At 09:48 AM 2/14/2003 -0800, kaustuv wrote:
>  I am looking for a nice matrix library for parallel applications (mostly
>solution of Partial Differential Equations on structured Grids over
>cluster of linux boxes), and after a lot of web-searching I stumbled upon
>these two...PETSc and POOMA. Having gone through the manuals of the two I
>had following comparision chart:
>  PROS:
>   + Easy development of parallel applications & is in public domain.
>   + Lot of Numerical libraries supported (Basic Backend is LAPACK)
>   + Writen in C, so should give highly optimized code even with average
>     compilers.
>  CONS:
>   - You cannot extract an single indivisual element of array directly.
>   - No Stencils (like ones available in BLITZ++/POOMA) to make life easy.
>   - Not suited for Matrix Free methods for it assumes you finally have a
>     matrix (which might be costly to create even in compressed format)

We clearly need to improve the documentation of PETSc.  Let me make a few 
changes in the above:

Change "Basic Backend is LAPACK" to something like "Many numerical 
algorithms and libraries supported, with an emphasis on iterative sparse 
matrix methods"

PETSc does support (and there are examples that use) Matrix-Free 
methods.  Perhaps this should go into "PROS" :)

In terms of scalability, a code using PETSc won a Gordon Bell prize, 
scaling well to over 3000 processors; recent runs of the same problem on a 
250-node Beowulf have reached nearly 200 GFlops for an unstructured mesh 
CFD code.


More information about the Beowulf mailing list