Julia
Table of Contents
Subpages
Getting Started
Loading our pre-configured Julia (lang/JuliaHPC
)
On Noctua we provide a Julia software environment for using and developing HPC applications in form of the lang/JuliaHPC
module (Loading Software Environments Using Modules). The module may be seen as a light-weight extension of the official stable Julia binaries in the sense that it delivers a preconfigured environment such that HPC related Julia packages like MPI.jl or CUDA.jl should work out of the box when you ] add
them to any Julia environment. Concretely, the JuliaHPC
module provides (at least)
the official Julia binaries
OpenMPI (CUDA-aware)
CUDA
To load the latest Julia software environment, you can execute the following commands.
module load lang # loading the gateway module
module load JuliaHPC # loading the latest JuliaHPC
Alternatively, you can load a specific version directly
module load lang/JuliaHPC/1.7.2-fosscuda-2022a-linux-x86_64
To see which Julia(HPC) versions are available you can, for example, use find_module JuliaHPC
or checkout this module page: TODO
Plain binaries (lang/Julia
)
Apart from the “batteries-included” lang/JuliaHPC
module we also provide the unmodified official binaries of stable Julia versions via lang/Julia
. Example: module load lang/Julia/1.7.2-linux-x86_64
. However, you should generally use the JuliaHPC module unless you know exactly what you’re doing.
There should be no reason for you to download and install Julia manually on Noctua. If you’re missing something, e.g., an older Julia version for example, let us know and we’ll install it for you!
Julia depot location
IMPORTANT
The Julia depot is the folder where Julia stores log files, installed packages, the general registry, etc.. By default, this depot is created in your home folder, i.e. $HOME/.julia
. On Noctua, this will likely lead to quota issues (HOME is limited to 20GB), slow downs, and unnecessary backups of reproducible data. For this reason, the recommended place for the Julia depot is on the parallel file system (PC2PFS) and it is highly recommended to put something like the following into your .bashrc
export JULIA_DEPOT_PATH=/scratch/<group>/<username>/.julia
Note that /scratch
is not shared between Noctua 1 and Noctua 2. With the approach above you will therefore have separate Julia depots for each system. This is the recommended approach since both systems have very different hardware components (e.g. Intel vs AMD CPUs).