Académique Documents
Professionnel Documents
Culture Documents
COMPUTING
LANGUAGE,JULIA
Presented by
D.ANUSHA
G.SAILAJA
Contents
Introduction
Importance of julia
Features
Julia with other programming languages
Sample program on julia
Advantages
Disadvantages
Conclusion
Introduction
As high-performance computing (HPC) bends to the
needs of "big data" applications, speed remains essential
The programs are getting more and more complex and
time-consuming to develop. A few years ago, when an
HPC startup Edelman was involved in Interactive
Supercomputing .It was acquired by Microsoft and its
group set out to develop a programming language, julia.
Why Julia
Multiple dispatch
All arguments are equally responsible to
determine a method.
In single dispatch the calls cat.run("fast")
and cat.run(5) would dispatch to the same
method and it is up to the method to do
different things with the different types of the
second parameter.
In Julia run(cat, "fast") and run(cat, 5)
dispatch to separate methods.
High-Performance JIT
Compiler
Julias LLVM-based just-in-time (JIT) compiler
combined with the languages design allow it to
approach and often match the performance of C
Julias ability to compile code that reads like
Python into machine code that performs like C
almost entirely derives from Julias ability to
specialize function definitions in this way.
# julia
#define M 500
function mmult(A,B)
(M,N) = size(A);
for i=1:M
//double C[M][M];
C = zeros(M,M);
for j=1:M
int i,j,k;
for k=1:M
C[i,j] += A[i,k]*B[k,j];
end
end
end
C;
end
Development of Julia
Advantages
Julia already possesses a mature package ecosystem
Disadvantages
Julia arrays are 1-indexed, which can really trip
you up sometimes when you're used to Python,
C/++, Java, etc.
Julia list comprehensions (currently) lack the
ability to use conditionals, unlike Python. One
can do this with for loops and if/else, though, as
normally done.
Julia dictionaries are hashed differently than
Python dictionaries, which can make them
slower in many cases.
Conclusion
Julia is a flexible dynamic language, appropriate
for scientific and numerical computing
Julia combines the features of many other
programming languages like C, Matlab and Java
etc.
Existence of JIT Compiler in Julia increases the
performance of computuing.
References:
http://radar.oreilly.com/2013/10/julias-role-in-data-science.html
http://
www.nowozin.net/sebastian/blog/the-julia-language-for-scienti
fic-computing.html
http://www.evanmiller.org/why-im-betting-on-julia.html
http://julialang.org/
http://docs.julialang.org/en/release-0.4/manual/functions/
ANY QUERIES???
U
O
Y
K
N
THA