1. Julia Computing:
« The future of AI/ML »
Alexis KOALLA – Orange France
Head of Operations Transformation towards Agile and DevSecOps, CEO & Cofounder Essitech
Software & Future of Operations Expert
3. 3
Agenda
WHY: Introduction
What is the promise of Julia
What makes Julia so different?
3
Perspectives
Q&A
Agenda
Introduction
What is the promise of Julia?
Perspectives
Q&A
1
2
4
5
5. Performance
915 000 000 000 de Gigaoctets
of informations are published
every year on the internet
More 44.000 milliards de
gigaoctets in 2020
29 000 Gigaoctets are published
per second in the world
Represents 5 times the 5
seasons of the 5 saisons
of « Breaking Bad »
downloaded 1000 times
9. 9
Julia
Julia built on Julia
Julia
We want the speed of C with
the dynamism of Ruby
Something that is dirt
simple to learn, yet keeps
the most serious hackers
happy
We want a language that’s
homoiconic, with true macros like
Lisp, but with obvious, familiar
mathematical notation like Matlab
We want something as
usable for general
programming as Python, as
easy for statistics as R, as
natural for string processing
as Perl, as powerful for
linear algebra as Matlab, as
good at gluing programs
together as the shell
We want it interactive and
we want it compiled
Did we mention it should be as fast
as C?)
We want the speed of C
with the dynamism of Ruby
10. Julia is design for a high
level of performance in
Parallel computing
12. 12
What makes Julia so different
The core language imposes very little;
The standard library is written in Julia itself, including primitive
operations like integer arithmetic
Free &
Opensource
A rich language of types for constructing and describing objects,
that can also optionally be used to make type declarations
Dynamic types
• The ability to define function behavior across many
combinations of argument types via multiple dispatch
• Parallel and distributed computation : designed for AI/ML
Dynamic
Multiple
Dispatch
• Automatic generation of efficient, specialized code for different
argument types
• Possibility to execute natively code from C/C++, Python, R and
many other languages
Flexibility
• Good performance, approaching that of statically-compiled
languages like C
• LLVM: Low Level Virtual Machine compilation
• Just-In-Time compilation on the fly based on a JIT compiler
High
Performance
Computing
13. 13
Alorithms Go Javascript Java Julia R Python
fib
1.86 3.36 1.21 2.11 533.52 77.76
mandel
1.20 6.06 3.35 1.45 45.73 17.02
parse_int
1.29 2.70 2.60 1.15 264.54 32.89
pi_sum
1.11 0.66 1.35 0.79 53.16 15.32
printfd
1.00 1.01 1.00 1.00 9.56 21.99
quicksort
2.96 2.30 3.92 1.66 14.56 17.93
rand_mat_mul
1.42 15.07 2.36 1.02 1.57 1.14
rand_mat_stat
1.86 3.36 1.21 2.11 533.52 77.76
Julia is faster as C/C+/Fortran
Little is beautiful and Less is more
14. 14
Case Study : 6 months internship Research & Anticipation in 2018
Study and development of a datamining demonstrator based on the Julia language
Hypothesis
◼ Data from roaming devices and equipments
◼ INDOOR
◼ OUTDOOR
◼ INCAR
◼ Data read, processing from a database using Random Forest
Features Python Julia
Reading structured data from a table 1 0.9
Execution of a loop 1 8
Deleting items from a data table 1 10
Exécute a correlation between 2 tables 1 1,11
Apply a function on a table 1 24
The more greater it is the more faster it is!
16. 16
Want to take the journey with Julia
JuliaBox online
https://julialang.org/learning/tryjulia/
Download Julia
http://julialang.org/downloads/
https://docs.julialang.org/en/v1/
Join the Community
http://julialang.org/community/
17. 17
Julia is the little black
hole that is eating
the giants : Java, R,
Python, Scala, Spark,
…
20. 20
References
o https://julialang.org/blog/2012/02/why-we-created-julia
o http://docs.julialang.org/en/stable/manual/variables/
o http://docs.julialang.org/en/stable/manual/getting-started/
o http://conferences.oreilly.com/strata/big-data-conference-ca-
2015/public/schedule/detail/40047
o http://julialang.org/
o https://julialang.org/learning/tryjulia/
o http://julialang.org/community/
o http://julialang.org/downloads/julialang.org/downloads/
o https://learnxinyminutes.com/docs/julia/
o http://www.lebigdata.fr/machine-learning-5-choses-savoir-2209