Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

Intel MPI nameserver

Victor_E_1
Beginner
1,636 Views

I'm able to find the `I_MPI_HYDRA_NAMESERVER` environment variable, but I'm not succeeding in using it. Do I need to start a server daemon?

 

 

 

  char
    port_name[] = "exampleport",
    service_name[] = "exampleservice";
  if (world_p==0) {
    MPI_Comm intercomm;
    MPI_Publish_name( service_name, MPI_INFO_NULL, port_name );
    printf("Name published\n");
    MPI_Unpublish_name( service_name, MPI_INFO_NULL, port_name );
  } else {
    MPI_Lookup_name( service_name,MPI_INFO_NULL,port_name );
  }

 

 

 

Gives:

 

 

 

[c210-008 c:3] export I_MPI_HYDRA_NAMESERVER=`hostname`:8000
[c210-008 c:4] make publishbug && mpiexec.hydra -n 2 publishbug
make: `publishbug' is up to date.
[mpiexec@c210-008.frontera.tacc.utexas.edu] HYD_sock_connect (../../../../../src/pm/i_hydra/libhydra/sock/hydra_sock_intel.c:228): Retrying connection, retry_count=1, retries=0
[mpiexec@c210-008.frontera.tacc.utexas.edu] HYD_sock_connect (../../../../../src/pm/i_hydra/libhydra/sock/hydra_sock_intel.c:243): unable to connect from "c210-008.frontera.tacc.utexas.edu" to "c210-008.frontera.tacc.utexas.edu" (Connection refused)
[mpiexec@c210-008.frontera.tacc.utexas.edu] mpiexec_connect_to_nameserver (../../../../../src/pm/i_hydra/mpiexec/mpiexec_utils.c:425): unable to connect to nameserver
[mpiexec@c210-008.frontera.tacc.utexas.edu] mpiexec_publish_name (../../../../../src/pm/i_hydra/mpiexec/mpiexec_utils.c:499): unable to connect to nameserver
[mpiexec@c210-008.frontera.tacc.utexas.edu] control_cb (../../../../../src/pm/i_hydra/mpiexec/mpiexec.c:1484): error publishing service
[mpiexec@c210-008.frontera.tacc.utexas.edu] HYDI_dmx_poll_wait_for_event (../../../../../src/pm/i_hydra/libhydra/demux/hydra_demux_poll.c:80): callback returned error status
[mpiexec@c210-008.frontera.tacc.utexas.edu] main (../../../../../src/pm/i_hydra/mpiexec/mpiexec.c:2019): error waiting for event

 

 

Labels (1)
0 Kudos
3 Replies
SantoshY_Intel
Moderator
1,606 Views

Hi Victor,

 

Thanks for reaching us.

>> Do I need to start a server daemon?

-- Yes, We need to start hydra nameserver by using the below command:

~$ hydra_nameserver &

--Instead of directly giving port number use MPI_Open_port() to get the port number and use that in MPI_Publish_name()

--Later You can use the command below :

~$ make publishbug && I_MPI_HYDRA_NAMESERVER=`hostname` mpiexec.hydra -n 2 publishbug

 

For a sample code of client and server refer to client.cpp and server.cpp in the below Github repository: 

https://github.com/SteffenSeckler/MPI_Connect_Test

 

Thanks & Regards

Santosh 

 

 

0 Kudos
SantoshY_Intel
Moderator
1,554 Views

Hi,


Has the solution provided helped? Please let us know if the issue still persists.


Regards,

Santosh


0 Kudos
SantoshY_Intel
Moderator
1,508 Views

Hi Victor,


I have not heard back from you. We assume that your issue is resolved. If you need any additional information, please submit a new question as this thread will no longer be monitored.


Thanks & Regards,

Santosh


0 Kudos
Reply