On Monday September 26 2011 16:52:02 Johan Hake wrote: > Hello! > > I played around with the OpenMP assembler as I really needed to speed up > some assemble because of problems with Real Spaces. Speedwise it looked > really promissing, untill I compared the results... > > It turns out that the result is not correct for forms with Real spaces > included. Anyone knows why and if there is an easy fix? > > https://bugs.launchpad.net/dolfin/+bug/860142 > > I would really like to fix this one ASAP...
The easiest is probably for me to flesh out the forms with no global dofs in and pass these to the OpenMP assembler. To fix this more permanently we need to collect the rows and columns of the global dofs in separate vectors. After the assemble we can add them separtely. To make it thread safe we can first sum the vectors over the threads and then add them outside the openmp loop. I think this strategi might speed up insertion into PETSc Matrices for forms with global dofs too. For this to be robust and fast we need to make ufc global dof aware. Maybe extend ufc dof_map with: tabulate_global_dofs(double* dofs); num_global_dofs(); What you say before or after the 1.0 release ;) Johan > I also discovered that OpenMP assemble crashes for scalars. This is not as > critical as scalars are pretty fast to assemble anyhow. > > https://bugs.launchpad.net/dolfin/+bug/860040 > > Johan > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

