[petsc-dev] de-global variablelizing PETSc

Barry Smith bsmith at mcs.anl.gov
Sun Nov 10 19:07:29 CST 2013


On Nov 10, 2013, at 6:57 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> Barry Smith <bsmith at mcs.anl.gov> writes:
>>   What do tiny or fat Vecs have to do with wether
>>   ISInitializePackage() and friends are called during some
>>   initialization or “when needed” (and thus requiring some sort of
>>   lock).
> 
> That was a question of whether threads should have their own private
> library contexts.  (That is the strongest separation you could have
> between threads, and would make some sense when multiple components of a
> large application use PETSc, but do not interact via PETSc.)
> 
>>   BTW: I am not opposed to ISInitializePackage() using a lock to
>>   insure it is done only once per process, but I ain’t writing that
>>   code.
> 
> Okay, that's easy code, it just depends on what sort of portability we
> want for threaded code.  (Non-threaded code will always just work.)  For
> threaded, should we assume that (a) inline assembly is supported, (b)
> C11 stdatomic.h is available, or (c) OpenMP is available?

   I assume this depends on what configure finds?





More information about the petsc-dev mailing list