Julia


“A fresh approach to technical computing”

Fast Julia was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM.

Dynamic Julia is dynamically typed, feels like a scripting language, and has good support for interactive use.

Julia Documentation

The CRC has a few Julia modules installed.

benji@watson ~ * module load julia/1.4.2
benji@watson ~ * julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.4.2 (2020-05-23)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia>

Jupyterhub and Julia

You can use the terminal as your environment to interact with Julia (above), or you can use Jupyterhub by installing the IJulia package (first load the julia module and start julia as above).

julia> using Pkg

julia> Pkg.add("IJulia")
   Updating registry at `~/.julia/registries/General`
   Updating git-repo `https://github.com/JuliaRegistries/General.git`
  Resolving package versions...
  Installed Rmath_jll -------- v0.2.2+1
  Installed VersionParsing --- v1.2.0
  Installed OpenBLAS_jll ----- v0.3.9+5
  Installed ZeroMQ_jll ------- v4.3.2+4
  Installed MbedTLS_jll ------ v2.16.6+1
  Installed MbedTLS ---------- v1.0.2
  Installed ZMQ -------------- v1.2.1
  Installed IJulia ----------- v1.21.3
  Installed Conda ------------ v1.4.1
  Installed SoftGlobalScope -- v1.1.0
Downloading artifact: OpenBLAS
Downloading artifact: Rmath
Downloading artifact: ZeroMQ
Downloading artifact: MbedTLS
   Updating `/mnt/lfs2/benji/.julia/environments/v1.4/Project.toml`
  [7073ff75] + IJulia v1.21.3
   Updating `/mnt/lfs2/benji/.julia/environments/v1.4/Manifest.toml`
  [8f4d0f93] + Conda v1.4.1
  [7073ff75] + IJulia v1.21.3
  [739be429] + MbedTLS v1.0.2
  [c8ffd9c3] + MbedTLS_jll v2.16.6+1
  [4536629a] | OpenBLAS_jll v0.3.9+4 -> v0.3.9+5
  [f50d1b31] | Rmath_jll v0.2.2+0 -> v0.2.2+1
  [b85f4697] + SoftGlobalScope v1.1.0
  [81def892] + VersionParsing v1.2.0
  [c2297ded] + ZMQ v1.2.1
  [8f1865be] + ZeroMQ_jll v4.3.2+4
  [7b1f6079] + FileWatching 
   Building Conda --> `~/.julia/packages/Conda/3rPhK/deps/build.log`
   Building IJulia -> `~/.julia/packages/IJulia/tOM8L/deps/build.log`

julia> exit

After installing IJulia using the terminal, you can log into Jupyterhub on one of our standalone servers and you should see the Julia option when creating a new notebook.


One of the advantages of running Julia through Jupyterhub is that plots appear inline: