Skip to content
Snippets Groups Projects

Fix rank modification

Merged felixkhals requested to merge bugfix/rank_manipulation into master
1 file
+ 6
13
Compare changes
  • Side-by-side
  • Inline
@@ -197,14 +197,6 @@ static int get_modified_ranks(uint32_t jobid, uint32_t vpid, size_t size, opal_v
@@ -197,14 +197,6 @@ static int get_modified_ranks(uint32_t jobid, uint32_t vpid, size_t size, opal_v
free(rank_to_recv);
free(rank_to_recv);
// // Print modified_ranks array for debugging purposes
// printf("modified_ranks: [");
// for (size_t i = 0; i < size; i++) {
// printf("%u", modified_ranks[i]);
// if (i+1 < size) printf(", ");
// }
// printf("]\n");
close(socket_fd);
close(socket_fd);
return 0;
return 0;
@@ -246,14 +238,15 @@ int ompi_comm_init(void)
@@ -246,14 +238,15 @@ int ompi_comm_init(void)
get_modified_ranks(OMPI_PROC_MY_NAME->jobid, OMPI_PROC_MY_NAME->vpid, size, modified_ranks);
get_modified_ranks(OMPI_PROC_MY_NAME->jobid, OMPI_PROC_MY_NAME->vpid, size, modified_ranks);
for (size_t i = 0 ; i < size ; ++i) {
for (size_t i = 0 ; i < size ; ++i) {
opal_process_name_t name = {.vpid = modified_ranks[i], .jobid = OMPI_PROC_MY_NAME->jobid};
opal_vpid_t modified_rank = modified_ranks[i];
 
opal_process_name_t name = {.vpid = i, .jobid = OMPI_PROC_MY_NAME->jobid};
/* look for existing ompi_proc_t that matches this name */
/* look for existing ompi_proc_t that matches this name */
group->grp_proc_pointers[i] = (ompi_proc_t *) ompi_proc_lookup (name);
group->grp_proc_pointers[modified_rank] = (ompi_proc_t *) ompi_proc_lookup (name);
if (NULL == group->grp_proc_pointers[i]) {
if (NULL == group->grp_proc_pointers[modified_rank]) {
/* set sentinel value */
/* set sentinel value */
group->grp_proc_pointers[i] = (ompi_proc_t *) ompi_proc_name_to_sentinel (name);
group->grp_proc_pointers[modified_rank] = (ompi_proc_t *) ompi_proc_name_to_sentinel (name);
} else {
} else {
OBJ_RETAIN (group->grp_proc_pointers[i]);
OBJ_RETAIN (group->grp_proc_pointers[modified_rank]);
}
}
}
}
Loading