Skip to content

Julia#

Julia is a dynamic programming language that offers high performance while being easy to learn and develop code in.

This section contains demos (in the form of scripts and notebooks) and how-to guides for doing various things with Julia on NREL HPC environments.

Available modules#

Swift Vermilion Kestrel (CPU) Kestrel (GPU)
julia/1.6.2-ocsfign
julia/1.7.2-gdp7a25 julia/1.7.2 julia/1.7.2
julia/1.8.5-generic-linux
julia/1.10.0-gcc
julia/1.10.4

Julia 1.9.x does not work well on Sapphire Rapids

We advise against installing and using Julia 1.9.x on Kestrel as packages can fail to precompile and result in a segmentation fault. This is a known issue with Julia 1.9.x on Sapphire Rapids processors, possibly due to an LLVM issue. Julia 1.10 will be installed as a module once a stable release is available. Until then, please use Julia 1.7 or 1.8.

Contents#

  1. Installing Julia
  2. Tour of Julia
  3. Parallel Computing in Julia
  4. Calling Python, C, and FORTRAN from Julia

Demo Scripts and Notebooks#

The following scripts and notebooks are available on the master branch of NREL/HPC to download and run,

Requirements and Installation#

Running the demos requires the python modules mpi4py and julia. For details on installing these modules, see the 'Environment Setup' section of the README found in the demos/scripts directory.

For more information on mpi4py, see the mpi4py documentation

For more information on PyJulia, see the PyJulia documentation.