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:
>Hi,
>  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:
>
>PETSc:
>-----
>  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:

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

CONS:
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.

Bill




More information about the Beowulf mailing list