Julia installations at NSC


Level of support

Tier 3 NSC will not be able to help you much with this program, either because we lack the in-house experience, or because it is a test installation. In general, these types of installations are untested, and will not be updated unless you send a request to NSC.

Please see the page describing our software support categories for more information.
You can also contact support@nsc.liu.se for further information.

The Julia installations are generally maintained by Peter Larsson (pla@nsc.liu.se).

Description

According to the web page, “Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments [i.e. MATLAB].” Julia has support for parallel computations, even across nodes, but it is not based on MPI.

How to run

First load a Julia module. This brings the julia command into your PATH and sets up the libraries that you need to run Julia.

module load julia/0.2.1

You can then either start an interactive Julia session:

$ julia
                   _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.2.1 (2014-02-11 06:30 UTC)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |  x86_64-unknown-linux-gnu

julia> 

or run it on batch mode, for example inside a job script.

#!/bin/bash
#SBATCH -N 1
#SBATCH -t 0:30:00
#SBATCH -J jobname
#SBATCH --exclusive
#SBATCH -A SNIC-xxx-yyy

module load julia/0.2.1
julia myprogram.jl arg1  ...

The script above allocates a full node to the Julia program. Only do this if you are really doing a big (or parallel computation) with Julia.

Testing

We have not done much testing and optimization of Julia yet. Basic examples and linear algebra seems to work, and the performance is what you expect from a native library (10+ GFlops). There might be some warnings: “Possible conflict in library symbol xxx”, but it seems to work anyhow.

Running Julia program on multiple nodes have not been tested yet.