@@ -535,6 +535,10 @@ static int ompi_mpi_instance_init_common (int argc, char **argv)
535
535
return ompi_instance_print_error ("mca_pml_base_select() failed" , ret );
536
536
}
537
537
538
+ if (OMPI_SUCCESS != (ret = ompi_osc_base_find_available (OPAL_ENABLE_PROGRESS_THREADS , ompi_mpi_thread_multiple ))) {
539
+ return ompi_instance_print_error ("ompi_osc_base_find_available() failed" , ret );
540
+ }
541
+
538
542
OMPI_TIMING_IMPORT_OPAL ("orte_init" );
539
543
OMPI_TIMING_NEXT ("rte_init-commit" );
540
544
@@ -616,10 +620,6 @@ static int ompi_mpi_instance_init_common (int argc, char **argv)
616
620
return ompi_instance_print_error ("mca_coll_base_find_available() failed" , ret );
617
621
}
618
622
619
- if (OMPI_SUCCESS != (ret = ompi_osc_base_find_available (OPAL_ENABLE_PROGRESS_THREADS , ompi_mpi_thread_multiple ))) {
620
- return ompi_instance_print_error ("ompi_osc_base_find_available() failed" , ret );
621
- }
622
-
623
623
/* io and topo components are not selected here -- see comment
624
624
above about the io and topo frameworks being loaded lazily */
625
625
@@ -653,7 +653,8 @@ static int ompi_mpi_instance_init_common (int argc, char **argv)
653
653
return ompi_instance_print_error ("ompi_attr_create_predefined_keyvals() failed" , ret );
654
654
}
655
655
656
- if (mca_pml_base_requires_world ()) {
656
+ if (mca_pml_base_requires_world () ||
657
+ mca_osc_base_requires_world ()) {
657
658
/* need to set up comm world for this instance -- XXX -- FIXME -- probably won't always
658
659
* be the case. */
659
660
if (OMPI_SUCCESS != (ret = ompi_comm_init_mpi3 ())) {
@@ -702,7 +703,8 @@ static int ompi_mpi_instance_init_common (int argc, char **argv)
702
703
/* some btls/mtls require we call add_procs with all procs in the job.
703
704
* since the btls/mtls have no visibility here it is up to the pml to
704
705
* convey this requirement */
705
- if (mca_pml_base_requires_world ()) {
706
+ if (mca_pml_base_requires_world () ||
707
+ mca_osc_base_requires_world ()) {
706
708
if (NULL == (procs = ompi_proc_world (& nprocs ))) {
707
709
return ompi_instance_print_error ("ompi_proc_get_allocated () failed" , ret );
708
710
}
0 commit comments