Julia

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 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  
*:Current default version

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:

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
$ 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:

Screen Shot 2021-08-19 at 12.46.48 AM.png

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"

 

 

 
Supercomputer: 
Service: 
Fields of Science: