Julia

A High-Performance Numerical Computing Environment and Language

Introduction

Julia is a powerful high-level programming language which is designed for high-performance numerical computing. It's base library contains a wealth of methods common to numerical computing and scientific and engineering applications. The language also has built-in support for parallel computing.

Using Julia on RCC Resources

Using Julia on RCC resources does not require you to load a module.  To run Julia in interactive mode, simply type the command julia into the command line and the julia console will appear. For detailed information on julia usage, please see the documentation.

Running Julia in Non-Interactive Mode

There are two options for running Julia in non-interactive mode: locally on the login node and in parallel on the compute nodes. To run julia locally on the login nodes in non-interactive mode, you can simply run:

julia FILENAME.jl

Doing this will run your code locally on the login node.

Julia can also be run in parallel on the HPC compute nodes in non-interactive mode using the Slurm job scheduler. An example function file, called test1.jl here, could be written and submitted to HPC using the following script.  This script submits to general access and uses 4 cores. For more information on submitting jobs to slurm, please see the RCC Submitting HPC Jobs and HPC Job Reference pages. For additional information on using Julia and for numerous examples, see the Julia Documentation.

#!/bin/bash

#SBATCH -n 4
#SBATCH --mail-type=ALL
#SBATCH -p genacc_q
#SBATCH -t 00:10:00

julia -p 4 TEST.jl