Merge branch 'saiph' into 'master'

Saiph

See merge request rarias/bscpkgs!3
This commit is contained in:
Rodrigo Arias Mallo 2020-10-07 14:56:33 +02:00
commit 4ce514de9b
3 changed files with 38 additions and 13 deletions

16
NOISE
View File

@ -108,3 +108,19 @@ ABSTRACT
Do not use to ensure reproducibility.
/* vim: set ts=2 sw=2 tw=72 fo=watqc expandtab spell autoindent: */
1.8 Make doesn't rebuild objects
When using local repo as src code, (e.g. developer mode on) a make
clean at the preBuild stage is required.
Nix sets the same modification date (one second after the Epoch (1970-01-01 at 00:00:01 in UTC timezone) to all the files in the nix store (also those copied from repos).
Makefile checks the files modification date in order to call or not
the compilation instructions.
If any object/binary file exists out of Nix, at the time we build
within Nix, they will be copied with the current data and consequently
not updated during the Nix compilation process.
See saiph devMode option and its implications at
bscpkgs/garlic/saiph/default.nix

View File

@ -12,6 +12,7 @@ with stdenv.lib;
let
# Set variable configuration for the experiment
varConfig = {
devMode = [ true ];
numComm = [ 1 ];
};
@ -23,11 +24,11 @@ let
# Resources
ntasksPerNode = "2";
nodes = "2";
nodes = "1";
# Stage configuration
enableSbatch = true;
enableControl = false;
enableControl = true;
enableExtrae = false;
enablePerf = false;
@ -63,7 +64,8 @@ let
);
control = {stage, conf, ...}: with conf; w.control {
program = stageProgram stage;
program = stageProgram stage;
loops = 100;
};
srun = {stage, conf, ...}: with conf; w.srun {
@ -127,6 +129,7 @@ let
argv = {stage, conf, ...}: with conf; w.argv {
program = stageProgram stage;
env = ''
export OMP_NUM_THREADS=24
export NANOS6_REPORT_PREFIX="#"
export I_MPI_THREAD_SPLIT=1
export ASAN_SYMBOLIZER_PATH=${pkgs.bsc.clangOmpss2Unwrapped}/bin/llvm-symbolizer
@ -146,7 +149,7 @@ let
});
in
customPkgs.bsc.garlic.saiph.override {
inherit numComm mpi gitBranch;
inherit devMode numComm mpi gitBranch;
};
stages = with common; []

View File

@ -6,20 +6,23 @@
, cc
, vtk
, boost
, devMode ? false
, gitBranch ? "master"
, numComm ? null
, vectFlags ? null
#, breakpointHook
}:
stdenv.mkDerivation rec {
name = "saiph";
src = builtins.fetchGit {
url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git";
ref = "${gitBranch}";
};
src = (if (devMode == true) then ~/repos/saiph
else
builtins.fetchGit {
url = "ssh://git@bscpm02.bsc.es/DSLs/saiph.git";
ref = "${gitBranch}";
});
#src = /tmp/saiph;
programPath = "/bin/ExHeat3D";
enableParallelBuilding = true;
@ -33,23 +36,26 @@ stdenv.mkDerivation rec {
cc
vtk
boost
# breakpointHook
];
# Required for nanos6
hardeningDisable = [ "bindnow" ];
preBuild = ''
cd saiphv2/cpp/src
cd saiphv2/cpp/src
export VTK_VERSION=8.2
export VTK_HOME=${vtk}
'';
''
+ (if (devMode == true) then "make clean" else "")
;
makeFlags = [
"-f" "Makefile.${cc.cc.CC}"
"apps"
"APP=ExHeat3D"
( if (numComm != null) then "NUM_COMM=${toString numComm}" else "" )
( if (vectFlags != null) then "VECT_FLAGS=${toString vectFlags}" else "" )
];
installPhase = ''