Group stages

This commit is contained in:
Rodrigo Arias 2020-10-07 19:01:34 +02:00
parent 66a5e06ada
commit 26ea326ded

View File

@ -124,17 +124,17 @@ let
argv = {stage, conf, ...}: w.argv { argv = {stage, conf, ...}: w.argv {
program = stageProgram stage; program = stageProgram stage;
env = '' #env = ''
#export I_MPI_PMI_LIBRARY=${bsc.slurm17-libpmi2}/lib/libpmi2.so # #export I_MPI_PMI_LIBRARY=${bsc.slurm17-libpmi2}/lib/libpmi2.so
export I_MPI_DEBUG=+1000 # export I_MPI_DEBUG=+1000
#export I_MPI_FABRICS=shm # #export I_MPI_FABRICS=shm
export MPICH_DBG_OUTPUT=VERBOSE # export MPICH_DBG_OUTPUT=VERBOSE
export MPICH_DBG_CLASS=ALL # export MPICH_DBG_CLASS=ALL
export MPICH_DBG_OUTPUT=stdout # export MPICH_DBG_OUTPUT=stdout
export FI_LOG_LEVEL=Info # export FI_LOG_LEVEL=Info
''; #'';
argv = ''( -t ${toString conf.timesteps} argv = ''( -t ${toString conf.timesteps}
-p ${toString conf.particles} )''; -p ${toString conf.particles} )'';
}; };
@ -168,27 +168,15 @@ let
nixPrefix = common.nixPrefix; nixPrefix = common.nixPrefix;
}; };
stages = with common; [] stdStages = [
# Use sbatch to request resources first
++ optionals enableSbatch [
sbatch sbatch
nixsetup isolate
#isolate control
]
# Repeats the next stages N times
++ optional enableControl control
# Executes srun to launch the program in the requested nodes, and
# immediately after enters the nix environment again, as slurmstepd launches
# the next stages from outside the namespace.
++ [
#strace
srun srun
nixsetup isolate
#isolate ];
]
debugStages = with common; []
# Intrumentation with extrae # Intrumentation with extrae
++ optional enableExtrae extrae ++ optional enableExtrae extrae
@ -198,11 +186,11 @@ let
# Optionally profile nanos6 with the new ctf # Optionally profile nanos6 with the new ctf
++ optional enableCtf ctf ++ optional enableCtf ctf
# Optionally enable strace # Optionally run the program with strace
#++ optional enableStrace strace ++ optional enableStrace strace
;
# Execute the nbody app with the argv and env vars stages = stdStages ++ debugStages ++ [ argv nbodyFn ];
++ [ argv nbodyFn ];
# List of actual programs to be executed # List of actual programs to be executed
jobs = map (conf: w.stagen { inherit conf stages; }) configs; jobs = map (conf: w.stagen { inherit conf stages; }) configs;