General idea
Roland is a Linux computation server on which a scheduler (sbash) controls the script under execution. The scheduler distributes the computation among up to 64 threads depending on the instructions in the bash file.
Prerequisites:
Bash file
Execution of the code on Roland is controlled by a bash script (a recipe whose instructions are executed by the console/shell). A minimal working version of the bash script features the following:
#!/bin/bash
#SBATCH -c 63
#SBATCH --ntasks 1
#SBATCH --mem=50000M
#SBATCH --job-name=polariton
which controls the number of threads (-c) used, the number of tasks to perform, the allocated physical memory (how much space the data may fill) and a job-name.
If you use the Julia language, you need to set and export the thread variable bash export JULIA_NUM_THREADS=64
for your programme to use.
Finally, you must instruct the shell to run your Julia programme:
bash julia simulation_roland_v0.jl
Note this assumes your Julia code is in the same directory as your bash file.
Useful commands
bash sinfo
provides info on the use mode of Roland (eg the available max_N_hours)
bash squeue
provides info on current server usage by users
bash htop
provides info on current use (threads, tasks)