Pete,

I was surprised to see all 4 cores (8 threads) being used in step-8 which does
not have PETSc/MPI support. In the solver, the main thread was using 100% of
it's resources. The others were using very consistently 24-25% independent of
#DOF. Is the normal SolverCG<> of step-8 multi-theaded?

Yes. Various parts of the library are multi-threaded and doing matrix-vector multiplications is one of those parts.


Would the overall
performance on a single processor improve if one were able to have multiple
controlling threads instead of one. Is it even possible? This might be even
more important for the 8 or 16 core CPUs I see available now. If I am correct
the code that exists was probably optimum with Single or Dual Core CPUs but it
does not appear to be true now. It may not be feasible but I though I'd
mention it.

It is possible to write some programs in a way so that there are multiple controlling threads, but this is not the case for typical finite element programs. If you look at a typical program, it almost always has the form
    do this   (e.g., assemble the linear system)
  then
    do that   (e.g., solve the linear system)
The "then" is a synchronization point. However, "do this" and "do that" may well be parallelizable, and we often do that in the library if possible. An example may be the loop over all cells in assembly. But it is difficult to do this with all statements, and that is where the inefficiency comes from.


Also, it appears that the efficiency with one CPU decreases as the #DOF
increase with PETSc/MPI. Does anyone know why?

How do you define "efficiency"?

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth               email:            bange...@colostate.edu
                                www: http://www.math.tamu.edu/~bangerth/

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to