diff --git a/ompi/communicator/comm_init.c b/ompi/communicator/comm_init.c index 195fb8eba0a3c3e4e0d35a003e2064734d476825..1fb3295c2304263430b33416d5a799b4d7be156a 100644 --- a/ompi/communicator/comm_init.c +++ b/ompi/communicator/comm_init.c @@ -53,7 +53,6 @@ #include "ompi/dpm/dpm.h" #include "ompi/memchecker.h" -#define SOCKET_PATH "/home/beach/Dokumente/Uni/Informatik_BA/Bachelorarbeit_MPI/sockets_mpi_test/socket" #define FD_STDIN 0 #define BUFFLEN 64 @@ -106,7 +105,11 @@ static int getProcessAgentRank(uint32_t jobid, uint32_t vpid, size_t size) { } strAddr.sun_family=AF_LOCAL; /* Unix domain */ - strcpy(strAddr.sun_path, SOCKET_PATH); + const char * socket_path = getenv("DPM_AGENT_SOCKET"); // check for success + if (NULL == socket_path) { + errorExit("Could not find DPM_AGENT_SOCKET env"); + } + strcpy(strAddr.sun_path, socket_path); lenAddr=sizeof(strAddr.sun_family)+strlen(strAddr.sun_path); if (connect(fdSock, (struct sockaddr*)&strAddr, lenAddr) !=0 ) { errorExit("connect"); diff --git a/rank-swapper-agent/client.sh b/rank-swapper-agent/client.sh index 50f1a093fcef685c236547f4fcbbe06971a31f17..249f6e8181850d3f3cd1735d6a4bd59449ab41d9 100755 --- a/rank-swapper-agent/client.sh +++ b/rank-swapper-agent/client.sh @@ -1,6 +1,7 @@ #!/bin/bash export OMPI=/home/openmpi-install +export DPM_AGENT_SOCKET=$OMPI/dpm_socket_socket export PATH=$PATH:$OMPI/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMPI/bin diff --git a/rank-swapper-agent/hello_c.c b/rank-swapper-agent/hello_c.c index 4693db3eb76df6b9ac72db49269c4998f9b2646a..c010612fa3f9df9e5823d70bbc468d3d2f462141 100644 --- a/rank-swapper-agent/hello_c.c +++ b/rank-swapper-agent/hello_c.c @@ -15,7 +15,6 @@ #include "mpi.h" -#define SOCKET_PATH "/home/ompi/openmpi-rank-swapper-agent/socket" #define BUFFLEN 64 /* Spawn Modes (dynamic job spawning): diff --git a/rank-swapper-agent/locserv.c b/rank-swapper-agent/locserv.c index 1628c9e213ff8989e5ddfff0d4579ce0a4720a93..eae21803b332cbec2cc389f20925424569461269 100644 --- a/rank-swapper-agent/locserv.c +++ b/rank-swapper-agent/locserv.c @@ -23,7 +23,6 @@ #include <time.h> #include <unistd.h> -#define SOCKET_PATH "/home/ompi/openmpi-rank-swapper-agent/socket" #define MAX_CONNECTIONS 10 #define RANK_STR_LEN 8 #define BUFFLEN 64 @@ -134,10 +133,15 @@ int main(void) { if ((fdSock=socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { errorExit("socket"); } - - unlink (SOCKET_PATH); /* Sicherstellung, daß SOCKET_PATH nicht existiert */ + + // create unix domain socket in the installation directory of OpenMPI + const char * socket_path = getenv("DPM_AGENT_SOCKET"); // check for success + if (NULL == socket_path) { + errorExit("Could not find DPM_AGENT_SOCKET env"); + } + unlink (socket_path); /* Make sure that socket_path does not exist yet */ strAddr.sun_family=AF_LOCAL; /* Unix Domain */ - strcpy(strAddr.sun_path, SOCKET_PATH); + strcpy(strAddr.sun_path, socket_path); lenAddr=sizeof(strAddr.sun_family)+strlen(strAddr.sun_path); if (bind(fdSock, (struct sockaddr*)&strAddr, lenAddr) != 0) { errorExit("bind"); diff --git a/rank-swapper-agent/server.sh b/rank-swapper-agent/server.sh index 2f2bdcdf5cad1c7f6d55370f8b93d44e3523869a..563310e0b6e25784aad1b76b95f129882b663d21 100755 --- a/rank-swapper-agent/server.sh +++ b/rank-swapper-agent/server.sh @@ -1,3 +1,5 @@ #!/bin/bash +export OMPI=/home/openmpi-install +export DPM_AGENT_SOCKET=$OMPI/dpm_socket_socket ./locserv