diff --git a/workflow/rules/inference.smk b/workflow/rules/inference.smk index 13d7ccc0..e899ad4c 100644 --- a/workflow/rules/inference.smk +++ b/workflow/rules/inference.smk @@ -298,7 +298,7 @@ rule inference_execute: cd {params.workdir} _run_inference() {{ - local VENV=$1 + local VENV=/user-environment source "$VENV/bin/activate" if [ "{params.disable_local_definitions}" = "False" ]; then @@ -312,20 +312,22 @@ rule inference_execute: CMD_ARGS+=(runner.parallel.cluster=slurm) fi - srun \ - --unbuffered \ - {params.account_flag} \ - --partition={resources.slurm_partition} \ - --cpus-per-task={resources.cpus_per_task} \ - --mem-per-cpu={resources.mem_mb_per_cpu} \ - --time={resources.runtime} \ - --gres={resources.gres} \ - --ntasks={resources.ntasks} \ - anemoi-inference run config.yaml "${{CMD_ARGS[@]}}" + anemoi-inference run config.yaml "${{CMD_ARGS[@]}}" }} export -f _run_inference - squashfs-mount {params.env_path}:/user-environment -- bash -c '_run_inference /user-environment' + srun \ + --job-name=anemoi-inference \ + --uenv={params.env_path}:/user-environment \ + --unbuffered \ + {params.account_flag} \ + --partition={resources.slurm_partition} \ + --cpus-per-task={resources.cpus_per_task} \ + --mem-per-cpu={resources.mem_mb_per_cpu} \ + --time={resources.runtime} \ + --gres={resources.gres} \ + --ntasks={resources.ntasks} \ + bash -c '_run_inference' ) >{log} 2>&1 touch {output.okfile} """