2
$\begingroup$

The Julia language has caught my attention as I am a heavy MATLAB user, but would like more performance. Julia looks attractive as skipping the whole 'prototype in MATLAB then rewrite code in FORTRAN/C' would be nice, because my productivity drops drastically. But it seems that Julia is still quite young and some remarks in this post make me hesitant to try it.

The only parallel scalability results (not FEM related) I could find are some slides https://www.intel.com/content/dam/www/public/us/en/documents/presentation/julia-in-parallel-and-high-performance-computing.pdf

PyOPENCL/PyCUDA seems to have some success using GPUs. Maybe it is not too unreasonable to say the Julia GPU packages would give similar performance?

$\endgroup$
  • 4
    $\begingroup$ The question you linked to is three years old, and might not accurately represent the state of a language that's both young and still being actively developed. Also, I think your question of "would Julia packages give similar performance?" is really broad: could you at least explain what problem you are trying to solve? $\endgroup$ – Kirill Jun 30 '17 at 18:43
  • 3
    $\begingroup$ There will be a video from JuliaCon really soon showing that it scales well. The astrophysics project Celeste.jl is premiered its results as being (most likely) the first pure-Julia (other than BLAS from Base, and FFTW I think?) application to reach petascale. There was quite a few other industry applications in finance, aerospace, etc. which are large-scale. I'm not sure how many other languages can claim they have petascale applications completely written in them, not just an interface. C, Fortran, and assembly? Maybe Java? Will add the video when it's out. $\endgroup$ – Chris Rackauckas Jun 30 '17 at 20:09
  • $\begingroup$ Perhaps this is of interest: github.com/JuliaGPU/GPUArrays.jl $\endgroup$ – Henri Menke Jul 1 '17 at 6:39
  • $\begingroup$ Here's the video which shows pure Julia being used for petascale applications. So the answer is a concrete yes, Julia can do large scale parallel computing like C++ or Fortran (in pure Julia). So whatever the application is, the Julia language would not be holding you back here. Feel free to ask future questions more specific to your certain application area. $\endgroup$ – Chris Rackauckas Aug 8 '17 at 7:06