From eeffd96dbd1fa95190b1e48022ff46fd3faf94cd Mon Sep 17 00:00:00 2001 From: Gabriella Gonzalez Date: Sun, 22 Dec 2024 12:40:45 -0800 Subject: [PATCH] openmpi: build against external `prrte` on all platforms `openmpi` can build against either an external `prrte` or its own vendored `prrte`. This change prefers using the external `prrte` built by Nixpkgs on all platform (including Darwin, now that the `prrte` build is enabled on all platforms) --- pkgs/by-name/op/openmpi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/op/openmpi/package.nix b/pkgs/by-name/op/openmpi/package.nix index 7fcca51c739e..719247b58a43 100644 --- a/pkgs/by-name/op/openmpi/package.nix +++ b/pkgs/by-name/op/openmpi/package.nix @@ -85,6 +85,7 @@ stdenv.mkDerivation (finalAttrs: { zlib libevent hwloc + prrte ] ++ lib.optionals stdenv.hostPlatform.isLinux [ libnl @@ -92,7 +93,6 @@ stdenv.mkDerivation (finalAttrs: { pmix ucx ucc - prrte ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ] ++ lib.optionals (stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isFreeBSD) [ rdma-core ] @@ -119,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: { "--with-pmix=${lib.getDev pmix}" "--with-pmix-libdir=${lib.getLib pmix}/lib" # Puts a "default OMPI_PRTERUN" value to mpirun / mpiexec executables - (lib.withFeatureAs stdenv.hostPlatform.isLinux "prrte" (lib.getBin prrte)) + (lib.withFeatureAs true "prrte" (lib.getBin prrte)) (lib.withFeature enableSGE "sge") (lib.enableFeature enablePrefix "mpirun-prefix-by-default") # TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build