bscpkgs/garlic/exp/index.nix

94 lines
2.2 KiB
Nix
Raw Normal View History

{
super
, self
, bsc
, garlic
, callPackage
}:
{
nbody = rec {
baseline = callPackage ./nbody/nblocks.nix { };
# Experiment variants
small = baseline.override {
particles = 12 * 4096;
};
# TODO: Update freeCpu using a non-standard pipeline
#freeCpu = baseline.override { freeCpu = true; };
jemalloc = baseline.override { enableJemalloc = true; };
# Some experiments with traces
trace = {
# Only one unit repeated 30 times
baseline = small.override {
enableCTF = true;
loops = 30;
steps = 1;
};
# Same but with jemalloc enabled
jemalloc = trace.baseline.override {
enableJemalloc = true;
};
};
};
saiph = {
numcomm = callPackage ./saiph/numcomm.nix { };
granularity = callPackage ./saiph/granularity.nix { };
};
creams = {
ss = {
pure = callPackage ./creams/ss+pure.nix { };
hybrid = callPackage ./creams/ss+hybrid.nix { };
};
};
hpcg = rec {
#serial = callPackage ./hpcg/serial.nix { };
#mpi = callPackage ./hpcg/mpi.nix { };
#omp = callPackage ./hpcg/omp.nix { };
#mpi_omp = callPackage ./hpcg/mpi+omp.nix { };
#input = callPackage ./hpcg/gen.nix {
# inherit (bsc.garlic.pp) resultFromTrebuchet;
#};
genInput = callPackage ./hpcg/gen.nix {
inherit (bsc.garlic.pp) resultFromTrebuchet;
};
oss = callPackage ./hpcg/oss.nix {
inherit genInput;
};
};
heat = {
test = callPackage ./heat/test.nix { };
};
bigsort = rec {
genseq = callPackage ./bigsort/genseq.nix {
n = toString (1024 * 1024 * 1024 / 8); # 1 GB input size
dram = toString (1024 * 1024 * 1024); # 1 GB chunk
};
shuffle = callPackage ./bigsort/shuffle.nix {
inputTre = genseq;
n = toString (1024 * 1024 * 1024 / 8); # 1 GB input size
dram = toString (1024 * 1024 * 1024); # 1 GB chunk
inherit (bsc.garlic.pp) resultFromTrebuchet;
};
sort = callPackage ./bigsort/sort.nix {
inputTre = shuffle;
inherit (bsc.garlic.pp) resultFromTrebuchet;
removeOutput = false;
};
};
slurm = {
cpu = callPackage ./slurm/cpu.nix { };
};
}