NixOS configuration for HPC cluster
https://docs.hpc.informatik.hs-fulda.de/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.0 KiB
110 lines
2.0 KiB
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, git
|
|
, autoconf
|
|
, automake
|
|
, gfortran
|
|
, perl
|
|
, python3
|
|
, flex
|
|
, libnl
|
|
, rdma-core
|
|
, zlib
|
|
, numactl
|
|
, libevent
|
|
, hwloc
|
|
, libpsm2
|
|
, libfabric
|
|
, libtool
|
|
, libbfd
|
|
, libiberty
|
|
, pmix
|
|
, ucx
|
|
, postgresql
|
|
, ...
|
|
}:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "edumpi";
|
|
version = "975c54";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AnnaLena77";
|
|
repo = "EduMPI";
|
|
rev = "b3a503462e261bc40a9191736e73ea9a2a19c219";
|
|
hash = "sha256-WZtMjyVMKj/bILJEIEXQAD0qGZgbgu1s1tGvjmzRI7g=";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
postPatch = ''
|
|
patchShebangs ./
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
autoconf
|
|
automake
|
|
perl
|
|
python3
|
|
gfortran
|
|
git
|
|
flex
|
|
];
|
|
|
|
buildInputs = [
|
|
zlib
|
|
libnl
|
|
numactl
|
|
pmix
|
|
ucx
|
|
libevent
|
|
hwloc
|
|
rdma-core
|
|
libpsm2
|
|
libfabric
|
|
libtool
|
|
libbfd
|
|
libiberty
|
|
postgresql
|
|
];
|
|
|
|
LIBS = "-lpq";
|
|
CFLAGS = "-DENABLE_ANALYSIS=1";
|
|
|
|
preConfigure = ''
|
|
./autogen.pl
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--disable-mca-dso"
|
|
"--with-libnl=${lib.getDev libnl}"
|
|
"--with-pmix=${lib.getDev pmix}"
|
|
"--with-pmix-libdir=${pmix}/lib"
|
|
"--with-psm2=${lib.getDev libpsm2}"
|
|
"--with-libfabric=${lib.getDev libfabric}"
|
|
"--with-libfabric-libdir=${libfabric}/lib"
|
|
];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
postInstall = ''
|
|
find $out/lib/ -name "*.la" -exec rm -f \{} \;
|
|
'';
|
|
|
|
#postFixup = ''
|
|
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
|
|
# $out/share/openmpi/mpicc-wrapper-data.txt
|
|
|
|
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc:' \
|
|
# $out/share/openmpi/ortecc-wrapper-data.txt
|
|
|
|
# sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \
|
|
# $out/share/openmpi/mpic++-wrapper-data.txt
|
|
|
|
# sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:' \
|
|
# $out/share/openmpi/mpifort-wrapper-data.txt
|
|
#'';
|
|
|
|
doCheck = true;
|
|
}
|
|
|