[mpiwg-sessions] [EXTERNAL] Question on MPI_THREAD_FUNNELED

Martin Schulz schulzm at in.tum.de
Mon Feb 15 17:47:42 CST 2021

Hi Howard,

>>    I recall we decided to leave the behavior of thread support level when using multiple sessions/world model up to the implementation.   However, in the case of MPI_THREAD_FUNNELED we should probably add a blurb about not doing this in the advice to users in the Session Creation and Destruction Methods.

I think the problem also appears if the original MPI_Init_thread uses FUNNELED. We probably need to add something there as well.

>>    My first guess based on the openmpi prototype is that if one session is initialized with funneled, then all subsequent created sessions or mpi init thread will be supported at funnel level.  

That kind of makes sense - but what happens if the second Session_Init is then on another thread? The funneled refers to a different thread.

>>    For your thread serialized question I would say the answer is no, unless under the covers the implementation is always working in effectively thread multiple mode.

Hmm, I understand the motivation and implementation implications, but this would kill the isolation then, which is also not good. Also, if two libraries have separate sessions, it is often not even possible to avoid this.

Almost seems like we should deprecate funneled and serialized.

Another item to cover next Monday __.



    On 2/13/21, 2:53 PM, "mpiwg-sessions on behalf of Martin Schulz via mpiwg-sessions" <mpiwg-sessions-bounces at lists.mpi-forum.org on behalf of mpiwg-sessions at lists.mpi-forum.org> wrote:

        Hi all,

        Can MPI_Session_Init be called with requesting MPI_THREAD_FUNNELED from two different threads? If so, does MPI return MPI_THREAD_FUNNELED or MPI_THREAD_SERIALIZED? Can I match this with MPI_Init_thread using  MPI_THREAD_FUNNELED  from a different thread?

        If we assume full isolation, that should work, right?

        Also, can I make two concurrent MPI calls from two different threads at the same time, assuming the MPI calls use MPI objects derived from two different sessions, both initialized with MPI_THREAD_SERIALIZED?



        Prof. Dr. Martin Schulz, Chair of Computer Architecture and Parallel Systems
        Department of Informatics, TU-Munich, Boltzmannstraße 3, D-85748 Garching
        Member of the Board of Directors at the Leibniz Supercomputing Centre (LRZ)
        Email: schulzm at in.tum.de

        mpiwg-sessions mailing list
        mpiwg-sessions at lists.mpi-forum.org

More information about the mpiwg-sessions mailing list