A high-level, high-performance, dynamic programming language

Description

Julia is a high-level, high-performance, dynamic programming language. While it is a general-purpose language and can be used to write any application, many of its features are well suited for numerical analysis and computational science. (Wikipedia)

Read more on the Julia home page

Prerequisites

Julia is distributed under the MIT license. Julia is free for everyone to use and all source code is publicly available on GitHub.

Availability on Lise

Version

Modulefile

CLX

Genoa

A100

PVC

Remarks

1.7.2

(disabled)

1.10.9

julia/1.10.9

Running Julia

… on login nodes

This is possible, but resources (CPU, memory, runtime) are limited. Be friendly to other users, login nodes are shared resources.

… on compute nodes

Use the batch system to allocate a compute node, log in to that node using X11 forwarding, load a modulefile for Julia, and work interactively as usual:

$ salloc -N 1 -p cpu-genoa
$ ssh -X $SLURM_NODELIST
$ module load julia/1.10.9
$ julia
…
julia>

When done, leave the compute node (exit) and free the allocation (exit).

You may also use srun to allocate resources:

$ srun -N 1 -p cpu-genoa --x11 --pty --interactive bash

Julia packages

Packages can be installed via Julia's package manager in your local depot.