Presentation is loading. Please wait.

Presentation is loading. Please wait.

Julia A fast dynamic language for technical computing Tim Besard 2013-06-18.

Similar presentations


Presentation on theme: "Julia A fast dynamic language for technical computing Tim Besard 2013-06-18."— Presentation transcript:

1 Julia A fast dynamic language for technical computing Tim Besard 2013-06-18

2 Scientific programming is done inefficiently Over 40 domain-specific computing environments – Low program interoperability – High programmer learning effort A general-purpose language could subsume these projects – Has happened before

3 Julia is a fresh approach to technical computing Free and Open-Source – Code at GitHub – MIT licensed Actively developed – 147 core contributors – 141 accepted packages – > 1000 mailing list-subscribers

4 Vision behind Julia makes it stand out Familiar yet flexible Performance without compromises Easily extensible High interoperability

5 Familiar yet flexible Resembles other technical computing environments function randmatstat(t) n = 5 v = zeros(t) w = zeros(t) for i = 1:t a = randn(n,n); b = randn(n,n) c = randn(n,n); d = randn(n,n) P = [a b c d] Q = [a b; c d] v[i] = trace((P'*P)^4) w[i] = trace((Q'*Q)^4) end std(v)/mean(v), std(w)/mean(w) end

6 Familiar yet flexible Resembles other technical computing environments Most functionality isolated in the standard library – Unobtrusive – General-purpose core

7 Performance without compromises Typical compromise: use of low-level languages – Creates development barriers Julia offers high code-efficiency – Design decisions – LLVM JIT-compiler

8 Performance without compromises Execution time relative to C Fortran Julia Python MATLAB Take this with a grain of salt: real-life performance can still let down

9 Julia is extensible Standard library written in Julia Dynamic environment Integrated package manager

10 High interoperability No boilerplate philosophy t = ccall((:clock, “libc”), Int32, () )

11 High interoperability No boilerplate philosophy – Reuse is easy – BLAS, LAPACK, SuiteSparse, … Built-in:C, Fortran Contributed:Python, MATLAB

12 Try it out! Binaries available at http://julialang.org http://julialang.org Source available at http://github.com/JuliaLang http://github.com/JuliaLang

13 Tim Besard 2013-06-18 A step towards general-purpose scientific computing Julia http://julialang.orghttp://github.com/JuliaLang


Download ppt "Julia A fast dynamic language for technical computing Tim Besard 2013-06-18."

Similar presentations


Ads by Google