Archived
1
0
forked from rarias/bscpkgs

Add old SLURM, pmix and pmi2 versions

This commit is contained in:
2020-08-17 18:55:01 +02:00
parent 23fa7d8654
commit ecc01e4314
6 changed files with 281 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
, rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin
, libpsm2, libfabric
, libpsm2, libfabric, pmix, pmi2, ucx
# Enable CUDA support
, cudaSupport ? false, cudatoolkit ? null
@@ -22,7 +22,7 @@
assert !cudaSupport || cudatoolkit != null;
let
version = "4.0.3";
version = "4.0.4";
cudatoolkit_joined = symlinkJoin {
name = "${cudatoolkit.name}-unsplit";
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
src = with stdenv.lib.versions; fetchurl {
url = "https://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${pname}-${version}.tar.bz2";
sha256 = "00zxcw99gr5n693cmcmn4f6a47vx1ywna895p0x7p163v37gw0hl";
sha256 = "1i0slg2dxjdgw513aml1n9dsbdxn2fimi2b5712d5r9z4ar4xqj7";
};
postPatch = ''
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
'';
buildInputs = with stdenv; [ gfortran zlib ]
++ lib.optionals isLinux [ libnl numactl ]
++ lib.optionals isLinux [ libnl numactl pmix ucx ]
++ lib.optionals cudaSupport [ cudatoolkit ]
++ [ libevent hwloc ]
++ lib.optional (isLinux || isFreeBSD) rdma-core
@@ -58,8 +58,13 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ perl ];
configureFlags = with stdenv; lib.optional (!cudaSupport) "--disable-mca-dso"
++ lib.optional isLinux "--with-libnl=${libnl.dev}"
++ lib.optional enableSGE "--with-sge"
++ lib.optionals isLinux [
"--with-libnl=${libnl.dev}"
"--with-pmix=${pmix}"
"--with-pmix-libdir=${pmix}/lib"
"--with-pmi=${pmi2}"
"--with-pmi-libdir=${pmi2}/lib"
] ++ lib.optional enableSGE "--with-sge"
++ lib.optional enablePrefix "--enable-mpirun-prefix-by-default"
# TODO: add UCX support, which is recommended to use with cuda for the most robust OpenMPI build
# https://github.com/openucx/ucx