ifsker: initial version
This commit is contained in:
parent
266fffdb5f
commit
eb4adf9520
50
garlic/apps/ifsker/default.nix
Normal file
50
garlic/apps/ifsker/default.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
stdenv
|
||||
, mpi
|
||||
, gfortran
|
||||
, tampi
|
||||
, nanos6
|
||||
, mcxx
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ifsker";
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "ssh://git@bscpm02.bsc.es/ksala/ifsker.git";
|
||||
ref = "master";
|
||||
};
|
||||
|
||||
buildInputs = [ tampi mpi nanos6 mcxx gfortran ];
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
# Mercurium seems to fail when building with fortran in parallel
|
||||
enableParallelBuilding = false;
|
||||
|
||||
# FIXME: Patch mcxx to use other directory than $HOME for the lock
|
||||
# files.
|
||||
preConfigure = ''
|
||||
export TAMPI_HOME=${tampi}
|
||||
|
||||
# $HOME is required for the lock files by mcxx to compile fortran.
|
||||
# So we use the $TMPDIR to store them.
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"-f" "Makefile.gcc"
|
||||
];
|
||||
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp *.bin $out/bin/
|
||||
'';
|
||||
|
||||
# TODO: Split the app into variants
|
||||
programPath = "/bin/03.ifsker.mpi.ompss2.tasks.bin";
|
||||
|
||||
}
|
@ -308,6 +308,8 @@ let
|
||||
variant = "ompss-2";
|
||||
};
|
||||
|
||||
ifsker = callPackage ./garlic/apps/ifsker/default.nix { };
|
||||
|
||||
# heat = callPackage ./garlic/apps/heat/default.nix {
|
||||
# # FIXME: The heat program must be able to compile with gcc9 and newer
|
||||
# stdenv = self.gcc7Stdenv;
|
||||
|
Loading…
Reference in New Issue
Block a user