From ec21ba98b5a4b474708a1339514a97d0f8daa41b Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Wed, 30 Sep 2020 09:32:25 +0200 Subject: [PATCH] nbody: Allow custom reservation --- garlic/exp/nbody/tampi.nix | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/garlic/exp/nbody/tampi.nix b/garlic/exp/nbody/tampi.nix index ae40a7f..7992150 100644 --- a/garlic/exp/nbody/tampi.nix +++ b/garlic/exp/nbody/tampi.nix @@ -52,14 +52,23 @@ let w = runWrappers; - sbatch = {stage, conf, ...}: with conf; w.sbatch { - program = stageProgram stage; - exclusive = true; - time = "02:00:00"; - qos = "debug"; - jobName = "nbody-bs"; - inherit nixPrefix nodes ntasksPerNode; - }; + sbatch = {stage, conf, ...}: with conf; w.sbatch ( + # Allow a user to define a custom reservation for the job in MareNostrum4, + # by setting the garlic.sbatch.reservation attribute in the + # ~/.config/nixpkgs/config.nix file. If the attribute is not set, no + # reservation is used. The user reservation may be overwritten by the + # experiment, if the reservation is set like with nodes or ntasksPerNode. + optionalAttrs (pkgs.config ? garlic.sbatch.reservation) { + inherit (pkgs.config.garlic.sbatch) reservation; + } // { + program = stageProgram stage; + exclusive = true; + time = "02:00:00"; + qos = "debug"; + jobName = "nbody-tampi"; + inherit nixPrefix nodes ntasksPerNode; + } + ); control = {stage, conf, ...}: with conf; w.control { program = stageProgram stage;