[Beowulf] Julia Language

John Hearns hearnsj at googlemail.com
Mon Sep 18 01:22:11 PDT 2017


Justin,  I do not know the answer to this question.
Woudl you kindly elaborate further - do you mean is it necessary to have
checkpointing with Julia,
or are you working on checkpointing software?

Not really an answer to this question. Julia uses the LLVM compiler and
something called multiple dispatch.
At first sight as a scientist/engineer you will probably throw your hands
up in horror at the though of multiple dispatch,
and start wailign that it is wasteful of machine resources and CPU cycles.
But no, wait and think on... computers are
pretty powerful these days and disk space (to a first approcxilmation) is
plentiful. SO read on with an open mind...

https://armchairecology.blog/2017/07/10/julia-in-ecology-why-multiple-dispatch-is-good/
http://www.stochasticlifestyle.com/type-dispatch-design-post-object-oriented-programming-julia/

So for any function Julia creates separate OPTIMISED code paths for every
combination of types the function can operate on.
(ie those types which do not have operators which are able to work on them
are ruled out).
Read that again - instead of creating huge code blocks which work with any
type which you give it,
separate code blocks with optimised code are produced. (Th is is my
understanding of how it works).

A consequence of this is that first time through, a Julia program is slow.
You are cautioned to remember this when benchmarking.
I have never shot a gun, but if I may bowrrow a term from target shooting
there is a pretty tight grouping around the C bullseye here
https://julialang.org/benchmarks/



Before anyone throws their teddies away, it is of course perfectly possible
to produce compiled Julia code. My reading of this is that this is not
a slick process at the moment, and there are efforts ongoing to make this
easy.
Though this looks pretty slick to me:
https://github.com/JuliaComputing/static-julia


































On 18 September 2017 at 04:08, Justin Y. Shi <shi at temple.edu> wrote:

> Hi John:
>
> Do you need to add checkpoints for Julia programs?
>
> Just curious.
>
> Thanks!
>
> Justin
>
> On Wed, Sep 13, 2017 at 7:43 AM, John Hearns via Beowulf <
> beowulf at beowulf.org> wrote:
>
>> I see HPCwire has an article on Julia.  I am a big fan of Julia, so
>> though it worth pointing out.
>> https://www.hpcwire.com/off-the-wire/julia-joins-petaflop-club/
>> Though the source of this seems old news - it is a presentation from this
>> year's JuliaCon
>>
>> JuliaCon 2018 will be talking place at UCL in London so mark your
>> diaries. Yours truly should be there.
>>
>>
>> _______________________________________________
>> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin Computing
>> To change your subscription (digest mode or unsubscribe) visit
>> http://www.beowulf.org/mailman/listinfo/beowulf
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.beowulf.org/pipermail/beowulf/attachments/20170918/bd5fc2f5/attachment-0001.html>


More information about the Beowulf mailing list