Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] use a MPI library thought a shared library

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Mathieu Gontier mg.mailing-list at laposte.net
Wed Dec 5 00:15:17 PST 2007


Sorry. Indeed, the included <mpi.h> should not be here: it is a relic of 
some flags added to understand the problem. Then, the test case is 
correct without this include.
So, Peter, you well understand morphmpi.h ;-)

Mathieu Gontier
Core Development Engineer

Read the attached v-card for telephone, fax, adress
Look at our web-site http://www.fft.be
 



Peter St. John wrote:
> Mathieu,
> I didn't spot why you included <mpi.h>? It seems you work thru 
> morph_mpi.h wrappers, right? Perhaps I misunderstand?
> Peter
>
> On Dec 4, 2007 2:03 PM, Mathieu Gontier <mg.mailing-list at laposte.net 
> <mailto:mg.mailing-list at laposte.net>> wrote:
>
>     Hi all,
>
>     I am currently working with a project named MorphMPI. Its main purpose
>     is to offer a generic interface for the developers of parallel
>     applications, and chose the MPI library/interconnect at the runtime by
>     rebuilding a shared morph library against the desire MPI library. (The
>     final application is linked against a shared morph library instead of
>     the real MPI library.)
>     For more information about that, you can follow these links:
>     - http://www.clustermonkey.net//content/view/213/32/
>     <http://www.clustermonkey.net//content/view/213/32/>
>     - http://sourceforge.net/projects/morphmpi
>
>     So, I meet a little problem whatever the MPI library used (I tried
>     with
>     MPICH-1.2.5.2, MPICHGM and IntelMPI).
>     When MorphMPI is  linked statically with my parallel application,
>     everything is ok; but when MorphMPI is  linked dynamically with my
>     parallel application, MPI_Get_count return a wrong value.
>
>     I concluded it is difficult to use a MPI library thought a shared
>     library. I wonder if someone have more information about it (in this
>     case, you're welcome ;-) )
>
>     Thank you for your support,
>     Mathieu.
>
>     PS: my problem happens in the the following example,
>
>     #  include<morphmpi.h>
>
>     #  include <mpi.h>
>
>     #include<stdio.h>
>
>
>     int main( int argc, char* argv[] )
>
>     {
>
>      int np, me, ier, flag=0, msglen=-1 ;
>
>      MorphMPI_Request request ;
>
>      MorphMPI_Status status ;
>
>      int buf[1] ; buf[0]=-1 ;
>
>
>      ier = MorphMPI_Init( &argc, &argv ) ;
>
>      ier = MorphMPI_Comm_size( MorphMPI_COMM_WORLD, &np ) ;
>
>      ier = MorphMPI_Comm_rank( MorphMPI_COMM_WORLD, &me ) ;
>
>
>      if( me > 1 ) printf( "I am the useless processor #%d on %d\n",
>     me, np ) ;
>
>      else printf( "I am the working processor #%d on %d\n", me, np ) ;
>
>
>      ier = MorphMPI_Barrier( MorphMPI_COMM_WORLD ) ;
>
>
>     printf( "<<< %d >>>\n", &status ) ;
>
>
>      if( ! me ) {
>
>        buf[0] = 69 ;
>
>        ier = MorphMPI_Isend( buf, 1, MorphMPI_INT, 1,1,
>     MorphMPI_COMM_WORLD, &request ) ;
>
>        ier = MorphMPI_Wait( &request, &status ) ;
>
>      }
>
>
>      ier = MorphMPI_Barrier( MorphMPI_COMM_WORLD ) ;
>
>
>      if( me == 1 ) {
>
>        ier = MorphMPI_Irecv( buf, 1, MorphMPI_INT, 0, 1,
>     MorphMPI_COMM_WORLD, &request ) ;
>
>        ier = MorphMPI_Wait( &request, &status ) ;
>
>        ier = MorphMPI_Get_count( &status, MorphMPI_INT, &msglen ) ;
>
>
>        if( msglen != 1 ) printf( "ERROR: The lengh of the message is
>     not 1\n" ) ;
>
>        else printf( "SUCCESS !\n" ) ;
>
>      }
>
>
>      ier = MorphMPI_Finalize() ;
>
>     }
>
>
>
>     --
>     Mathieu Gontier
>     Core Development Engineer
>
>     Read the attached v-card for telephone, fax, adress
>     Look at our web-site http://www.fft.be <http://www.fft.be/>
>
>
>     _______________________________________________
>     Beowulf mailing list, Beowulf at beowulf.org <mailto:Beowulf at beowulf.org>
>     To change your subscription (digest mode or unsubscribe) visit
>     http://www.beowulf.org/mailman/listinfo/beowulf
>
>



More information about the Beowulf mailing list