locked
MPI calls from different threads RRS feed

  • Question

  • Hello Friends!

    My problem: I'm call several MPI-queries from matser-node to slave nodes (MPI_isend -> MPI_irecv ->(slave work)->MPI_wait_all). Master also processes and answer these query, but if master send answer in other thread, It hang in MPI_wait_all on request, that sended from master itself.

    Anyone can me answer, This normal MPI behavior?

    p.s.: MPI level of synch set to MPI_THREAD_SERIALIZED
    p.s.: using MS-MPI, HPC-Pack

    Thursday, September 20, 2012 6:18 AM

All replies

  • As long as you serialize your calls into the MPI library using multiple threads should be fine.  If you make concurrent calls then you are violating the MPI_THREAD_SERIALIZED contract and your application is erroneous.

    Can you explain in more detail how your master process threads are calling into MPI, and whether you are serializing things yourself properly?

    Thanks,
    -Fab

    Thursday, June 20, 2013 8:59 PM
  • Thanks for reply! Really, I didn't serialize MPI calls. I was sure, that MPI do It itself. But now I can't verify this proposal already.
    • Edited by mega-t72 Friday, June 21, 2013 4:12 AM grammar
    Friday, June 21, 2013 4:10 AM