From julialang.org:
"Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. Julia’s Base library, largely written in Julia itself, also integrates mature, best-of-breed open source C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager at a rapid pace. IJulia, a collaboration between the Jupyter and Julia communities, provides a powerful browser-based graphical notebook interface to Julia."
Availability and Restrictions
Versions
Julia is available on Owens Clusters. The versions currently available at OSC are:
Version | Owens | Pitzer | Notes |
---|---|---|---|
0.5.1 | X* | ||
0.6.4 | X | ||
1.0.0 | X | X* | |
1.1.1 | X | X | |
1.3.1 | X | X | |
1.5.3 | X | X |
You can use module spider julia
to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
Access
Julia is available for use by all OSC users.
Publisher/Vendor/Repository and License Type
Jeff Bezanson et al., Open source
Usage
Interactive Julia Notebooks
If you are using OnDemand, you can simply work with Jupyter and the selection of the Julia kernel to use interactive notebooks to work on an Owens or Pitzer compute node!
Navigate to ondemand.osc.edu and select a Jupyter notebook:
Since version 1.0, OSC user must manage own IJulia kernels in Jupyter notebooks. The following is an example of adding the latest version of IJulia to Julia 1.0.0:
$ module load julia/1.0.0 $ julia julia> ] (v1.0) pkg> add IJulia [ .. installation output .. ] (v1.0) pkg> st IJulia Status `~/.julia/environments/v1.0/Project.toml` [7073ff75] IJulia v1.20.0
Then on Juptyer app, you can find the item User Defined Julia 1.0.0 in the kernel drop-down menu:
For more detail about package management, please refer to the Julia document.