This repository provides some command-line tools and some job-script for the SLURM queuing system.
- Gstat: wrapper around
- Ginfo: wrapper around
- Gdel: delete some or all of the user's jobs.
- Gscript: automatically write a job-script. The customizable part that involves running the job is provided as an option.
- Gsub: submit a job from the folder of the job-script (essential for jobs that use a temporary directory).
tempdir: Exploit a temporary directory on the compute node to avoid costly read/write actions of the network.
- Copy files to a temporary directory on the compute node
- Run the job (while reading and writing locally on the compute node)
- Copy all files back to the directory from which the job is submitted.
json_log: Register some environment variables when the job starts. This particular examples shows a way to allow automatic copying from the tempdir back to the head node using Gcopy while the job is running.
parallel: Use GNU parallel to run several executables in parallel within a single job (that claims more that one CPU).
To download the script you could use git.
Login to the cluster:
$ ssh firstname.lastname@example.org
Clone this repository:
$ cd /some/path $ git clone https://github.com/tdegeus/GooseSLURM.git
GooseSLURM will then be downloaded to
To get these scripts to work one can:
bin/folder of this directory, for example by adding the following line to the
'Install' the script in your home folder:
Create a directory to store libraries in the home folder. For example:
'Install' the GooseSLURM's scripts. For example
cd /path/to/GooseSLURM mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$HOME/opt make install
bin/folder of this 'installation' directory locatable, by adding to the
Note that one has to have Python3 (loaded), and the "docopt" library has to be available to Python. For example:
Load usingmodule load gcc/7.1.0 python/3.6.1
Or something equivalent. Note that none of the feature should be very version dependent.
Install "docopt" usingpip3 install --user docopt
--useroption is only needed if you want to install the library to your own home-folder. On 'normal' systems this is typically not what you want to do, but it assumed here that you are doing this on a cluster where everything is shared.