Add BigSort MPI+OpenMP

This commit is contained in:
David Alvarez 2020-11-16 19:21:18 +01:00 committed by Rodrigo Arias Mallo
parent e8f649327a
commit 37bd4c33f2
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,51 @@
{
stdenv
, cc
, nanos6 ? null
, mcxx ? null
, mpi
, gitBranch
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "bigsort";
src = builtins.fetchGit {
url = "ssh://git@bscpm02.bsc.es/dalvare1/bigsort.git";
ref = "${gitBranch}";
};
#sourceRoot = "./BigSort";
preBuild = ''
cd BigSort
export I_MPI_CXX=${cc.cc.CXX}
'';
buildInputs = [
cc
mpi
]
++ optional (mcxx != null) mcxx
++ optional (nanos6 != null) nanos6;
makeFlags = [
"CC=${cc.cc.CC}"
"CXX=${cc.cc.CXX}"
"CPP_BIN=mpicxx"
"CLUSTER=MareNostrum4"
"OPENMP=yes"
"Debug=no"
"OPENMP_FLAGS=-qopenmp"
];
enableParallelBuilding = true;
installPhase = ''
mkdir -p $out/bin
cp bigsort $out/bin/BigSort
'';
programPath = "/bin/BigSort";
}

View File

@ -246,6 +246,12 @@ let
gitBranch = "garlic/oss";
};
bigsort = callPackage ./garlic/apps/bigsort/default.nix {
cc = self.bsc.icc;
mpi = self.bsc.mpi;
gitBranch = "garlic/mpi+send+omp+task";
};
heat = callPackage ./garlic/apps/heat/default.nix { };
# heat = callPackage ./garlic/apps/heat/default.nix {
# # FIXME: The heat program must be able to compile with gcc9 and newer