After I "source mpi.ksk", PATH is unchanged but LD_LIBRARY_PATH is there:
$ print $LD_LIBRARY_PATH /usr/lib64/openmpi/lib/ Why does PATH loose its change? ---John On Sat, Apr 13, 2013 at 12:55 PM, Ralph Castain <r...@open-mpi.org> wrote: > You need to pass in the port info that the server printed - just copy/paste > the line below "server available at". > > On Apr 12, 2013, at 10:58 PM, John Chludzinski <john.chludzin...@gmail.com> > wrote: > >> Found the following client-server example (code) on >> http://www.mpi-forum.org and I'm trying to get it to work. Not sure >> what argv[1] should be for the client? The output from the server >> side is: >> >> server available at >> 4094230528.0;tcp://192.168.1.4:55803+4094230529.0;tcp://192.168.1.4:51618:300 >> >> >> // SERVER >> #include <stdio.h> >> #include <error.h> >> #include <errno.h> >> #include "mpi.h" >> >> #define MAX_DATA 100 >> #define FATAL 1 >> >> int main( int argc, char **argv ) >> { >> MPI_Comm client; >> MPI_Status status; >> char port_name[MPI_MAX_PORT_NAME]; >> double buf[MAX_DATA]; >> int size, again; >> >> MPI_Init( &argc, &argv ); >> MPI_Comm_size(MPI_COMM_WORLD, &size); >> if (size != 1) error(FATAL, errno, "Server too big"); >> MPI_Open_port(MPI_INFO_NULL, port_name); >> printf("server available at %s\n",port_name); >> >> while (1) >> { >> MPI_Comm_accept( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &client ); >> again = 1; >> >> while (again) >> { >> MPI_Recv( buf, MAX_DATA, MPI_DOUBLE, MPI_ANY_SOURCE, >> MPI_ANY_TAG, client, &status ); >> >> switch (status.MPI_TAG) >> { >> case 0: MPI_Comm_free( &client ); >> MPI_Close_port(port_name); >> MPI_Finalize(); >> return 0; >> case 1: MPI_Comm_disconnect( &client ); >> again = 0; >> break; >> case 2: /* do something */ >> fprintf( stderr, "Do something ...\n" ); >> default: >> /* Unexpected message type */ >> MPI_Abort( MPI_COMM_WORLD, 1 ); >> } >> } >> } >> } >> >> //CLIENT >> #include <string.h> >> #include "mpi.h" >> >> #define MAX_DATA 100 >> >> int main( int argc, char **argv ) >> { >> MPI_Comm server; >> double buf[MAX_DATA]; >> char port_name[MPI_MAX_PORT_NAME]; >> int done = 0, tag, n, CNT=0; >> >> MPI_Init( &argc, &argv ); >> strcpy(port_name, argv[1] ); /* assume server's name is cmd-line arg */ >> >> MPI_Comm_connect( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &server ); >> >> n = MAX_DATA; >> >> while (!done) >> { >> tag = 2; /* Action to perform */ >> if ( CNT == 5 ) { tag = 0; done = 1; } >> MPI_Send( buf, n, MPI_DOUBLE, 0, tag, server ); >> CNT++; >> /* etc */ >> } >> >> MPI_Send( buf, 0, MPI_DOUBLE, 0, 1, server ); >> MPI_Comm_disconnect( &server ); >> MPI_Finalize(); >> >> return 0; >> } >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users