diff --git a/garlic/exp/default.nix b/garlic/exp/default.nix
deleted file mode 100644
index 79e775b..0000000
--- a/garlic/exp/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- pkgs
-, callPackage
-, callPackages
-}:
-
-let
-
- garlic = {
-
- # Load some helper functions to generate app variants
- inherit (import ./gen.nix) genApps genApp genConfigs;
-
- mpptest = callPackage ./mpptest { };
-
- ppong = callPackage ./ppong {
- mpi = pkgs.mpi;
- };
-
- nbody = callPackage ./nbody {
- cc = pkgs.icc;
- mpi = pkgs.impi;
- tampi = pkgs.tampi;
- gitBranch = "garlic/seq";
- };
-
- runWrappers = {
- sbatch = callPackage ./stages/sbatch.nix { };
- srun = callPackage ./stages/srun.nix { };
- launch = callPackage ./stages/launcher.nix { };
- control = callPackage ./stages/control.nix { };
- nixsetup= callPackage ./stages/nix-setup.nix { };
- argv = callPackage ./stages/argv.nix { };
- statspy = callPackage ./stages/statspy.nix { };
- extrae = callPackage ./stages/extrae.nix { };
- stagen = callPackage ./stages/stagen.nix { };
- };
-
- # Perf is tied to a linux kernel specific version
- linuxPackages = pkgs.linuxPackages_4_4;
- perfWrapper = callPackage ./perf.nix {
- perf = pkgs.linuxPackages.perf;
- };
-
- exp = {
- noise = callPackage ./exp/noise.nix { };
- nbody = {
- bs = callPackage ./exp/nbody/bs.nix {
- pkgs = pkgs // garlic;
- };
- mpi = callPackage ./exp/nbody/mpi.nix { };
- };
- osu = rec {
- latency-internode = callPackage ./exp/osu/latency.nix { };
- latency-intranode = callPackage ./exp/osu/latency.nix {
- interNode = false;
- };
- latency = latency-internode;
- };
- };
- };
-
-in
- garlic
diff --git a/garlic/exp/noise.nix b/garlic/exp/noise.nix
deleted file mode 100644
index b3e9444..0000000
--- a/garlic/exp/noise.nix
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- bsc
-, stdenv
-, nbody
-, genApp
-, genConfigs
-, runWrappers
-}:
-
-with stdenv.lib;
-
-let
- # Set variable configuration for the experiment
- varConfig = {
- cc = [ bsc.icc ];
- blocksize = [ 1024 ];
- };
-
- # Common configuration
- common = {
- # Compile time nbody config
- gitBranch = "garlic/mpi+send";
- mpi = bsc.impi;
-
- # nbody runtime options
- particles = 1024*128;
- timesteps = 20;
- loops = 1000;
-
- # Resources
- ntasksPerNode = "48";
- nodes = "1";
-
- # Stage configuration
- enableSbatch = true;
- enableControl = true;
- enableExtrae = false;
- enablePerf = false;
-
- # MN4 path
- nixPrefix = "/gpfs/projects/bsc15/nix";
- };
-
- # Compute the cartesian product of all configurations
- configs = map (conf: conf // common) (genConfigs varConfig);
-
- stageProgram = stage:
- if stage ? programPath
- then "${stage}${stage.programPath}" else "${stage}";
-
- w = runWrappers;
-
- sbatch = {stage, conf, ...}: with conf; w.sbatch {
- program = stageProgram stage;
- exclusive = true;
- time = "02:00:00";
- qos = "debug";
- jobName = "nbody-bs";
- inherit nixPrefix nodes ntasksPerNode;
- };
-
- control = {stage, conf, ...}: with conf; w.control {
- program = stageProgram stage;
- inherit loops;
- };
-
- srun = {stage, conf, ...}: with conf; w.srun {
- program = stageProgram stage;
- srunOptions = "--cpu-bind=verbose,rank";
- inherit nixPrefix;
- };
-
- statspy = {stage, conf, ...}: with conf; w.statspy {
- program = stageProgram stage;
- };
-
- perf = {stage, conf, ...}: with conf; w.perf {
- program = stageProgram stage;
- perfArgs = "sched record -a";
- };
-
- nixsetup = {stage, conf, ...}: with conf; w.nixsetup {
- program = stageProgram stage;
- };
-
- extrae = {stage, conf, ...}: w.extrae {
- program = stageProgram stage;
- traceLib = "mpi"; # mpi -> libtracempi.so
- configFile = ./extrae.xml;
- };
-
- argv = {stage, conf, ...}: w.argv {
- program = stageProgram stage;
- env = ''
- set -e
- export I_MPI_THREAD_SPLIT=1
- '';
- argv = ''( -t ${toString conf.timesteps}
- -p ${toString conf.particles} )'';
- };
-
- nbodyFn = {stage, conf, ...}: with conf; nbody.override {
- inherit cc blocksize mpi gitBranch;
- };
-
- stages = with common; []
- # Use sbatch to request resources first
- ++ optional enableSbatch sbatch
-
- # Repeats the next stages N times
- ++ optionals enableControl [ nixsetup control ]
-
- # Executes srun to launch the program in the requested nodes, and
- # immediately after enters the nix environment again, as slurmstepd launches
- # the next stages from outside the namespace.
- ++ [ srun nixsetup ]
-
- # Intrumentation with extrae
- ++ optional enableExtrae extrae
-
- # Optionally profile the next stages with perf
- ++ optional enablePerf perf
-
- # Execute the nbody app with the argv and env vars
- ++ [ argv nbodyFn ];
-
- # List of actual programs to be executed
- jobs = map (conf: w.stagen { inherit conf stages; }) configs;
-
-in
- # We simply run each program one after another
- w.launch jobs
diff --git a/garlic/exp/test/extrae.xml b/garlic/exp/test/extrae.xml
deleted file mode 100644
index b9af29b..0000000
--- a/garlic/exp/test/extrae.xml
+++ /dev/null
@@ -1,211 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1-3
-
- 1-5
-
- 1-3
-
- 1-3
-
- 1-3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PAPI_TOT_INS,PAPI_TOT_CYC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TRACE
-
- 5
-
- /scratch
-
- /gpfs/scratch/bsc41/bsc41273
-
-
-
-
-
- 5000000
-
-
-
-
-
-
-
- /gpfs/scratch/bsc41/bsc41273/control
-
-
-
-
-
-
- 10M
-
-
-
-
-
-
-
-
-
-
- 500u
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/garlic/exp/test/rw.nix b/garlic/exp/test/rw.nix
deleted file mode 100644
index b4aa73a..0000000
--- a/garlic/exp/test/rw.nix
+++ /dev/null
@@ -1,180 +0,0 @@
-{
- stdenv
-, nixpkgs
-, pkgs
-, genApp
-, genConfigs
-, runWrappers
-}:
-
-with stdenv.lib;
-
-let
- bsc = pkgs.bsc;
-
- # Set variable configuration for the experiment
- varConfig = {
- cc = [ bsc.icc ];
- mpi = [ bsc.impi ];
- blocksize = [ 1024 ];
- };
-
- # Common configuration
- common = {
-
- # nbody runtime options
- particles = 1024*4;
- timesteps = 10;
-
- # Resources
- ntasksPerNode = "2";
- nodes = "2";
-
- # Stage configuration
- enableRunexp = true;
- enableSbatch = true;
- enableControl = true;
- enableExtrae = false;
- enablePerf = false;
- enableCtf = false;
-
- # MN4 path
- nixPrefix = "/gpfs/projects/bsc15/nix";
- };
-
- # Compute the cartesian product of all configurations
- configs = map (conf: conf // common) (genConfigs varConfig);
-
- stageProgram = stage:
- if stage ? programPath
- then "${stage}${stage.programPath}" else "${stage}";
-
- w = runWrappers;
-
- sbatch = {stage, conf, ...}: with conf; w.sbatch (
- # Allow a user to define a custom reservation for the job in MareNostrum4,
- # by setting the garlic.sbatch.reservation attribute in the
- # ~/.config/nixpkgs/config.nix file. If the attribute is not set, no
- # reservation is used. The user reservation may be overwritten by the
- # experiment, if the reservation is set like with nodes or ntasksPerNode.
- optionalAttrs (pkgs.config ? garlic.sbatch.reservation) {
- inherit (pkgs.config.garlic.sbatch) reservation;
- } // {
- program = stageProgram stage;
- exclusive = true;
- time = "02:00:00";
- qos = "debug";
- jobName = "nbody-tampi";
- inherit nixPrefix nodes ntasksPerNode;
- }
- );
-
- control = {stage, conf, ...}: with conf; w.control {
- program = stageProgram stage;
- };
-
- srun = {stage, conf, ...}: with conf; w.srun {
- program = stageProgram stage;
- srunOptions = "--cpu-bind=verbose,socket";
- inherit nixPrefix;
- };
-
- statspy = {stage, conf, ...}: with conf; w.statspy {
- program = stageProgram stage;
- };
-
- perf = {stage, conf, ...}: with conf; w.perf {
- program = stageProgram stage;
- perfArgs = "sched record -a";
- };
-
- isolate = {stage, conf, ...}: with conf; w.isolate {
- program = stageProgram stage;
- clusterName = "mn4";
- inherit nixPrefix;
- };
-
- extrae = {stage, conf, ...}: w.extrae {
- program = stageProgram stage;
- traceLib = "mpi"; # mpi -> libtracempi.so
- configFile = ./extrae.xml;
- };
-
- ctf = {stage, conf, ...}: w.argv {
- program = stageProgram stage;
- env = ''
- export NANOS6=ctf
- export NANOS6_CTF2PRV=0
- '';
- };
-
- argv = {stage, conf, ...}: w.argv {
- program = "${pkgs.coreutils}/bin/true";
- env = ''
- set -x
- pwd
- echo hi > hi
- '';
- };
-
- bscOverlay = import ../../../overlay.nix;
-
- genPkgs = newOverlay: nixpkgs {
- overlays = [
- bscOverlay
- newOverlay
- ];
- };
-
- launch = w.launch.override {
- nixPrefix = common.nixPrefix;
- };
-
- stages = with common; []
- # Launch the experiment remotely
- #++ optional enableRunexp runexp
-
- # Use sbatch to request resources first
- ++ optional enableSbatch sbatch
-
- # Repeats the next stages N times
- ++ optionals enableControl [ isolate control ]
-
- # Executes srun to launch the program in the requested nodes, and
- # immediately after enters the nix environment again, as slurmstepd launches
- # the next stages from outside the namespace.
- ++ [ srun isolate ]
-
- # Intrumentation with extrae
- ++ optional enableExtrae extrae
-
- # Optionally profile the next stages with perf
- ++ optional enablePerf perf
-
- # Optionally profile nanos6 with the new ctf
- ++ optional enableCtf ctf
-
- ++ [ argv ];
-
- # List of actual programs to be executed
- jobs = map (conf: w.stagen { inherit conf stages; }) configs;
-
- launcher = launch jobs;
-
- runexp = stage: w.runexp {
- program = stageProgram stage;
- nixPrefix = common.nixPrefix;
- };
-
- isolatedRun = stage: isolate {
- inherit stage;
- conf = common;
- };
-
- final = runexp (isolatedRun launcher);
-
-
-in
- # We simply run each program one after another
- #launch jobs
- final
diff --git a/overlay.nix b/overlay.nix
index 6280e65..a205878 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -243,25 +243,6 @@ let
hybrid = callPackage ./garlic/exp/creams/ss+hybrid.nix { };
};
};
-
- osu = rec {
- latency-internode = callPackage ./garlic/exp/osu/latency.nix { };
- latency-intranode = callPackage ./garlic/exp/osu/latency.nix {
- interNode = false;
- };
- latency = latency-internode;
- };
-
- test = {
- rw = callPackage ./garlic/exp/test/rw.nix {
- pkgs = self // self.bsc.garlic;
- nixpkgs = import ;
- genApp = self.bsc.garlic.genApp;
- genConfigs = self.bsc.garlic.genConfigs;
- stages = self.bsc.garlic.stages;
- };
-# mpi = callPackage ./bsc/garlic/exp/nbody/mpi.nix { };
- };
};
};