[petsc-users] PETSc and AMPI

Jed Brown jed at jedbrown.org
Sun Feb 1 19:58:51 CST 2015


Barry Smith <bsmith at mcs.anl.gov> writes:
> Porting to AMPI
> ---------------
> Global and static variables are unusable in virtualized AMPI programs, because
> a separate copy would be needed for each VP. Therefore, to run with more than
> 1 VP per processor, all globals and statics must be modified to use local 
> storage.

This is more than is needed for thread safety, but removing all
variables with static linkage is one reliable way to ensure thread
safety.  This would require a library context of some sort, which
unfortunately doesn't interact well with profiling and debugging and
makes it more difficult to load plugins (the abstraction leaks because
dlopen has global effects, as does IO).  I don't know if we've thought
carefully about the usability cost of eradicating all variables with
static linkage.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150201/f8c4160f/attachment.pgp>


More information about the petsc-users mailing list