Is the pthreads support further along than the OpenMP support? I have not tried the pthreads support yet. Does either the pthreads support or the OpenMP support implement the matvec or do they just do vector type operations?
Jed Brown writes: > On Tue, May 8, 2012 at 9:23 PM, Dave Nystrom <dnystrom1 at comcast.net> > wrote: > > > I see that petsc-dev now has some OpenMP support. Would a serial, non-mpi > > code that uses petsc-dev be able to gain much performance improvement from > > it > > now for the case of doing sparse linear solve with cg and jacobi > > preconditioning? > > > > The kernels are being transitioned to use the threadcomm, which enables > OpenMP and other threading models. > > We anticipate that pthreads will provide the best performance because > operations can be less synchronous than with OpenMP (for which a parallel > region implies barrier semantics). But if other parts of an application > are using OpenMP, it would be preferable for PETSc to also use OpenMP so > that it can share the same thread pool. The same applies to TBB.