High Throughput Computing using Condor

Julia

Overview

Julia is a high-level, high-performance dynamic programming language for numerical computing developed by the Julia community. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.

Restrictions on use/License information

Julia is released under the MIT license and GNU GPL v2.

There is no restriction on the number of simultaneously running programs on HTCondor.

Versions installed

Julia version HTCondor ClassAd
0.5.0 HAS_JULIA_0_5

Set up procedure on submit node

Julia can be run using the command julia.

Running the application

The following lines are the contents of a simple generic HTCondor submit text file for a julia job.

Universe = vanilla

Requirements = (Target.Opsys == "LINUX" && Target.Arch == "X86_64" && <HTCondor ClassAd>=?=True)
Request_Memory = 1000

Log = julia.log
Output = julia.out
Error = julia.error
Notification = Error

Should_Transfer_Files = Yes
When_To_Transfer_Output = ON_EXIT

Executable = /usr/bin/julia
Transfer_Executable = False
Environment = HOME=/tmp
Arguments = <script>.jl <input_arguments>
Transfer_Input_Files = <script>.jl

Queue

If your submit file is called submit.txt then your job can be submitted to HTCondor using the command condor_submit submit.txt.

Sample Julia HTCondor jobs

  1. Julia code for calculating Pi using n terms of the Gregory series.

Last modified on March 6, 2018 at 5:02 pm by Chris Paul