← Back to team overview

dolfin team mailing list archive

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