DelftBlue uses the module command LMod to load software, as defined in the DHPC docs.
My use case (an example) is running an R script via Gourd:
module load 2024r1
module load r/4.3.0
Rscript --vanilla my_script.R <my_args>
gourd.toml should have a 'modules' specification in the SLURM config like:
[slurm]
modules = ["2024r1", "r/4.3.0"]
This would add the 'modules' lines to the Sbatch script, potentially adding further checks on if the modules are available/can be installed.
This would allow me to use Rscript --vanilla my_script.R as the Gourd program; the current workaround is for the Gourd program to be a wrapper bash script that loads the modules and executes Rscript.
This is annoying:
- I have to write a wrapper script, which isn't user-friendly
- I have to detect from the wrapper if I'm running locally or on the cluster, and run 'modules' based on that
- I have to forward args through the script
DelftBlue uses the
modulecommand LMod to load software, as defined in the DHPC docs.My use case (an example) is running an R script via Gourd:
gourd.tomlshould have a 'modules' specification in the SLURM config like:This would add the 'modules' lines to the Sbatch script, potentially adding further checks on if the modules are available/can be installed.
This would allow me to use
Rscript --vanilla my_script.Ras the Gourd program; the current workaround is for the Gourd program to be a wrapper bash script that loads the modules and executes Rscript.This is annoying: