[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.
Peter St. John peter.st.john at gmail.comTue Dec 4 12:05:23 PST 2007
- Previous message: [Beowulf] use a MPI library thought a shared library
- Next message: [Beowulf] use a MPI library thought a shared library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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> 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://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 > > > _______________________________________________ > Beowulf mailing list, Beowulf at beowulf.org > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.scyld.com/pipermail/beowulf/attachments/20071204/7be2dfbb/attachment.html
- Previous message: [Beowulf] use a MPI library thought a shared library
- Next message: [Beowulf] use a MPI library thought a shared library
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
