Testing nbody blocksize with impi
Weird run times with srun: Two exceed 20%. Relative times: 0.998649 0.998936 0.999409 1.00018 1.00191 0.998684 0.998936 0.999432 1.00041 1.00222 0.998776 0.999065 0.999527 1.00126 1.0024 0.998786 0.999084 0.999558 1.00138 1.00242 0.998856 0.999102 0.999727 1.00155 1.25585 0.998895 0.9992 0.999849 1.0018 1.27138
This commit is contained in:
parent
cfa5187988
commit
09c2b9005a
@ -17,14 +17,18 @@ let
|
||||
# Set the configuration for the experiment
|
||||
config = {
|
||||
cc = [ bsc.icc ];
|
||||
blocksize = [ 1024 2048 4096 8192 ];
|
||||
blocksize = [ 1024 ];
|
||||
};
|
||||
|
||||
extraConfig = {
|
||||
particles = 16384;
|
||||
gitBranch = "garlic/mpi+send";
|
||||
mpi = bsc.impi;
|
||||
particles = 1024*128;
|
||||
timesteps = 10;
|
||||
ntasks = 1;
|
||||
nnodes = 1;
|
||||
ntasksPerNode = "48";
|
||||
nodes = "1";
|
||||
time = "02:00:00";
|
||||
qos = "debug";
|
||||
};
|
||||
|
||||
# Compute the cartesian product of all configurations
|
||||
@ -32,11 +36,11 @@ let
|
||||
filteredConfigs = with builtins; filter (c: c.blocksize <= 4096) allConfigs;
|
||||
configs = map (conf: conf // extraConfig) filteredConfigs;
|
||||
|
||||
sbatch = conf: app: sbatchWrapper {
|
||||
sbatch = conf: app: with conf; sbatchWrapper {
|
||||
app = app;
|
||||
nixPrefix = "/gpfs/projects/bsc15/nix";
|
||||
exclusive = false;
|
||||
ntasks = "${toString conf.ntasks}";
|
||||
exclusive = true;
|
||||
inherit ntasksPerNode nodes time qos;
|
||||
};
|
||||
|
||||
srun = app: srunWrapper {
|
||||
@ -48,20 +52,25 @@ let
|
||||
with conf;
|
||||
argvWrapper {
|
||||
app = app;
|
||||
env = ''
|
||||
set -e
|
||||
export I_MPI_THREAD_SPLIT=1
|
||||
'';
|
||||
argv = ''(-t ${toString timesteps} -p ${toString particles})'';
|
||||
};
|
||||
|
||||
nbodyFn = conf:
|
||||
with conf;
|
||||
nbody.override { inherit cc blocksize; };
|
||||
nbody.override { inherit cc mpi blocksize gitBranch; };
|
||||
|
||||
pipeline = conf:
|
||||
sbatch conf (
|
||||
srun (
|
||||
nixsetupWrapper (
|
||||
controlWrapper (
|
||||
srun (
|
||||
nixsetupWrapper (
|
||||
argv conf (
|
||||
nbodyFn conf)))));
|
||||
nbodyFn conf))))));
|
||||
|
||||
# Ideally it should look like this:
|
||||
#pipeline = sbatch nixsetup control argv nbodyFn;
|
||||
|
Loading…
Reference in New Issue
Block a user