julia


Introduction:

JULIA
is a language designed for efficient performance in
a high-performance environment, combined with the ability for interactive
use, parallel and distributed computing, and the ability to directly
call C and FORTRAN functions. Many libraries are available for
specialized topics.

Web site:


https://julialang.org

Reference:

  • Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral Shah,
    Julia: A fresh approach to numerical computing,
    SIAM Review, Volume 59, 2017, pages 65–98.
  • Zacharias Voulgaris,
    Julia for Data Science,
    Technics Publications, 2016,
    ISBN: 978-1634621304.

Usage:

On any ARC cluster, check the installation details
by typing "module spider julia".

JULiA requires that several module be loaded before it can be run.
One version of the appropriate commands for use on NewRiver is:

module purge
module load gcc/5.2.0
module load atlas/3.11.36
module load python/2.7.10
module load julia/0.5.0
    

After this, a julia program named, for example, myfile.jl,
can be run using the command

      julia myfile.jl
    

Examples:

In the following batch file, the JULIA file vanderpol.jl
defines the van der Pol equation, calls the ODE package to solve
it, and the PyPlot package to make a plot of the solution.

#! /bin/bash
#
#PBS -l walltime=00:05:00
#PBS -l nodes=1:ppn=1
#PBS -W group_list=newriver
#PBS -q open_q
#PBS -j oe

cd $PBS_O_WORKDIR

module purge
module load gcc/5.2.0
module load atlas/3.11.36
module load python/2.7.10
module load julia/0.5.0

julia vanderpol.jl

A complete set of files to carry out a similar process are available in
julia_example.tar