Thread Previous • Date Previous • Date Next • Thread Next |
Niclas Jansson wrote:
Niclas Jansson <njansson@xxxxxxxxxx> writes:dolfin@xxxxxxxxxx (DOLFIN) writes:One or more new changesets pushed to the primary dolfin repository. A short summary of the last three changesets is included below. changeset: 6855:51f268bf79d79b0de5d3cb20a7cacb35357c81ce tag: tip user: "Garth N. Wells <gnw20@xxxxxxxxx>" date: Wed Aug 26 14:30:18 2009 +0100 files: demo/pde/elasticity/cpp/main.cpp dolfin/fem/Assembler.cpp description: Add OpenMP code to assembler (commented out for now).If insertion is done in a critical section there would virtually be no scope for speedup (for larger number of threads)
I have a problem where the element tensors are very complicated and costly to compute and the linear solve is cheap - with a small number of threads I get a modest speed up. Annoyingly, PETSc dies when calling VecGetValues with more than one thread.
A better idea would probably be to either 1) Partition the mesh, and only have a critical section for shared cells. 2) Assemble into a private matrix and either add them together A_1 + ... + A_n or add them together with some fancy tree reduction algorithm.
The best idea is for us to complete the message passing-based parallelistion ;). I have interior facet integrals which are not yet supported which is why I've tried OpenMP inside the assembler.
Garth
Niclas _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@xxxxxxxxxx http://www.fenics.org/mailman/listinfo/dolfin-dev
Thread Previous • Date Previous • Date Next • Thread Next |