From 5e2797bcdea716338a5bc8d7b892fa2821d7c112 Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Thu, 29 Oct 2020 17:42:03 +0100 Subject: [PATCH] Create index files for the experiments --- garlic/stages/isolate/stage1 | 2 +- garlic/stages/runexp/runexp | 3 +++ garlic/stages/unit.nix | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/garlic/stages/isolate/stage1 b/garlic/stages/isolate/stage1 index eab0274..7e39679 100644 --- a/garlic/stages/isolate/stage1 +++ b/garlic/stages/isolate/stage1 @@ -17,7 +17,7 @@ env=( PATH="@nixPrefix@@busybox@/bin:@busybox@/bin:@extraPath@" $(env | grep ^SLURM || true) $(env | grep ^PMI || true) - $(env | grep ^GARLIC_OUT || true) + $(env | grep ^GARLIC || true) $(env | grep ^USER || true) HOME="/homeless-shelter" ) diff --git a/garlic/stages/runexp/runexp b/garlic/stages/runexp/runexp index 512c7b5..e8d9c4a 100755 --- a/garlic/stages/runexp/runexp +++ b/garlic/stages/runexp/runexp @@ -13,6 +13,9 @@ group=$(id -gn) export GARLIC_OUT="/gpfs/projects/bsc15/garlic/out/$user" mkdir -p "$GARLIC_OUT" +export GARLIC_INDEX="/gpfs/projects/bsc15/garlic/index/$user" +mkdir -p "$GARLIC_INDEX" +export GARLIC_USER="$user" cd "$GARLIC_OUT" exec @nixPrefix@@program@ diff --git a/garlic/stages/unit.nix b/garlic/stages/unit.nix index 3f32f37..15db8fb 100644 --- a/garlic/stages/unit.nix +++ b/garlic/stages/unit.nix @@ -55,11 +55,31 @@ stdenv.mkDerivation { exit 1 fi + if [ -z "\$GARLIC_EXPERIMENT" ]; then + >&2 echo "GARLIC_EXPERIMENT not defined, aborting" + exit 1 + fi + + if [ -z "\$GARLIC_INDEX" ]; then + >&2 echo "GARLIC_INDEX not defined, aborting" + exit 1 + fi + cd "\$GARLIC_OUT" # Set the experiment unit in the environment export GARLIC_UNIT=$(basename $out) + # Create an index entry + rm -f "\$GARLIC_INDEX/${conf.unitName}" \ + "\$GARLIC_INDEX/${conf.expName}" + + ln -Tfs "../../out/\$GARLIC_UNIT" \ + "\$GARLIC_INDEX/${conf.unitName}" + + ln -Tfs "../../out/\$GARLIC_EXPERIMENT" \ + "\$GARLIC_INDEX/${conf.expName}" + if [ -e "\$GARLIC_UNIT" ]; then >&2 echo "skipping, unit path already exists: \$GARLIC_UNIT" exit 0