On 3 September 2012 13:40, Anders Logg <l...@simula.no> wrote: > On Mon, Sep 03, 2012 at 09:21:05AM +0200, Joachim Berdal Haga wrote: >> > re-assembling the coefficient matrix. SystemAssembler OTOH can easily >> > be reimplemented in terms of SymmetricAssembler + Assembler. >> > (SymmetricAssembler only does rank-2, to avoid duplication; hence, >> > both are required) >> >> ... and, just to mention it, it wouldn't be a problem to support >> rank-0/1 as well in SymmetricAssembler, in which case we can get down >> to one assembler implementation. Plus OpenMP. > > If we can get the same speed as Assembler + all the features of > SymmetricAssembler, then I think both should be merged into one.
I'll have to check again, but I think it was around 1-2% slower, mainly because it initialises two tensors instead of one. This can mostly be dealt with if they are merged (no need to initialise asymm-part tensor if symmetricity is not requested). > Is there an overhead for putting the OpenMP code into the regular > assembler? We would trivially loop over one color. The OpenMP one - like the System one - uses a different order of operations than the normal one. I'm not sure if the difference is arbitrary or not, I did look at it last year and remember thinking it could be converted to work in the "standard" order, and hence be merged. But there may be dragons. -j. _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp