bscpkgs/bsc/garlic/exp/nbody/bs.nix

42 lines
784 B
Nix
Raw Normal View History

2020-08-10 21:27:46 +08:00
{
bsc
, nbody
, genApp
, genConfigs
, sbatch
, launcher
2020-08-11 18:05:43 +08:00
, control
, nixsetup
2020-08-10 21:27:46 +08:00
}:
let
# Set the configuration for the experiment
config = {
cc = [ bsc.icc ];
blocksize = [ 1024 2048 4096 ];
};
# Compute the cartesian product of all configurations
configList = genConfigs config;
# Generate each app variant via override
appList = genApp nbody configList;
# Job generator helper function
genJobs = map (app:
sbatch {
2020-08-11 18:05:43 +08:00
app = (nixsetup (control app));
nixPrefix = "/gpfs/projects/bsc15/nix";
2020-08-10 21:27:46 +08:00
exclusive = false;
ntasks = "1";
chdirPrefix = "/home/bsc15/bsc15557/bsc-nixpkgs/out";
2020-08-10 21:27:46 +08:00
}
);
# Generate one job for each app variant
jobList = genJobs appList;
# And execute them all
main = launcher jobList;
2020-08-10 21:27:46 +08:00
in
main