Applications/Julia

From HPC
Jump to: navigation , search
  • Description: Julia is a high-level general-purpose dynamic programming language that was originally designed to address the needs of high-performance numerical analysis and computational science.
  • Version: 1.0.0
  • Modules: julia/1.0.0
  • Licence: GNU


Information

Julia uses multiple dispatch as a paradigm, making it easy to express many object-oriented and functional programming patterns. The standard library provides asynchronous I/O, process control, logging, profiling, a package manager, and more.


Interactive

Note: Julia supports interactive mode (as below) and execution mode running as an interpreted script.


[pysdlb@login01 ~]$ interactive
salloc: Granted job allocation 1144233
Job ID 1144233 connecting to c165, please wait...
[pysdlb@c165 ~]$ module load julia/1.0.0
[pysdlb@c165 ~]$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> 1 + 2
3

julia>ans
3

To exit the interactive session, type ^D – the control key together with the d key or type quit(). When run in interactive mode, julia displays a banner and prompts the user for input. Once the user has entered a complete expression, such as 1 + 2, and hits enter, the interactive session evaluates the expression and shows its value. If an expression is entered into an interactive session with a trailing semicolon, its value is not shown. The variable ans is bound to the value of the last evaluated expression whether it is shown or not. The ans variable is only bound in interactive sessions, not when Julia code is run in other ways.



Batch Submission

#!/bin/bash
#SBATCH -J My_R_job              # Job name, you can change it to whatever you want
#SBATCH -N 1                # Number of nodes 
#SBATCH -o %N.%j.out        # Standard output will be written here
#SBATCH -e %N.%j.err        # Standard error will be written here
#SBATCH -p compute          # Slurm partition, where you want the job to be queued 
#SBATCH --exclusive            # run on one node without any other users
#SBATCH --mem=64G       # reserve 64Gbytes of RAM for my job (optional)
 
module purge
module add julia/1.0.0

julia script.jl arg1 arg2

[username@login01 ~]$ sbatch juliaTest.job
Submitted batch job 1289522


Further Information


Navigation