The Julia installations are generally maintained by Peter Larsson (email@example.com).
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.
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.
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.