1 2 3 4 5 Previous Next 62 Replies Latest reply: Jun 1, 2012 3:14 AM by christofi.c Go to original post RSS
  • 60. Re: MPI on the SCC
    devendra.rai Community Member
    Currently Being Moderated

    "Communication will be a lot slower that SCC specific implementations, such as MPICH2 with the sock channel."

     

    I believe that RCKMPI outperforms OpenMPI.

     

    Here are my two questions then,

     

    (a). Does RCKMPI support mutithreaded calls? Specifically: I am going to initiate the MPI session with MPI_Init_Thread(...):

     

        ...

        ...

    int desired_thread_support = MPI_THREAD_MULTIPLE;/*Request multi-threaded MPI support  */

    MPI_Init_thread(&argc, &argv, desired_thread_support,

          &provided_thread_support);/*Need provided_thread_support = desired_thread_support*/

     

      printf ("MPI: Requested thread support: %d, MPI thread support received: %d\n", MPI_THREAD_MULTIPLE, provided_thread_support);

    ...

    ...

     

    Will this work? Or will RCKMPI actually try to funnel multiple MPI calls into one, causing the system to sort of hang? I have the implementation with OpenMPI-1.6, and I have these issues when OpenMPI did not provide threaded call support.

     

    The idea is that I'd like to retain my application, so that it stays portable. Also, my application uses threads and containers in C++-11 specification. Well, that means I build my application with gcc-4.6+.

     

    (b). If RCKMPI will not do this job, can you suggest specific steps to cross-compile OpenMPI for SCC? I am new to cross-compilation. May the steps that you performed when you cross-compiled OpenMPI yourself?

     

    Would appreciate your help.

     

    Thanks a lot.


    best

     

    Devendra

  • 61. Re: MPI on the SCC
    compres Community Member
    Currently Being Moderated

    Hello Devendra,

    (a). Does RCKMPI support mutithreaded calls? Specifically: I am going to initiate the MPI session with MPI_Init_Thread(...):

     

    int desired_thread_support = MPI_THREAD_MULTIPLE;/*Request multi-threaded MPI support  */

    MPI_Init_thread(&argc, &argv, desired_thread_support,

          &provided_thread_support);/*Need provided_thread_support = desired_thread_support*/

      printf ("MPI: Requested thread support: %d, MPI thread support received: %d\n", MPI_THREAD_MULTIPLE, provided_thread_support);

     

    Will this work? Or will RCKMPI actually try to funnel multiple MPI calls into one, causing the system to sort of hang? I have the implementation with OpenMPI-1.6, and I have these issues when OpenMPI did not provide threaded call support.

    The idea is that I'd like to retain my application, so that it stays portable. Also, my application uses threads and containers in C++-11 specification. Well, that means I build my application with gcc-4.6+.

    Did you try your code with a recent MPICH2 on your regular system?

     

    The channels in RCKMPI are single threaded, so all calls to the channel (channel layer is similar to the BTL in OpenMPI) will be serialized.  Whether that means that the upper layers of MPICH2 are as a consequence single threaded is not known to me.  This actually interest me so I will check and come back to you, but I can not promise a time frame.  Maybe someone else from the community can give us some insight.

     

    With regards to the cross-compiler: I have successfully generated a gcc 4.5 toolchain with crosstool-ng.  I spent some time in the past and could not build a 4.6 one so far.  That was several months ago so it would be interesting to use a recent release of crosstool-ng and try again.

    (b). If RCKMPI will not do this job, can you suggest specific steps to cross-compile OpenMPI for SCC? I am new to cross-compilation. May the steps that you performed when you cross-compiled OpenMPI yourself?

    Once you have a cross-compiler, you just need to make a simple wrapper where CC, FC, etc. get replaced with the appropriate values before calling the configure script (alternatively, some configure scripts allow you to specify a cross-compiler).  The only challenge here is actually building the cross-compiler first; the actually configure and make steps are trivial.  I can dig up a wrapper from my backups later so that you have a simple example.

     

    - Isaías

  • 62. Re: MPI on the SCC
    christofi.c Community Member
    Currently Being Moderated

    We are interested in MPI on the SCC.

     

    Thanks

1 2 3 4 5 Previous Next

More Like This

  • Retrieving data ...

Legend

  • Correct Answers - 4 points
  • Helpful Answers - 2 points