diff --git a/garlic/cpic/default.nix b/garlic/apps/cpic/default.nix similarity index 100% rename from garlic/cpic/default.nix rename to garlic/apps/cpic/default.nix diff --git a/garlic/creams/default.nix b/garlic/apps/creams/default.nix similarity index 100% rename from garlic/creams/default.nix rename to garlic/apps/creams/default.nix diff --git a/garlic/creams/input.nix b/garlic/apps/creams/input.nix similarity index 100% rename from garlic/creams/input.nix rename to garlic/apps/creams/input.nix diff --git a/garlic/fwi/default.nix b/garlic/apps/fwi/default.nix similarity index 100% rename from garlic/fwi/default.nix rename to garlic/apps/fwi/default.nix diff --git a/garlic/heat/default.nix b/garlic/apps/heat/default.nix similarity index 100% rename from garlic/heat/default.nix rename to garlic/apps/heat/default.nix diff --git a/garlic/hpccg/default.nix b/garlic/apps/hpccg/default.nix similarity index 100% rename from garlic/hpccg/default.nix rename to garlic/apps/hpccg/default.nix diff --git a/garlic/hpcg/default.nix b/garlic/apps/hpcg/default.nix similarity index 100% rename from garlic/hpcg/default.nix rename to garlic/apps/hpcg/default.nix diff --git a/garlic/hpcg/tampi.patch b/garlic/apps/hpcg/tampi.patch similarity index 100% rename from garlic/hpcg/tampi.patch rename to garlic/apps/hpcg/tampi.patch diff --git a/garlic/lulesh/default.nix b/garlic/apps/lulesh/default.nix similarity index 100% rename from garlic/lulesh/default.nix rename to garlic/apps/lulesh/default.nix diff --git a/garlic/nbody/default.nix b/garlic/apps/nbody/default.nix similarity index 100% rename from garlic/nbody/default.nix rename to garlic/apps/nbody/default.nix diff --git a/garlic/ppong/default.nix b/garlic/apps/ppong/default.nix similarity index 100% rename from garlic/ppong/default.nix rename to garlic/apps/ppong/default.nix diff --git a/garlic/saiph/default.nix b/garlic/apps/saiph/default.nix similarity index 100% rename from garlic/saiph/default.nix rename to garlic/apps/saiph/default.nix diff --git a/garlic/exp/nbody/test.nix b/garlic/exp/nbody/test.nix index e5e72ed..c280c07 100644 --- a/garlic/exp/nbody/test.nix +++ b/garlic/exp/nbody/test.nix @@ -59,7 +59,7 @@ let bsc = super.bsc // { mpi = conf.mpi; }; }); in - customPkgs.garlic.nbody.override { + customPkgs.apps.nbody.override { inherit cc blocksize mpi gitBranch; }; @@ -71,5 +71,4 @@ let in - elemAt units 0 - #buildExperiment units + stdexp.buildExperiment units diff --git a/garlic/machines.nix b/garlic/machines.nix index 197f49d..77df966 100644 --- a/garlic/machines.nix +++ b/garlic/machines.nix @@ -7,6 +7,7 @@ mn4 = { config = { name = "mn4"; + sshHosts = [ "mn1" "mn2" "mn3" ]; nixPrefix = "/gpfs/projects/bsc15/nix"; cachelineBytes = 64; march = "skylake-avx512"; diff --git a/garlic/mkDerivation.nix b/garlic/mkDerivation.nix deleted file mode 100644 index 31b3e02..0000000 --- a/garlic/mkDerivation.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ lib }: - -let inherit (lib) optional; in - -mkDerivation: - -args: - -let - args_ = { - - enableParallelBuilding = args.enableParallelBuilding or true; - - hardeningDisable = [ "all" ]; - - }; -in - -mkDerivation (args // args_) diff --git a/garlic/nbody/argv.nix b/garlic/nbody/argv.nix deleted file mode 100644 index c4528c6..0000000 --- a/garlic/nbody/argv.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - stdenv -, particles -, timestamps -, program -, config -}: - -stdenv.mkDerivation { - inherit program; - - passthru = { - inherit config; - }; - - name = "${program.name}-argv"; - preferLocalBuild = true; - phases = [ "installPhase" ]; - dontPatchShebangs = true; - installPhase = '' - mkdir -p $out/bin - cat > $out/bin/run <; genPkgs = newOverlay: nixpkgs { overlays = [ diff --git a/overlay.nix b/overlay.nix index fbba8e3..8aa7249 100644 --- a/overlay.nix +++ b/overlay.nix @@ -143,6 +143,8 @@ let garlicTools = callPackage ./garlic/tools.nix {}; garlic = { + # TODO: move into garlic/default.nix + # Configuration for the machines machines = callPackage ./garlic/machines.nix {}; @@ -151,51 +153,54 @@ let # Load some helper functions to generate app variants - stdexp = callPackage ./garlic/exp/stdexp.nix { + stdexp = callPackage ./garlic/stdexp.nix { inherit (self.garlic) targetMachine stages; }; # Apps for Garlic -# heat = callPackage ./garlic/heat { -# stdenv = pkgs.gcc7Stdenv; -# mpi = intel-mpi; -# tampi = tampi; -# }; -# - creams = callPackage ./garlic/creams { - gnuDef = self.gfortran10 ; # Default GNU compiler version - intelDef = self.bsc.icc ; # Default Intel compiler version - gitBranch = "garlic/mpi+send+seq"; + apps = { + creams = callPackage ./garlic/apps/creams/default.nix { + gnuDef = self.gfortran10 ; # Default GNU compiler version + intelDef = self.bsc.icc ; # Default Intel compiler version - cc = self.bsc.icc; # self.bsc.icc OR self.gfortran10; - mpi = self.bsc.mpi; # self.bsc.mpi OR self.bsc.openmpi-mn4; - }; + gitBranch = "garlic/mpi+send+seq"; - creamsInput = callPackage ./garlic/creams/input.nix { - gitBranch = "garlic/mpi+send+seq"; - }; + cc = self.bsc.icc; # self.bsc.icc OR self.gfortran10; + mpi = self.bsc.mpi; # self.bsc.mpi OR self.bsc.openmpi-mn4; + }; -# lulesh = callPackage ./garlic/lulesh { -# mpi = intel-mpi; -# }; -# -# hpcg = callPackage ./garlic/hpcg { }; -# -# hpccg = callPackage ./garlic/hpccg { }; -# -# fwi = callPackage ./garlic/fwi { }; + creamsInput = callPackage ./garlic/apps/creams/input.nix { + gitBranch = "garlic/mpi+send+seq"; + }; - nbody = callPackage ./garlic/nbody { - cc = self.bsc.icc; - mpi = self.bsc.mpi; - tampi = self.bsc.tampi; - mcxx = self.bsc.mcxx; - gitBranch = "garlic/seq"; - }; + nbody = callPackage ./garlic/apps/nbody/default.nix { + cc = self.bsc.icc; + mpi = self.bsc.mpi; + tampi = self.bsc.tampi; + mcxx = self.bsc.mcxx; + gitBranch = "garlic/seq"; + }; - saiph = callPackage ./garlic/saiph/default.nix { - cc = self.bsc.clangOmpss2; + saiph = callPackage ./garlic/apps/saiph/default.nix { + cc = self.bsc.clangOmpss2; + }; + +# heat = callPackage ./garlic/apps/heat { +# stdenv = pkgs.gcc7Stdenv; +# mpi = intel-mpi; +# tampi = tampi; +# }; +# +# lulesh = callPackage ./garlic/apps/lulesh { +# mpi = intel-mpi; +# }; +# +# hpcg = callPackage ./garlic/apps/hpcg { }; +# +# hpccg = callPackage ./garlic/apps/hpccg { }; +# +# fwi = callPackage ./garlic/apps/fwi { }; }; # Execution stages @@ -317,9 +322,8 @@ in { bsc = bsc; - # Alias + # Aliases garlic = bsc.garlic; - - # Alias exp = bsc.garlic.exp; + apps = bsc.garlic.apps; }