[mpiwg-ft] OpenMP Cleanup
work at wesbland.com
Mon Jul 8 13:07:39 CDT 2019
I talked to our OpenMP team about the discussion we had on the call this morning. The concern (for those not on the call) was that if an application is using MPI + OpenMP, you could end up inside a parallel region when you need to “reinit” and jump back to some other point in the code, which would be illegal in the case of OpenMP.
One of the solutions you introduced was an API to specify when to handle the errors. OpenMP has a similar thing in the form of "#pragma omp cancel” and “#pragma omp cancellation point” which might work with that. It might also be possible to construct something more general with cancellation + “omp_pause_resource_all” where you would have to wrap all MPI functions with a cancellation point.
I’m not sure if this would work or not, but it’s something to explore.
More information about the mpiwg-ft