48 lines
1.6 KiB
Diff
48 lines
1.6 KiB
Diff
|
commit 923ca7c6424d0cf0b5139be316b651d54d90d5f5
|
||
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||
|
Date: Wed Mar 28 11:17:17 2018 +0200
|
||
|
|
||
|
fix rdma component selection
|
||
|
|
||
|
Github issue#4976
|
||
|
bsc#1087031
|
||
|
|
||
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||
|
|
||
|
diff --git ompi/mca/osc/rdma/osc_rdma_component.c ompi/mca/osc/rdma/osc_rdma_component.c
|
||
|
index 45da5aafab4d..9cb8535683c1 100644
|
||
|
--- ompi/mca/osc/rdma/osc_rdma_component.c
|
||
|
+++ ompi/mca/osc/rdma/osc_rdma_component.c
|
||
|
@@ -355,6 +355,8 @@ static int ompi_osc_rdma_component_query (struct ompi_win_t *win, void **base, s
|
||
|
int flavor)
|
||
|
{
|
||
|
|
||
|
+ int rc;
|
||
|
+
|
||
|
if (MPI_WIN_FLAVOR_SHARED == flavor) {
|
||
|
return -1;
|
||
|
}
|
||
|
@@ -368,15 +370,18 @@ static int ompi_osc_rdma_component_query (struct ompi_win_t *win, void **base, s
|
||
|
}
|
||
|
#endif /* OPAL_CUDA_SUPPORT */
|
||
|
|
||
|
- if (OMPI_SUCCESS == ompi_osc_rdma_query_mtls ()) {
|
||
|
+ rc = ompi_osc_rdma_query_mtls ();
|
||
|
+ rc = comm->c_coll->coll_allreduce(MPI_IN_PLACE, &rc, 1, MPI_INT, MPI_MIN, comm, comm->c_coll->coll_allreduce_module);
|
||
|
+ if (OMPI_SUCCESS == rc) {
|
||
|
return 5; /* this has to be lower that osc pt2pt default priority */
|
||
|
}
|
||
|
-
|
||
|
- if (OMPI_SUCCESS != ompi_osc_rdma_query_btls (comm, NULL)) {
|
||
|
+
|
||
|
+ rc = ompi_osc_rdma_query_btls (comm, NULL);
|
||
|
+ rc = comm->c_coll->coll_allreduce(MPI_IN_PLACE, &rc, 1, MPI_INT, MPI_MIN, comm, comm->c_coll->coll_allreduce_module);
|
||
|
+ if (OMPI_SUCCESS != rc) {
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
-
|
||
|
return mca_osc_rdma_component.priority;
|
||
|
}
|
||
|
|