guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: openmpi: Raise the priority of the PSM2 component.


From: guix-commits
Subject: 02/02: gnu: openmpi: Raise the priority of the PSM2 component.
Date: Fri, 15 Nov 2019 11:28:18 -0500 (EST)

civodul pushed a commit to branch wip-mpi
in repository guix.

commit 7385c3bf36d1dec20433cb7d2cbdf27dae77565e
Author: Ludovic Courtès <address@hidden>
Date:   Fri Nov 15 17:15:05 2019 +0100

    gnu: openmpi: Raise the priority of the PSM2 component.
    
    This allows us to get better performance by default on machines with
    OmniPath hardware.
    
    * gnu/packages/patches/openmpi-psm2-priority.patch: New file.
    * gnu/packages/mpi.scm (openmpi)[source]: Use it.
    * gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                     |  1 +
 gnu/packages/mpi.scm                             |  3 ++-
 gnu/packages/patches/openmpi-psm2-priority.patch | 21 +++++++++++++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 2513b40..5d52cc8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1189,6 +1189,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch      \
   %D%/packages/patches/openfoam-4.1-cleanup.patch                      \
   %D%/packages/patches/openjdk-10-idlj-reproducibility.patch   \
+  %D%/packages/patches/openmpi-psm2-priority.patch             \
   %D%/packages/patches/openocd-nrf52.patch                     \
   %D%/packages/patches/opensmtpd-fix-crash.patch               \
   %D%/packages/patches/openssl-runpath.patch                   \
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index cb0d303..8d523d9 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -174,7 +174,8 @@ bind processes, and much more.")
                           (version-major+minor version)
                           "/downloads/openmpi-" version ".tar.bz2"))
       (sha256
-       (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh"))))
+       (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh"))
+      (patches (search-patches "openmpi-psm2-priority.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("hwloc" ,hwloc-2 "lib")
diff --git a/gnu/packages/patches/openmpi-psm2-priority.patch 
b/gnu/packages/patches/openmpi-psm2-priority.patch
new file mode 100644
index 0000000..d9dd558
--- /dev/null
+++ b/gnu/packages/patches/openmpi-psm2-priority.patch
@@ -0,0 +1,21 @@
+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 <https://www.mail-archive.com/address@hidden/msg33581.html>.
+
+--- 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,
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]