fwi: merge io experiments into one file
The enableExtended parameter control if the experiment runs with multiple nodes or only one.
This commit is contained in:
parent
99beac9b23
commit
6422741cb7
@ -1,9 +1,9 @@
|
||||
# Strong scaling test for FWI variants based on tasks with and without I/O.
|
||||
# Test FWI variants based on tasks with and without I/O.
|
||||
# This experiment solves a computationally expensive input which brings the
|
||||
# storage devices to saturation when I/O is enabled. the same input us run
|
||||
# without I/O for comparison purposes.. Also, the experiments are runt for a
|
||||
# range of block sizes deemed as efficient according to the granularity
|
||||
# experiment.
|
||||
# storage devices to saturation when I/O is enabled. The same input runs
|
||||
# without I/O for comparison purposes. Also, a range of block sizes
|
||||
# deemed as efficient according to the granularity experiment are
|
||||
# explored.
|
||||
|
||||
{
|
||||
stdenv
|
||||
@ -12,6 +12,7 @@
|
||||
, targetMachine
|
||||
, stages
|
||||
, callPackage
|
||||
, enableExtended ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
@ -24,13 +25,10 @@ let
|
||||
|
||||
# Initial variable configuration
|
||||
varConf = {
|
||||
gitBranch = [
|
||||
"garlic/tampi+send+oss+task"
|
||||
];
|
||||
|
||||
gitBranch = [ "garlic/tampi+send+oss+task" ];
|
||||
blocksize = [ 1 2 4 8 ];
|
||||
n = [ {nx=500; nz=500; ny=16000;} ];
|
||||
nodes = [ 1 2 4 8 16 ];
|
||||
nodes = if (enableExtended) then range2 1 16 else [ 4 ];
|
||||
ioFreq = [ 9999 (-1) ];
|
||||
};
|
||||
|
||||
@ -38,7 +36,7 @@ let
|
||||
|
||||
# Generate the complete configuration for each unit
|
||||
genConf = c: targetMachine.config // rec {
|
||||
expName = "fwi-ss-io";
|
||||
expName = "fwi-io";
|
||||
unitName = "${expName}"
|
||||
+ "-nodes${toString nodes}"
|
||||
+ "-bs${toString blocksize}"
|
@ -1,86 +0,0 @@
|
||||
# This experiment compares the effect of not using I/O versus using O_DIRECT |
|
||||
# O_DSYNC enabled I/O. This is a reduced version of the strong_scaling_io
|
||||
# experiment.
|
||||
|
||||
{
|
||||
stdenv
|
||||
, stdexp
|
||||
, bsc
|
||||
, targetMachine
|
||||
, stages
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
common = callPackage ./common.nix {};
|
||||
inherit (common) getConfigs getResources pipeline;
|
||||
|
||||
inherit (targetMachine) fs;
|
||||
|
||||
# Initial variable configuration
|
||||
varConf = {
|
||||
gitBranch = [
|
||||
"garlic/tampi+send+oss+task"
|
||||
# "garlic/mpi+send+omp+task"
|
||||
# "garlic/mpi+send+oss+task"
|
||||
# "garlic/mpi+send+seq"
|
||||
# "garlic/oss+task"
|
||||
# "garlic/omp+task"
|
||||
# "garlic/seq"
|
||||
];
|
||||
|
||||
blocksize = [ 1 ];
|
||||
|
||||
n = [
|
||||
{nx=500; nz=500; ny=16000;}
|
||||
];
|
||||
|
||||
nodes = [ 4 ];
|
||||
ioFreq = [ 9999 (-1) ];
|
||||
};
|
||||
|
||||
machineConfig = targetMachine.config;
|
||||
|
||||
# Generate the complete configuration for each unit
|
||||
genConf = with bsc; c: targetMachine.config // rec {
|
||||
expName = "fwi-sync-io";
|
||||
unitName = "${expName}"
|
||||
+ "-ioFreq${toString ioFreq}"
|
||||
+ "-${toString gitBranch}";
|
||||
|
||||
inherit (machineConfig) hw;
|
||||
inherit (c) gitBranch blocksize;
|
||||
inherit (c.n) nx ny nz;
|
||||
|
||||
# Other FWI parameters
|
||||
ioFreq = c.ioFreq;
|
||||
|
||||
# Repeat the execution of each unit several times
|
||||
loops = 10;
|
||||
|
||||
# Resources
|
||||
inherit (getResources { inherit gitBranch hw; })
|
||||
cpusPerTask ntasksPerNode;
|
||||
|
||||
nodes = c.nodes;
|
||||
qos = "debug";
|
||||
time = "02:00:00";
|
||||
jobName = unitName;
|
||||
|
||||
enableCTF = false;
|
||||
|
||||
# Enable permissions to write in the local storage
|
||||
extraMounts = [ fs.local.temp ];
|
||||
tempDir = fs.local.temp;
|
||||
|
||||
};
|
||||
|
||||
configs = getConfigs {
|
||||
inherit varConf genConf;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
stdexp.genExperiment { inherit configs pipeline; }
|
@ -97,12 +97,12 @@
|
||||
test = callPackage ./lulesh/test.nix { };
|
||||
};
|
||||
|
||||
fwi = {
|
||||
fwi = rec {
|
||||
granularity = callPackage ./fwi/granularity.nix { };
|
||||
ss = callPackage ./fwi/ss.nix { };
|
||||
ss-io = callPackage ./fwi/ss-io.nix { };
|
||||
reuse = callPackage ./fwi/reuse.nix { };
|
||||
sync-io = callPackage ./fwi/sync-io.nix { };
|
||||
io = callPackage ./fwi/io.nix { };
|
||||
ioBig = io.override { enableExtended = true; };
|
||||
};
|
||||
|
||||
osu = rec {
|
||||
|
Loading…
Reference in New Issue
Block a user