Julia is a dynamically-typed programming language that was originally designed to address the needs of high-performance numerical analysis and computational science, without the typical need of separate compilation.
Julia is available as a module on Apocrita.
To run the latest installed version of Julia, simply load the Julia module:
module load julia
then run Julia with a script file:
Here is an example job running on 1 core.
#!/bin/bash #$ -cwd #$ -j y #$ -pe smp 1 #$ -l h_rt=1:0:0 #$ -l h_vmem=1G module load julia julia example.py
Julia Package Management¶
The standard package manager for Julia 1.0 and newer is
Pkg. To interface
Pkg, start the Julia application and press the
] key. To return to
the original prompt, either press backspace when the input line is empty or
Packages can be added with the
add command followed by the name of the
package. It is also possible to add multiple packages in one command.
(v1.0) pkg> add Example Resolving package versions... Installed Example - v0.5.1 Updating `~/.julia/environments/v1.0/Project.toml` [7876af07] + Example v0.5.1 (output redacted)
Packages can be removed using the
rm command. If the package has not been
loaded in the current project, the removal command will fail with a warning
(v1.0) pkg> rm Example Updating `~/.julia/environments/v1.0/Project.toml` [7876af07] - Example v0.5.1 (output redacted)
Listing Installed Packages¶
To list the installed packages, run
st (short for status).
(v1.0) pkg> st Status `~/.julia/environments/v1.0/Project.toml` [7876af07] Example v0.5.1
The tests for a package can be run using the
(v1.0) pkg> test Example Testing Example Status `/tmp/456364.1.test.q/tmpgFlC6Y/Manifest.toml` [7876af07] Example v0.5.1 [2a0f44e3] Base64 [`@stdlib/Base64`] [8ba89e20] Distributed [`@stdlib/Distributed`] [b77e0a4c] InteractiveUtils [`@stdlib/InteractiveUtils`] [8f399da3] Libdl [`@stdlib/Libdl`] [37e2e46d] LinearAlgebra [`@stdlib/LinearAlgebra`] [56ddb016] Logging [`@stdlib/Logging`] [d6f4376e] Markdown [`@stdlib/Markdown`] [9a3f8284] Random [`@stdlib/Random`] [9e88b42a] Serialization [`@stdlib/Serialization`] [6462fe0b] Sockets [`@stdlib/Sockets`] [8dfed614] Test [`@stdlib/Test`] Testing Example tests passed