3 ms·
Python and Julia are a (may be a distant) 3rd and 4th. Using Python on HPC system, depending on who you ask, is kind of cheating as the main work is always C/C
by KolenCh 5y ago
Python and Julia are a (may be a distant) 3rd and 4th.
Using Python on HPC system, depending on who you ask, is kind of cheating as the main work is always C/C++ (or Fortran). So it is still really just C/C++ and Fortran.
Julia is really promising as it is the first new language that can efficiently run on HPC and can use other form of message passing.
Also we should not forget UPC, a special kind of C that has its own parallel programming model (not MPI.) It has been used on HPC system as well but perhaps only from a selected few. (This probably reveal where I come from.)
- pjmlp 5y agoSpeaking from how we were already doing at CERN, 20 years ago, Python was plainly more confortable to use than UNIX shell for program orchestration, that was all, and the CMT build system used Python as well. Real work was always C++ and Fortran.
- KolenCh 5y agoOh, CERN? I think they have made PyROOT which is horrible? (And even a jupyter kernel for interactive use.) In terms of scripting, a professor once showed us a workflow script from his old days written entirely in bash and is very very long and very complex. He basically said if your script gets that complicated it should be written in Python nowadays. But Python’s HPC presence is deeper than scripting in that sense. Machine learning frameworks definitely is a contributing factor, but even more traditional HPC workflows are benefited when stuffs have Python API, especially with mpi4py. I once used something called mpi bash that I need to compile it myself on an HPC platform. It is much less well known and used, perhaps because of what the professor said—if it needs MPI, probably even for scripting it should be scripted in Python instead.