Distributed PyAMG

85 views
Skip to first unread message

Dylan

unread,
Mar 3, 2010, 7:39:45 PM3/3/10
to pyamg-user
I am a new user of PyAMG, and I was wondering if there was any support
in the package for distributed computing on very large (>100M
vertices) systems?

I would consider myself someone with basic knowledge of multigrid
methods. Since the only real solve("Ax=b") call occurs at the coarsest
mesh, I assume it could still be executed on a single node. However,
in a normal V cycle (e.g. in
pyamg.multilevel.multilevel_solver.__solve) one calculates

residual = b - Ax
coarse_b = R*residual

both of which can be handled by parallel matrix-vector multiply
routines (e.g. PDGEMV).

I would be interested in developing something along these lines
(distributing the prolongation and restriction matrices as well as the
operator matrix) if something like that does not already exist.

- Dylan

p.s. Thank you all for the great tool - running
scipy.sparse.linalg.solve: >30mins, with PyAMG < 10s!! Awesome work.

Nathan Bell

unread,
Mar 5, 2010, 10:50:54 AM3/5/10
to pyamg...@googlegroups.com
On Wed, Mar 3, 2010 at 7:39 PM, Dylan <dylan.l...@gmail.com> wrote:
> both of which can be handled by parallel matrix-vector multiply
> routines (e.g. PDGEMV).
>
> I would be interested in developing something along these lines
> (distributing the prolongation and restriction matrices as well as the
> operator matrix) if something like that does not already exist.

Hi Dylan,

We don't have any support for distributed memory systems in PyAMG now,
but it would definitely make a nice addition.

As you say, a distributed sparse matrix-vector multiplication method
immediately handles many of the solver operations. Other than that,
the main challenge would be implementing sparse matrix-matrix
multiplication (A*B where both A and B are sparse) and computing the
interpolation operators in parallel.

BTW, have you looked at the ML package in Trilinos [1]? I haven't
used it myself, I believe there is a Python interface to ML (via
PyTrilinos) that is compatible with SciPy.

[1] http://trilinos.sandia.gov/

> p.s. Thank you all for the great tool - running
> scipy.sparse.linalg.solve: >30mins, with PyAMG < 10s!! Awesome work.

Very cool!

--
Nathan Bell wnb...@gmail.com
http://www.wnbell.com/

Reply all
Reply to author
Forward
0 new messages