diff --git a/pkgs/development/libraries/libfabric/default.nix b/pkgs/development/libraries/libfabric/default.nix index baa33a51eef9..35ad72f8c7e9 100644 --- a/pkgs/development/libraries/libfabric/default.nix +++ b/pkgs/development/libraries/libfabric/default.nix @@ -1,9 +1,18 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, libpsm2 -, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) }: +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, autoreconfHook +, enablePsm2 ? (stdenv.isx86_64 && stdenv.isLinux) +, libpsm2 +, enableOpx ? (stdenv.isx86_64 && stdenv.isLinux) +, libuuid +, numactl +}: stdenv.mkDerivation rec { pname = "libfabric"; - version = "1.15.1"; + version = "1.17.0"; enableParallelBuilding = true; @@ -11,14 +20,17 @@ stdenv.mkDerivation rec { owner = "ofiwg"; repo = pname; rev = "v${version}"; - sha256 = "sha256-uL3L9k9yqdZXQmR1zi8OEIGLAZ8cf7EBnlDhetaMA08="; + sha256 = "sha256-tXfAn8hkasA2UuA4/8dOE3EcORyJo/A33TtSNdzDXD8="; }; nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = lib.optional enablePsm2 libpsm2; + buildInputs = lib.optionals enableOpx [ libuuid numactl ] ++ lib.optional enablePsm2 [ libpsm2 ]; - configureFlags = [ (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") ]; + configureFlags = [ + (if enablePsm2 then "--enable-psm2=${libpsm2}" else "--disable-psm2") + (if enableOpx then "--enable-opx" else "--disable-opx") + ]; meta = with lib; { homepage = "https://ofiwg.github.io/libfabric/"; diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 51194a36798f..1a9a5deb0d9a 100644 --- a/pkgs/development/libraries/openmpi/default.nix +++ b/pkgs/development/libraries/openmpi/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gfortran, perl, libnl +{ lib, stdenv, fetchurl, fetchpatch, gfortran, perl, libnl , rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin , libpsm2, libfabric, pmix, ucx @@ -32,6 +32,14 @@ in stdenv.mkDerivation rec { sha256 = "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj"; }; + patches = [ + (fetchpatch { + name = "RDMA-osc-perform-CAS-in-shared-memory-if-possible.patch"; + url = "https://github.com/open-mpi/ompi/pull/10513/commits/0512c135a77a0278e5288e0e119dce24c95ebed4.patch"; + sha256 = "sha256-K1Gc+hBUkTPY1WqLP6JWo623EUhkoL4ONrqPVDNfFuE="; + }) + ]; + postPatch = '' patchShebangs ./