Some additional info:
In the same environment, if I do this in the server:
MPI_Open_port(MPI_INFO_NULL, port_name);
printf("server available at %s\n", port_name);
and give the printed port_name to the client, then
the client can connect correctly:
MPI_Comm_connect( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD,
&server );
to the server:
MPI_Comm_accept( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD,
&client );
So my LAM MPI is not entirely unaware of MPI dynamic processes.
Only my call to MPI_Lookup_name() crashes. BTW,
I am using lam-7.0.6.
Please help!
Thanks,
-Lei
Lei_at_ICS wrote:
>Hi,
>
>I ran the following code:
>
> char port_name[MPI_MAX_PORT_NAME];
> int status;
>
> MPI_Init( &argc, &argv );
>
> status = MPI_Lookup_name("MPI_SERVER1", MPI_INFO_NULL, port_name);
>
> if (status != MPI_SUCCESS) {
> printf("****** MPI Server not up yet. \n");
> }
>
>Since MPI_SERVER1 is not published, I expect the error
>message to be printed. Indeed, it is printed, but from a
>crash:
>pan_at_scalable-quality% mpirun -np 1 client
>MPI_Lookup_name: publishing service: name is not published (rank 0,
>MPI_COMM_WORLD)
>Rank (0, MPI_COMM_WORLD): Call stack within LAM:
>Rank (0, MPI_COMM_WORLD): - MPI_Lookup_name()
>Rank (0, MPI_COMM_WORLD): - main()
>-----------------------------------------------------------------------------
>One of the processes started by mpirun has exited with a nonzero exit
>
>What made the process crash with correct error message?
>What is wrong with my way of using MPI_Lookup_name?
>In order to use MPI dynamic processes, do I need to build LAM
>with a special option?
>
>Your prompt help is very much appreciated!
>
>Thanks,
>
>-Lei
>
>_______________________________________________
>This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
>
|