131 lines
3.3 KiB
Nix
131 lines
3.3 KiB
Nix
{
|
|
super
|
|
, self
|
|
, bsc
|
|
, garlic
|
|
, callPackage
|
|
}:
|
|
|
|
{
|
|
nbody = rec {
|
|
baseline = callPackage ./nbody/nblocks.nix { };
|
|
|
|
# Experiment variants
|
|
small = baseline.override {
|
|
particles = 12 * 4096;
|
|
};
|
|
|
|
# Some experiments with traces
|
|
trace = {
|
|
# Only one unit repeated 30 times
|
|
baseline = small.override {
|
|
enableCTF = true;
|
|
loops = 30;
|
|
steps = 1;
|
|
};
|
|
|
|
};
|
|
|
|
scaling = callPackage ./nbody/scaling.nix {
|
|
particles = 12 * 4096;
|
|
};
|
|
};
|
|
|
|
saiph = {
|
|
granularity = callPackage ./saiph/granularity.nix { };
|
|
ss = callPackage ./saiph/ss.nix { };
|
|
};
|
|
|
|
creams = rec {
|
|
ss = callPackage ./creams/ss.nix { };
|
|
granularity = callPackage ./creams/granularity.nix { };
|
|
|
|
# These experiments are the extended versions of the previous
|
|
# ones. We split them so we can keep a reasonable execution time
|
|
big.granularity = granularity.override { enableExtended = true; };
|
|
big.ss = granularity.override { enableExtended = true; };
|
|
};
|
|
|
|
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 = rec {
|
|
granularity = callPackage ./heat/granularity.nix { };
|
|
cache = granularity.override { enablePerf = true; };
|
|
ctf = granularity.override { enableCTF = true; };
|
|
};
|
|
|
|
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 { };
|
|
sigsegv = callPackage ./slurm/sigsegv.nix { };
|
|
};
|
|
|
|
lulesh = {
|
|
test = callPackage ./lulesh/test.nix { };
|
|
};
|
|
|
|
fwi = rec {
|
|
granularity = callPackage ./fwi/granularity.nix { };
|
|
ss = callPackage ./fwi/ss.nix { };
|
|
reuse = callPackage ./fwi/reuse.nix { };
|
|
io = callPackage ./fwi/io.nix { };
|
|
|
|
# Extended experiments
|
|
big.io = io.override { enableExtended = true; };
|
|
};
|
|
|
|
osu = rec {
|
|
latency = callPackage ./osu/latency.nix { };
|
|
latencyShm = latency.override { interNode = false; };
|
|
latencyMt = latency.override { enableMultithread = true; };
|
|
latencyMtShm = latency.override { enableMultithread = true; interNode = true; };
|
|
bw = callPackage ./osu/bw.nix { };
|
|
impi = callPackage ./osu/impi.nix { };
|
|
bwShm = bw.override { interNode = false; };
|
|
mtu = callPackage ./osu/mtu.nix { };
|
|
eager = callPackage ./osu/eager.nix { };
|
|
};
|
|
|
|
examples = {
|
|
granularity = callPackage ./examples/granularity.nix { };
|
|
};
|
|
|
|
test = {
|
|
exit1 = callPackage ./test/exit1.nix { };
|
|
};
|
|
}
|