Move mpich to pkgs/mpich
This commit is contained in:
@@ -22,8 +22,9 @@ let
|
|||||||
intelPackages_2023 = callPackage ./intel-oneapi/2023.nix { };
|
intelPackages_2023 = callPackage ./intel-oneapi/2023.nix { };
|
||||||
jemallocNanos6 = callPackage ./nanos6/jemalloc.nix { };
|
jemallocNanos6 = callPackage ./nanos6/jemalloc.nix { };
|
||||||
#lmbench = callPackage ./lmbench/default.nix { }; # Broken
|
#lmbench = callPackage ./lmbench/default.nix { }; # Broken
|
||||||
mpi = final.mpich; # Set MPICH as default
|
|
||||||
mcxx = callPackage ./mcxx/default.nix { };
|
mcxx = callPackage ./mcxx/default.nix { };
|
||||||
|
mpi = final.mpich; # Set MPICH as default
|
||||||
|
mpich = callPackage ./mpich/default.nix { };
|
||||||
nanos6 = callPackage ./nanos6/default.nix { };
|
nanos6 = callPackage ./nanos6/default.nix { };
|
||||||
nanos6Debug = final.nanos6.override { enableDebug = true; };
|
nanos6Debug = final.nanos6.override { enableDebug = true; };
|
||||||
nixtools = callPackage ./nixtools/default.nix { };
|
nixtools = callPackage ./nixtools/default.nix { };
|
||||||
|
|||||||
39
pkgs/mpich/default.nix
Normal file
39
pkgs/mpich/default.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
mpich
|
||||||
|
, pmix
|
||||||
|
, libfabric
|
||||||
|
, gfortran
|
||||||
|
}:
|
||||||
|
|
||||||
|
# Configure the OFI network for MPICH
|
||||||
|
|
||||||
|
let
|
||||||
|
# pmix comes with the libraries in .out and headers in .dev
|
||||||
|
pmixAll = symlinkJoin {
|
||||||
|
name = "pmix-all";
|
||||||
|
paths = [ pmix.dev pmix.out ];
|
||||||
|
};
|
||||||
|
in mpich.overrideAttrs (old: {
|
||||||
|
patches = (old.patches or []) ++ [
|
||||||
|
# See https://github.com/pmodels/mpich/issues/6946
|
||||||
|
./mpich-fix-hwtopo.patch
|
||||||
|
];
|
||||||
|
# Configure the network for MPICH
|
||||||
|
buildInput = old.buildInputs ++ [
|
||||||
|
libfabric
|
||||||
|
pmixAll
|
||||||
|
];
|
||||||
|
configureFlags = [
|
||||||
|
"--enable-shared"
|
||||||
|
"--enable-sharedlib"
|
||||||
|
"--with-pm=no"
|
||||||
|
"--with-device=ch4:ofi"
|
||||||
|
"--with-pmi=pmix"
|
||||||
|
"--with-pmix=${pmixAll}"
|
||||||
|
"--with-libfabric=${libfabric}"
|
||||||
|
"--enable-g=log"
|
||||||
|
] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [
|
||||||
|
"FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300
|
||||||
|
"FCFLAGS=-fallow-argument-mismatch"
|
||||||
|
];
|
||||||
|
});
|
||||||
@@ -1,36 +1,5 @@
|
|||||||
final: prev:
|
final: prev:
|
||||||
{
|
{
|
||||||
# Configure the network for MPICH
|
|
||||||
mpich = with final; let
|
|
||||||
# pmix comes with the libraries in .out and headers in .dev
|
|
||||||
pmixAll = symlinkJoin {
|
|
||||||
name = "pmix-all";
|
|
||||||
paths = [ pmix.dev pmix.out ];
|
|
||||||
};
|
|
||||||
in prev.mpich.overrideAttrs (old: {
|
|
||||||
patches = (old.patches or []) ++ [
|
|
||||||
# See https://github.com/pmodels/mpich/issues/6946
|
|
||||||
./mpich-fix-hwtopo.patch
|
|
||||||
];
|
|
||||||
buildInput = old.buildInputs ++ [
|
|
||||||
libfabric
|
|
||||||
pmixAll
|
|
||||||
];
|
|
||||||
configureFlags = [
|
|
||||||
"--enable-shared"
|
|
||||||
"--enable-sharedlib"
|
|
||||||
"--with-pm=no"
|
|
||||||
"--with-device=ch4:ofi"
|
|
||||||
"--with-pmi=pmix"
|
|
||||||
"--with-pmix=${pmixAll}"
|
|
||||||
"--with-libfabric=${libfabric}"
|
|
||||||
"--enable-g=log"
|
|
||||||
] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [
|
|
||||||
"FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300
|
|
||||||
"FCFLAGS=-fallow-argument-mismatch"
|
|
||||||
];
|
|
||||||
});
|
|
||||||
|
|
||||||
slurm = prev.slurm.overrideAttrs (old: {
|
slurm = prev.slurm.overrideAttrs (old: {
|
||||||
patches = (old.patches or []) ++ [
|
patches = (old.patches or []) ++ [
|
||||||
# See https://bugs.schedmd.com/show_bug.cgi?id=19324
|
# See https://bugs.schedmd.com/show_bug.cgi?id=19324
|
||||||
|
|||||||
Reference in New Issue
Block a user