Vertigo — How do I make a submission script?

Submission Script?

This is a script where you tell Vertigo how to run your job. You specify the resources needed, some job details, and the actually commands to be run.

The Script, Step by Step

  1. Create a bash script file. For example, scheduler.sh .
  2. To indicate that this is a bash script, the first line must be #!/bin/bash .
  3. Since Vertigo is a one-node system, we must specify this with the lines #SBATCH --nodes=1 and #SBATCH --ntasks-per-node=1 .
  4. To specify the number of threads, add the line #SBATCH --cpus-per-task=threads , where threads should be replaced by the number of threads you require. For instance, #SBATCH --cpus-per-task=4 will allocate 4 threads.
  5. To specify the RAM, add the line #SBATCH --mem=RAM , where RAM should be replaced by the amount of memory you require. For instance, #SBATCH --mem=8G will allocate 8 gigabytes of RAM.
  6. To specify the queue (also known as the "partition"), add the line #SBATCH --partition=queue , where queue should be replaced by one of debug , standard , or parallel . Not sure what queue to use?
  7. To specify the name of your job, add the line #SBATCH --job-name=name , where name should be replaced by a name of your choice. For instance, #SBATCH --job-name=exampleJob . If you want to run several jobs, make sure to give them different names!
  8. If you want to store the text output of your job, add the line #SBATCH -o outputName.out , where outputName should be replaced by a file name of your choice. For instance, #SBATCH -o exampleJob.out .
  9. Furthermore, if you want to store the error output of your job in a separate file from the output, add the line #SBATCH -e errorName.err , where errorName should be replaced by a file name of your choice. For instance, #SBATCH -e exampleJob.err .
  10. To conclude, type the command that will actually run your job, as you would do on an interactive terminal. For instance, to run a Julia programme called myProgramme.jl , I would type julia myProgramme.jl , so I would add that to my submission script.
  11. You need to make sure the script can be run by Vertigo. This can be accomplished by running chmod +x scheduler.sh . Note: DO NOT RUN scheduler.sh DIRECTLY! Use the submit command instead.

All in all, your file should look like this scheduler.sh example:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=8G
#SBATCH --partition=parallel
#SBATCH --job-name=exampleJob
#SBATCH -o exampleJob.out
#SBATCH -e exampleJob.err

julia myProgramme.jl