forked from rarias/bscpkgs
fwi: split into input and solver
All branches compile with several hacks.
This commit is contained in:
@@ -11,24 +11,38 @@ with stdenv.lib;
|
||||
let
|
||||
# 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"
|
||||
];
|
||||
};
|
||||
|
||||
machineConfig = targetMachine.config;
|
||||
|
||||
# Generate the complete configuration for each unit
|
||||
genConf = with bsc; c: targetMachine.config // rec {
|
||||
# Options for creams
|
||||
cc = icc;
|
||||
gitBranch = "seq";
|
||||
expName = "fwi";
|
||||
unitName = "${expName}-test";
|
||||
inherit (machineConfig) hw;
|
||||
|
||||
# Repeat the execution of each unit 30 times
|
||||
loops = 1;
|
||||
cc = icc;
|
||||
gitBranch = c.gitBranch;
|
||||
|
||||
# Repeat the execution of each unit several times
|
||||
loops = 10;
|
||||
|
||||
# Resources
|
||||
qos = "debug";
|
||||
nodes = 1;
|
||||
time = "02:00:00";
|
||||
cpusPerTask = hw.cpusPerSocket;
|
||||
ntasksPerNode = 1;
|
||||
cpuBind = "rank,verbose";
|
||||
jobName = "fwi-${gitBranch}";
|
||||
nodes = 1;
|
||||
qos = "debug";
|
||||
time = "02:00:00";
|
||||
jobName = unitName;
|
||||
};
|
||||
|
||||
# Compute the array of configurations
|
||||
@@ -37,29 +51,30 @@ let
|
||||
};
|
||||
|
||||
# Custom stage to copy the FWI input
|
||||
copyInput = {nextStage, conf, ...}:
|
||||
let
|
||||
input = bsc.garlic.apps.fwi;
|
||||
in
|
||||
stages.exec {
|
||||
inherit nextStage;
|
||||
env = ''
|
||||
cp -r ${input}/bin/InputModels .
|
||||
chmod +w -R .
|
||||
'';
|
||||
argv = [
|
||||
"${input}/etc/fwi/fwi_params.txt"
|
||||
"${input}/etc/fwi/fwi_frequencies.txt"
|
||||
];
|
||||
};
|
||||
#copyInput = {nextStage, conf, ...}:
|
||||
# let
|
||||
# input = bsc.garlic.apps.fwi;
|
||||
# in
|
||||
# stages.exec {
|
||||
# inherit nextStage;
|
||||
# env = ''
|
||||
# cp -r ${input}/bin/InputModels .
|
||||
# chmod +w -R .
|
||||
# '';
|
||||
# argv = [
|
||||
# "${input}/etc/fwi/fwi_params.txt"
|
||||
# "${input}/etc/fwi/fwi_frequencies.txt"
|
||||
# ];
|
||||
# };
|
||||
|
||||
apps = bsc.garlic.apps;
|
||||
|
||||
# FWI program
|
||||
program = {nextStage, conf, ...}: with conf;
|
||||
bsc.garlic.apps.fwi.override {
|
||||
inherit cc gitBranch;
|
||||
};
|
||||
program = {nextStage, conf, ...}: apps.fwi.solver.override {
|
||||
inherit (conf) cc gitBranch;
|
||||
};
|
||||
|
||||
pipeline = stdexp.stdPipeline ++ [ copyInput program ];
|
||||
pipeline = stdexp.stdPipeline ++ [ program ];
|
||||
|
||||
in
|
||||
|
||||
|
||||
@@ -97,6 +97,10 @@
|
||||
test = callPackage ./lulesh/test.nix { };
|
||||
};
|
||||
|
||||
fwi = {
|
||||
test = callPackage ./fwi/test.nix { };
|
||||
};
|
||||
|
||||
osu = rec {
|
||||
latency = callPackage ./osu/latency.nix { };
|
||||
latencyShm = latency.override { interNode = false; };
|
||||
|
||||
Reference in New Issue
Block a user