4 ms·
Slow but not non-existent: https://juliacomputing.com/case-studies/celeste.html https://juliacomputing.com/case-studies/celeste.html It's tough to crack the o
by StefanKarpinski 8y ago
Slow but not non-existent:
https://juliacomputing.com/case-studies/celeste.html https://juliacomputing.com/case-studies/celeste.html
It's tough to crack the old school high-performance computing world, which is very slow to change programming tools, but Julia is the first and only high-level dynamic programming language to do it. Now that it's been shown to be possible to exceed a petaflop/second in Julia without having to write any gnarly, low-level C++ code, I suspect we'll start to see it happening more in the future.
- hpccurious 8y agoDid Celeste rely on pure Julia code to achieve its petafloppiness or were there other libraries at play, say Intel MPI, OFED and IB drivers, RDMA functionality, any custom C++ at all, etc? How much in the way of low-level distributed bit twiddling was part of the development of that application? Would anyone not named Keno be able to write a similar application?
- tavert 8y agoAll of the MPI communication was happening in C code (the built-in distributed code in Julia exists, and sometimes works, but that's the nicest thing you can say about it - it has not been leaned on heavily at all, and is often awkward to use). Lots of low level bit twiddling was involved in Celeste. Without Keno that application would have been lucky to top 100-200 teraflops.
- StefanKarpinski 8y agoLibraries like LAPACK and MPI were standard C/Fortran ones wrapped from Julia but all of the custom application code was written in Julia. No doubt the application would not have been so successful without the extremely talented team that worked on it—including Keno, who was described by the project PI as a “one man army”—but that’s true of any record-setting supercomputing project.