Update experiments with cpusPerTask

Try to avoid manually setting the hardware specs and rather use
the hw attrset.
This commit is contained in:
Rodrigo Arias 2020-11-17 11:17:57 +01:00
parent 641e752bd5
commit 5e50ef19fe
7 changed files with 22 additions and 12 deletions

View File

@ -29,22 +29,25 @@ let
# Generate the complete configuration for each unit
genConf = with bsc; c: targetMachine.config // rec {
expName = "creams-ss";
unitName = "${expName}-${toString nodes}-${gitBranch}";
inherit (targetMachine.config) hw;
# Options for creams
cc = icc;
mpi = impi;
inherit (c.input) granul;
inherit (c) gitBranch;
nprocz = 2 * nodes;
nprocz = hw.socketsPerNode * nodes;
# Repeat the execution of each unit 30 times
loops = 30;
# Resources
qos = "debug";
ntasksPerNode = 2;
ntasksPerNode = hw.socketsPerNode;
inherit (c.input) time nodes;
cpuBind = "socket,verbose";
jobName = "creams-ss-${toString nodes}-${gitBranch}";
cpusPerTask = hw.cpusPerSocket;
jobName = unitName;
};
# Compute the array of configurations

View File

@ -22,6 +22,9 @@ let
# Generate the complete configuration for each unit
genConf = with bsc; c: targetMachine.config // rec {
expName = "creams-ss";
unitName = "${expName}-${toString nodes}-${gitBranch}";
inherit (targetMachine.config) hw;
# Options for creams
cc = icc;
mpi = impi;
@ -36,8 +39,8 @@ let
qos = "debug";
ntasksPerNode = 48;
inherit (c.input) time nodes;
cpuBind = "rank,verbose";
jobName = "creams-ss-${toString nodes}-${gitBranch}";
cpusPerTask = hw.cpusPerSocket;
jobName = unitName;
};
# Compute the array of configurations

View File

@ -35,7 +35,7 @@ let
nodes = 1;
time = "02:00:00";
# Assign one socket to each task (only one process)
cpuBind = "verbose,sockets";
cpusPerTask = hw.cpusPerSocket;
jobName = unitName;
};

View File

@ -18,6 +18,7 @@ let
expName = "${c.expName}.gen";
unitName = "${expName}.n${toString n.x}";
inherit (targetMachine.config) hw;
# hpcg options
cc = bsc.icc;
mcxx = bsc.mcxx;
@ -36,7 +37,7 @@ let
nodes = 1;
time = "02:00:00";
# task in one socket
cpuBind = "verbose,mask_cpu:0xffffff";
cpusPerTask = hw.cpusPerSocket;
jobName = unitName;
};
@ -74,7 +75,7 @@ let
inputTre = genExp configs;
#inputExp = getExperimentStage inputTrebuchet;
#inputExp = trace inputTrebuchet inputTrebuchet.nextStage;
inputExp = trace (inputTre.name) (getExperimentStage inputTre);
inputExp = getExperimentStage inputTre;
# Then load the result. This is only used to ensure that we have the
# results, so it has been executed.
inputRes = resultFromTrebuchet inputTre;

View File

@ -24,6 +24,7 @@ let
expName = "hpcg.oss";
unitName = "${expName}.nb${toString nblocks}";
inherit (targetMachine.config) hw;
# hpcg options
n = c.n;
nblocks = c.nblocks;
@ -42,7 +43,7 @@ let
nodes = 1;
time = "02:00:00";
# task in one socket
cpuBind = "verbose,mask_cpu:0xffffff";
cpusPerTask = hw.cpusPerSocket;
jobName = "hpcg-${toString n.x}-${toString n.y}-${toString n.z}-${gitBranch}";
};

View File

@ -18,6 +18,7 @@ let
genConf = with bsc; c: targetMachine.config // rec {
expName = "saiph.granularity";
unitName = "${expName}.nbx-nby-nbz-${toString nbx}-${toString nby}-${toString nbz}";
inherit (targetMachine.config) hw;
# saiph options
nbx = c.nb;
@ -34,7 +35,7 @@ let
time = "00:30:00";
ntasksPerNode = 1;
nodes = 1;
cpuBind = "sockets,verbose";
cpusPerTask = hw.cpusPerSocket;
jobName = "${unitName}-${gitBranch}";
};

View File

@ -18,6 +18,7 @@ let
genConf = with bsc; c: targetMachine.config // rec {
expName = "saiph.numcomm";
unitName = "${expName}.nc-${toString numComm}";
inherit (targetMachine.config) hw;
# saiph options
inherit (c) numComm;
@ -32,7 +33,7 @@ let
time = "02:00:00";
ntasksPerNode = 2;
nodes = 1;
cpuBind = "sockets,verbose";
cpusPerTask = hw.cpusPerSocket;
jobName = "saiph-${toString numComm}-${gitBranch}";
};