charmplusplus / charm

The Charm++ parallel programming system. Visit https://charmplusplus.org/ for more information.
Apache License 2.0
202 stars 49 forks source link

AMPI support for MPI_THREAD_SERIALIZED #1044

Open stwhite91 opened 8 years ago

stwhite91 commented 8 years ago

Original issue: https://charm.cs.illinois.edu/redmine/issues/1044


We currently only claim to support MPI_THREAD_SINGLE, even though MPI_THREAD_FUNNELED and MPI_THREAD_SERIALIZED actually work. The only real change needed is to actually implement MPI_Is_thread_main().

stwhite91 commented 5 years ago

Original date: 2016-12-08 14:27:26


Support for MPI_THREAD_FUNNELED: https://charm.cs.illinois.edu/gerrit/#/c/2034/ https://github.com/UIUC-PPL/charm/commit/77610c35d5bc582ff83cde41b9cd5b39262c3967

MPI_THREAD_SERIALIZED will take more effort: we'd have to support threads AMPI did not create making calls into AMPI. The issue is with global variables which are only installed via AMPIAPI macros and only work on threads created by AMPI. Also migrating threads not created by AMPI is not supported.