This repository contains wrapper scripts and shared module files located in the /opt directory on the DCCN HPC cluster.
Clone the repository to a local directory (e.g. ~/):
$ git clone git@github.com:Donders-Institute/hpc-user-environment.git
$ cd hpc-user-environmentCreate a new development branch before changing scripts (e.g. bugfix-XYZ):
$ git branch bugfix-XYZ
$ git checkout bugfix-XYZFor testing a wrapper script in opt/cluster, one can run the script via the test_run script. It set the variables $PATH and $CLUSTER_UTIL_ROOT to ensure relevant files are loaded from the local development directory. For example,
$ ./test_run opt/cluster/bin/slurm/sbashAfter development test is successful, commit the branch to upstream (i.e. GitHub):
$ git push --set-upstream origin bugfix-XYZGo to the GitHub repository page and make a new Pull Request (PR) for code review.
Files in the git repository are organized the same as they are deployed to their production destinations. Use the Makefile to copy them to the destination location. E.g.
$ makeBy default, it assumes /mnt/software as the top-level directory of the production destinations; and performs a dryrun. The top-level directory can be changed by PREFIX while the dryrun can be turned off by DRYRUN=false. The command below will actually deploy files over into the production directory /opt.
$ make PREFIX=/opt DRYRUN=falseNOTE:
-
The GUN make only deploy the file when the destination doesn't exist or the destination's last modification time is not later than the file in question. One can force the deployment using the
-Boption ofmake. -
One can also deploy a specific file by using their expected destination location as the make target. For example, for deploying the specific file
opt/cluster/bin/slurm/matlabXXto destination/mnt/software/cluster/bin/slurm/matlabXX, one can do$ make PREFIX=/mnt/software DRYRUN=false /mnt/software/cluster/bin/slurm/matlabXX