Attention
GPU users: GPU nodes run EL9, while this documentation still reflects the EL7 software stack.
Run module avail on an EL9 login node, or within an interactive session on the relevant GPU type, to see the software available.
The documentation will be updated once all nodes have migrated to EL9.
Julia
The Julia programming language is a flexible dynamic language, appropriate for scientific and numerical computing, with performance comparable to traditional statically-typed languages. For more information visit: https://docs.julialang.org/en/v1/
Interactive Usage
After connecting to Stanage (see Establishing a SSH connection), start an interactive session with the following command:
srun --pty bash -i
Load a particular version of Julia with:
module load Julia/1.9.0-linux-x86_64
module load Julia/1.9.0-linux-x86_64
You can then start Julia with julia.
Batch Usage
Here, we assume that you wish to run the program example.jl on the system:
result = 0
# Prompt to enter
println("Enter 5 numbers line by line")
# Taking Input from user
for number in 1:5
num = readline()
num = parse(Int64, num)
global result+= num
end
println("The sum is :", result)
First, you need to write a batch submission file. We assume you’ll call this my_job.slurm:
#!/bin/bash
#SBATCH --ntasks=1
#SBATCH --time=10:00
#SBATCH --mem=100
#load the julia module
module load Julia/1.9.0-linux-x86_64
julia example.jl
Ensure that example.jl and my_job.slurm are both in your current working directory, then submit your job to the SLURM scheduler:
sbatch my_job.slurm
Installation notes
Julia version 1.9.0 was installed using Easybuild 4.8.1, build details can be found
in $EBROOTJULIA/easybuild with the module loaded.
Testing
Testing has been conducted by running an interactive session and also submitting the above slurm job.