PSM2 is the only valid implementation for OmniPath (OPA). UCX also supports OmniPath, but it does so via Verbs, thus getting much lower performance (typically 3 GiB/s instead of 10 GiB/s). To work around that, give the mtl_psm2 component a higher priority than the pml_ucx component. See . --- openmpi-4.0.2/ompi/mca/mtl/psm2/mtl_psm2_component.c 2019-11-15 17:06:15.142076840 +0100 +++ openmpi-4.0.2/ompi/mca/mtl/psm2/mtl_psm2_component.c 2019-11-15 17:06:22.242009379 +0100 @@ -126,7 +126,7 @@ ompi_mtl_psm2_component_register(void) setenv("PSM2_DEVICES", "self,shm", 0); } - param_priority = 40; + param_priority = 55; (void) mca_base_component_var_register (&mca_mtl_psm2_component.super.mtl_version, "priority", "Priority of the PSM2 MTL component", MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, Likewise for PSM: we want InfiniPath to be taken care of by PSM, not by UCX, since UCX achieves worse performance. --- openmpi-4.0.2/ompi/mca/mtl/psm/mtl_psm_component.c +++ openmpi-4.0.2/ompi/mca/mtl/psm/mtl_psm_component.c @@ -92,7 +92,7 @@ ompi_mtl_psm_component_register(void) /* set priority high enough to beat ob1's default */ - param_priority = 30; + param_priority = 54; (void) mca_base_component_var_register (&mca_mtl_psm_component.super.mtl_version, "priority", "Priority of the PSM MTL component", MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, 'qt'>
path: root/nix/libstore
AgeCommit message (Expand)Author
2021-04-09daemon: 'guix substitute' replies on FD 4....This avoids the situation where error messages would unintentionally go to stderr and be wrongfully interpreted as a reply by the daemon. Fixes <https://bugs.gnu.org/46362>. This is a followup to ee3226e9d54891c7e696912245e4904435be191c. * guix/scripts/substitute.scm (display-narinfo-data): Add 'port' parameter and honor it. (process-query): Likewise. (process-substitution): Likewise. (%error-to-file-descriptor-4?, with-redirected-error-port): Remove. (%reply-file-descriptor): New variable. (guix-substitute): Remove use of 'with-redirected-error-port'. Define 'reply-port' and pass it to 'process-query' and 'process-substitution'. * nix/libstore/build.cc (SubstitutionGoal::handleChildOutput): Swap 'builderOut' and 'fromAgent'. * nix/libstore/local-store.cc (LocalStore::getLineFromSubstituter): Likewise. * tests/substitute.scm <top level>: Set '%reply-file-descriptor' rather than '%error-to-file-descriptor-4?'. Ludovic Courtès
2021-03-18daemon: Prevent privilege escalation with '--keep-failed' [security]....Fixes <https://bugs.gnu.org/47229>. Reported by Nathan Nye of WhiteBeam Security. * nix/libstore/build.cc (DerivationGoal::startBuilder): When 'useChroot' is true, add "/top" to 'tmpDir'. (DerivationGoal::deleteTmpDir): Adjust accordingly. When 'settings.keepFailed' is true, chown in two steps: first the "/top" sub-directory, and then rename "/top" to its parent. Ludovic Courtès