|
Ublas : |
Subject: Re: [ublas] uBLAS parallelization
From: Gunter Winkler (guwi17_at_[hidden])
Date: 2009-04-02 18:52:44
Am Thursday 02 April 2009 schrieb Jörn Ungermann:
> I assume that it is possible to do so at least for some sparse matrix
> implementations, as certain specialized packages offer it (e.g.
> PetSC). So:
> 1) Is there some ready-to-use solution for parallelizing uBLAS sparse
> matrix operations?
> 2) If not, is there some ongoing development effort, I could tap
> into/get involved?
I made some experiments using OMP inside axpy_prod. However the
distribution of work did not work well, because the overhead of OMP
took more time than expected.
However I got very good results when I split the work at higher level: I
distributed the finite elements to different worker threads and
assembled independent matrices. As the result may big matrix was
replaced a set of smaller (less nonzeros) matrices whose sum would give
the original matrix. Then calling the axpy_prod in parallel gave a
nearly linear speedup.
I think, the adaption of the overall algorithm is always a better way to
parallelize programs that simply replacing the backend. (Unfortunately,
this is most time also the painful way ...)
mfg
Gunter