diff --git a/ompi/communicator/comm_init.c b/ompi/communicator/comm_init.c index 3766fb2380dc264a5d5ae78a133701809971d1bd..ab1b87b190779e2771d3dda12d8b73b0d635f075 100644 --- a/ompi/communicator/comm_init.c +++ b/ompi/communicator/comm_init.c @@ -96,7 +96,7 @@ static void errorExit(char* msg) { } // TODO: Change int return to size_t! -static int getProcessAgentRank(uint32_t jobid, size_t size) { +static int getProcessAgentRank(uint32_t jobid, uint32_t vpid, size_t size) { struct sockaddr_un strAddr; socklen_t lenAddr; int fdSock; @@ -115,7 +115,9 @@ static int getProcessAgentRank(uint32_t jobid, size_t size) { pid_t pid = getpid(); char info_to_send[BUFFLEN]; - snprintf(info_to_send, BUFFLEN+1, "Spawned - PID: %d, jobID: %u, size: %zu", pid, jobid, size); + snprintf(info_to_send, BUFFLEN+1, + "Spawned - PID: %d, vpid: %u, jobID: %u, size: %zu", + pid, vpid, jobid, size); if (send(fdSock, info_to_send, BUFFLEN+1, 0) < 0) { errorExit("send"); } @@ -165,7 +167,7 @@ int ompi_comm_init(void) opal_process_name_t name = {.vpid = i, .jobid = OMPI_PROC_MY_NAME->jobid}; /* get desired rank from agent (must be within size!)*/ // TODO: Change int to size_t - size_t desired_rank = getProcessAgentRank(name.jobid, size); + size_t desired_rank = getProcessAgentRank(name.jobid, name.vpid, size); printf("INIT Loop Rank: %zu\n", desired_rank); /* look for existing ompi_proc_t that matches this name */ group->grp_proc_pointers[desired_rank] = (ompi_proc_t *) ompi_proc_lookup (name);