Julia

Introduction

Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The Julia Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through the Julia built-in package manager at a rapid pace. IJulia, a collaboration between the Jupyter and Julia communities, provides a powerful browser-based graphical notebook interface to Julia (cf. ipython).

Julia programs are organized around multiple dispatch; by defining functions and overloading them for different combinations of argument types, which can also be user-defined. For a more in-depth discussion of the rationale and advantages of Julia over other systems, see the following highlights or read the introduction in the online manual.

Web Page

Official web page

Versions

0.6.0

Flavours

03

Architecture

x86_64

Group
module load site-local-development

This uses an out-of-date MLNX_OFED and should not be used. The module will be withdrawn.

Build Details

Compiled with:

Uses reference numerical libraries built as part of the Julia build.

This is a slightly updated version of flavour /1

Usage
module load development/1 julia/0.6.0/3

See the manual pages for more information.

For single node use, set the value of OMP_NUM_THREADS equal to the number of cores on the node (28) or other suitable value.

For MPI usage with mpirun, set

export OMP_NUM_THREADS=1

For mixed mode usage, use mpirun and set the number of ranks and threads for each rank appropriately using SLURM values and the value of OMP_NUM_THREADS.

See SLURM documentation on the web pages for more information.

Example Job Scripts

None yet.

Status

Partially tested.

04

Architecture

x86_64

Group
module load site-local-development
Build Details

Compiled with:

Uses reference numerical libraries built as part of the Julia build.

This is a slightly updated version of flavour /1

Usage
module load development julia/0.6.0/04

See the manual pages for more information.

For single node use, set the value of OMP_NUM_THREADS equal to the number of cores on the node (28) or other suitable value.

For MPI usage with mpirun, set

export OMP_NUM_THREADS=1

For mixed mode usage, use mpirun and set the number of ranks and threads for each rank appropriately using SLURM values and the value of OMP_NUM_THREADS.

See SLURM documentation on the web pages for more information.

Example Job Scripts

None yet.

Status

Partially tested.

01

Architecture

x86_64

Group
module load site-local

This uses an out-of-date MLNX_OFED and should not be used. The module will be withdrawn.

Build Details

Compiled with:

This uses reference numerical libraries built as part of the Julia build.

Usage
module load julia/0.6.0/1

See the manual pages for more information.

For single node use, set the value of OMP_NUM_THREADS equal to the number of cores on the node (28) or other suitable value.

For MPI usage with mpirun, set

export OMP_NUM_THREADS=1

For mixed mode usage, use mpirun and set the number of ranks and threads for each rank appropriately using SLURM values and the value of OMP_NUM_THREADS.

See SLURM documentation on the web pages for more information.

Example Job Scripts

None yet.

Status

Partially tested.