dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #07948
Re: profiling an assembly
On Sun, May 18, 2008 at 07:28:27PM +0200, Jed Brown wrote:
> On Sat 2008-05-17 13:50, Murtazo Nazarov wrote:
> > There is a MatSetOption in PETSc, MAT_USE_HASH_TABLE, to take care what
> > exactly I would like to have. But, that option does not work with AIJ
> > format we are using in dolfin.
>
> I just stumbled upon this paper. Since they use matrices with random structure,
> it is not clear how much performance difference would carry over, but it does
> show that large gains may be possible by assembling in a hashed format.
>
> @article{aspnas2007eas,
> title={{Efficient Assembly of Sparse Matrices Using Hashing}},
> author={Aspnas, M. and Signell, A. and Westerholm, J.},
> journal={Lecture Notes in Computer Science},
> volume={4699},
> pages={900},
> year={2007},
> publisher={Springer}
> }
>
> Jed
Interesting. Here's the abstract:
http://www.tucs.fi/research/publications/insight.php?id=inpAsSiWe07a&table=inproceeding
We've experimented with using a hash table for each row before. See
the class AssemblyMatrix in DOLFIN where we just store the matrix as
std::vector<std::map<uint, real> > A;
I haven't looked at the above paper yet (need to find a place to
download it) but it presumably does something more sophisticated.
--
Anders
References