2020-12-07 13:33:42 +01:00
|
|
|
{
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
};
|
2021-02-03 12:49:17 +01:00
|
|
|
|
|
|
|
scaling = callPackage ./nbody/scaling.nix {
|
|
|
|
particles = 12 * 4096;
|
|
|
|
};
|
2020-12-07 13:33:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
saiph = {
|
|
|
|
numcomm = callPackage ./saiph/numcomm.nix { };
|
|
|
|
granularity = callPackage ./saiph/granularity.nix { };
|
|
|
|
};
|
|
|
|
|
2021-03-30 15:55:57 +02:00
|
|
|
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; };
|
2020-12-07 13:33:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2021-03-09 18:45:33 +01:00
|
|
|
heat = rec {
|
2021-03-05 18:28:32 +01:00
|
|
|
granul = callPackage ./heat/granul.nix { };
|
2021-03-09 18:45:33 +01:00
|
|
|
cache = granul.override { enablePerf = true; };
|
2021-03-12 12:13:10 +01:00
|
|
|
ctf = cache.override { enableCTF = true; };
|
2020-12-07 13:33:42 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
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 { };
|
|
|
|
};
|
2021-01-28 14:59:14 +01:00
|
|
|
|
|
|
|
lulesh = {
|
|
|
|
test = callPackage ./lulesh/test.nix { };
|
|
|
|
};
|
2021-02-23 15:22:56 +01:00
|
|
|
|
2021-03-01 11:55:13 +01:00
|
|
|
osu = rec {
|
2021-02-23 15:22:56 +01:00
|
|
|
latency = callPackage ./osu/latency.nix { };
|
2021-03-01 11:55:13 +01:00
|
|
|
latencyShm = latency.override { interNode = false; };
|
|
|
|
latencyMt = latency.override { enableMultithread = true; };
|
|
|
|
latencyMtShm = latency.override { enableMultithread = true; interNode = true; };
|
2021-03-01 11:58:23 +01:00
|
|
|
bw = callPackage ./osu/bw.nix { };
|
2021-03-03 12:33:59 +01:00
|
|
|
impi = callPackage ./osu/impi.nix { };
|
2021-03-01 11:58:23 +01:00
|
|
|
bwShm = bw.override { interNode = false; };
|
2021-02-23 15:22:56 +01:00
|
|
|
};
|
2021-03-12 19:33:40 +01:00
|
|
|
|
|
|
|
examples = {
|
|
|
|
granularity = callPackage ./examples/granularity.nix { };
|
|
|
|
};
|
2020-12-07 13:33:42 +01:00
|
|
|
}
|