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 all the clusters. The versions currently available at OSC are:
Version | Owens | Pitzer | Ascend | Cardinal | Notes |
---|---|---|---|---|---|
0.5.1 | X | ||||
0.6.4 | X | ||||
1.0.0 | X | X | |||
1.0.5 | X* | X* | |||
1.1.1 | X | X | |||
1.3.1 | X | X | |||
1.5.3 | X | X | |||
1.6.5 | X | X | |||
1.6.7 | X | X | |||
1.8.5 | X | X | |||
1.10.4 | X | X | X | X* |
You can use module spider julia
to view available modules for a given cluster. 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:
Install Julia kernel for Jupyter
Since version 1.0, OSC users must manage their own IJulia kernels in Jupyter. The following is an example of adding the latest version of IJulia and creating the corresponding version of the Julia kernel:
$ module load julia/1.0.5 $ ~support/classroom/tools/create_julia_kernel Installing IJulia Resolving package versions... Updating `~/.julia/environments/v1.0/Project.toml` [7073ff75] + IJulia v1.23.2 Updating `~/.julia/environments/v1.0/Manifest.toml` ... ... IJulia installed: 1.23.2 [ Info: Installing Julia kernelspec in /users/PAS1234/username/.local/share/jupyter/kernels/julia-1.0
In Juptyer Notebook, you can find the item Julia 1.0.5 in the kernel list:
For more detail about package management, please refer to the Julia document.
Acess gurobi from Jupyter Notebook
To acess gurobi from Jupyter notebook, users would need to request access for the Gurobi software. More information can be found at Gurobi webpage. User would need to set the path to the gurobi license file located on Owens in the notebook as follows,
ENV["GRB_LICENSE_FILE"] = "/usr/local/gurobi/10.0.1/gurobi.lic"