On Apr 10, 2018, at 9:03 AM, Michael Di Domenico <mdidomeni...@gmail.com> wrote: > >> We've actually been arguing about exactly how to do this for quite a while. >> It's complicated (I can explain further, if you care). :-\ > > i have no doubt its complicated. i'm not overly interested in the > detail, but others i'm sure might be.
The crux of the issue is that there can be/are multiple ways to reach the same underlying transport via Open MPI. E.g., you can use InfiniBand via the openib BTL, the UCX PML, the Yalla PML, the hcoll collectives, ...etc. This results in a challenging UI issue: how do you have a simple yet flexible UI that allows users to choose *which* way they want to reach a given underlying transport, and for which cases? We have the "mca" run-time parameters, and it's quite flexible. But it's not simple for end users, especially if you don't know Open MPI's myriad of underlying framework and component names. > but my users will complain and ask questions. Understood / agreed. > achieving a single build binary where i can disable the > interconnects/libraries at runtime would be HIGHLY beneficial to me > (perhaps others as well). it cuts my build version combinations from > like 12 to 4 (or less), that's a huge reduction in labour/maintenance. > which also means i can upgrade openmpi quicker and stay more up to > date. Understood. >> That being said, I think we *do* have a workaround that might be good enough >> for you: disable those warnings about plugins not being able to be opened: >> mpirun --mca mca_component_show_load_errors 0 ... > > disabled this: mca_base_component_repository_open: unable to open > mca_oob_ud: libibverbs.so.1 > but not this: pmix_mca_base_component_repository_open: unable to open > mca_pnet_opa: libpsm2.so.2 Ahh, missed that one. Short version: set the environment variable PMIX_MCA_mca_component_show_load_errors=0, too. More detail: We actually embed the PMIx library in Open MPI. PMIx was derived from some of the core guts of Open MPI (including the MCA parameter/run-time variable system), so it has its own MCA params. They propagate *slightly* differently then OMPI (for reasons that aren't interesting here), so you can't use "--mca foo bar" to set them on the mpirun command line. But you can set an env variable, like I showed above, and it should do the trick for you. But this raises an interesting point: we should be automatically setting this PMIX variable for you based on Open MPI's mca_component_show_load_errors' value. I filed https://github.com/open-mpi/ompi/pull/5049 to get this into a future release. -- Jeff Squyres jsquy...@cisco.com _______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users