Rodrigo Arias Mallo
4786953eeb
The callPackage function was trying to find packages in bsc.self before the self of the input parameters.
138 lines
3.5 KiB
Nix
138 lines
3.5 KiB
Nix
{
|
|
super
|
|
, self
|
|
, bsc
|
|
, callPackage
|
|
}:
|
|
|
|
{
|
|
develop = let
|
|
commonPackages = with self; [
|
|
coreutils htop procps-ng vim which strace
|
|
tmux gdb kakoune universal-ctags bashInteractive
|
|
glibcLocales ncurses git screen curl
|
|
# Add more nixpkgs packages here...
|
|
];
|
|
bscPackages = with bsc; [
|
|
slurm clangOmpss2 icc mcxx perf tampi impi
|
|
# Add more bsc packages here...
|
|
];
|
|
packages = commonPackages ++ bscPackages;
|
|
in
|
|
bsc.garlic.stages.exec rec {
|
|
nextStage = bsc.garlic.stages.isolate {
|
|
nextStage = bsc.garlic.unsafeDevelop.override {
|
|
extraInputs = packages;
|
|
};
|
|
nixPrefix = bsc.garlic.targetMachine.config.nixPrefix;
|
|
extraMounts = [ "/tmp:$TMPDIR" ];
|
|
};
|
|
nixPrefix = bsc.garlic.targetMachine.config.nixPrefix;
|
|
# This hack uploads all dependencies to MN4
|
|
pre = let
|
|
nixPrefix = bsc.garlic.targetMachine.config.nixPrefix;
|
|
stageProgram = bsc.garlicTools.stageProgram;
|
|
in
|
|
''
|
|
# Hack to upload this to MN4: @upload-to-mn@
|
|
|
|
# Create a link to the develop script
|
|
ln -fs ${nixPrefix}${stageProgram nextStage} .nix-develop
|
|
'';
|
|
post = "\n";
|
|
};
|
|
|
|
unsafeDevelop = callPackage ./develop/default.nix { };
|
|
|
|
# Configuration for the machines
|
|
machines = callPackage ./machines.nix { };
|
|
|
|
report = callPackage ./report.nix {
|
|
fig = bsc.garlic.fig;
|
|
};
|
|
|
|
sedReport = callPackage ./sedReport.nix {
|
|
fig = bsc.garlic.fig;
|
|
};
|
|
|
|
bundleReport = callPackage ./bundleReport.nix {
|
|
fig = bsc.garlic.fig;
|
|
};
|
|
|
|
reportTar = callPackage ./reportTar.nix {
|
|
fig = bsc.garlic.fig;
|
|
};
|
|
|
|
# Use the configuration for the following target machine
|
|
targetMachine = bsc.garlic.machines.mn4;
|
|
|
|
# Load some helper functions to generate app variants
|
|
|
|
stdexp = callPackage ./stdexp.nix {
|
|
inherit (bsc.garlic) targetMachine stages pp;
|
|
};
|
|
|
|
# Execution stages
|
|
stages = {
|
|
sbatch = callPackage ./stages/sbatch.nix { };
|
|
srun = callPackage ./stages/srun.nix { };
|
|
control = callPackage ./stages/control.nix { };
|
|
exec = callPackage ./stages/exec.nix { };
|
|
script = callPackage ./stages/script.nix { };
|
|
extrae = callPackage ./stages/extrae.nix { };
|
|
valgrind = callPackage ./stages/valgrind.nix { };
|
|
perf = callPackage ./stages/perf.nix { };
|
|
isolate = callPackage ./stages/isolate { };
|
|
runexp = callPackage ./stages/runexp { };
|
|
trebuchet = callPackage ./stages/trebuchet.nix { };
|
|
strace = callPackage ./stages/strace.nix { };
|
|
unit = callPackage ./stages/unit.nix { };
|
|
experiment = callPackage ./stages/experiment.nix { };
|
|
};
|
|
|
|
# Tests (move to bsc ?)
|
|
mpptest = callPackage ./mpptest { };
|
|
|
|
ppong = callPackage ./ppong {
|
|
mpi = bsc.mpi;
|
|
};
|
|
|
|
hist = callPackage ./pp/hist { };
|
|
|
|
tool = callPackage ./sh/default.nix {
|
|
sshHost = "mn1";
|
|
};
|
|
|
|
# Post processing
|
|
pp = {
|
|
store = callPackage ./pp/store.nix { };
|
|
rPlot = callPackage ./pp/rplot.nix { };
|
|
mergeDatasets = callPackage ./pp/merge.nix { };
|
|
};
|
|
|
|
garlicd = callPackage ./garlicd/default.nix {
|
|
garlicTool = bsc.garlic.tool;
|
|
};
|
|
|
|
# Apps for Garlic
|
|
apps = callPackage ./apps/index.nix {
|
|
inherit self super bsc;
|
|
};
|
|
|
|
# Experiments
|
|
exp = callPackage ./exp/index.nix {
|
|
inherit self super bsc;
|
|
};
|
|
|
|
# Dataset generators from resultTree
|
|
ds = callPackage ./ds/index.nix {
|
|
inherit self super bsc;
|
|
};
|
|
|
|
# Figures generated from the datasets
|
|
fig = callPackage ./fig/index.nix {
|
|
inherit self super bsc;
|
|
};
|
|
|
|
}
|