include/petsc/private/petscimpl.h has #if defined(__cplusplus) #error "Thread safety requires either --download-concurrencykit, std::atomic, or --with-openmp" #else #error "Thread safety requires either --download-concurrencykit, stdatomic.h, or --with-openmp" #endif
So it means when you require --with-threadsafety, your system needs to have std atomic; otherwise you need to add --download-concurrencykit or --with-openmp --Junchao Zhang On Thu, Sep 21, 2023 at 9:39 AM Di Miao via petsc-users < [email protected]> wrote: > To whom it may concern, > > > > I would like to run PETSc in a multi-threaded way (KSP per thread). I > checked PETSc’s manual and it says: > > > > There is an OpenMP thread-safe subset of PETSc that may be configured for > using --with-threadsafety [--with-openmp or --download-concurrencykit]. > > > > I am confused about the square bracket here. Does this mean I need to > --with-threadsafety +( --with-openmp/--download-concurrencykit) or this > mean I can add --with-threadsafety or --with-openmp or > --download-concurrencykit? > > > > Looking for your explanation on these flags! > > > > Thank you > > Di >
