4 ms·
Did 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,
by hpccurious 8y ago
Did 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.