The code src/ksp/ksp/examples/tutorials/ex61f.F90 demonstrates working with multiple threads each managing their own collection of PETSc objects. Hope this helps.
Barry > On Dec 20, 2018, at 9:28 AM, Krzysztof Kamieniecki via petsc-users > <petsc-users@mcs.anl.gov> wrote: > > Hello All, > > I have an embarrassingly parallel problem that I would like to use TAO on, is > there some way to do this with threads as opposed to multiple processes? > > I compiled PETSc with the following flags > ./configure \ > --prefix=${DEP_INSTALL_DIR} \ > --with-threadsafety --with-log=0 --download-concurrencykit \ > --with-openblas=1 \ > --with-openblas-dir=${DEP_INSTALL_DIR} \ > --with-mpi=0 \ > --with-shared=0 \ > --with-debugging=0 COPTFLAGS='-O3' CXXOPTFLAGS='-O3' FOPTFLAGS='-O3' > > When I run TAO in multiple threads I get the error "Called VecxxxEnd() in a > different order or with a different vector than VecxxxBegin()" > > Thanks, > Krys >