| ▲ | 30 Years of HPC: many hardware advances, little adoption of new languages(chapel-lang.org) | |||||||||||||||||||
| 41 points by matt_d 3 days ago | 9 comments | ||||||||||||||||||||
| ▲ | jandrewrogers an hour ago | parent | next [-] | |||||||||||||||||||
I can easily explain this, having worked in this space. The new languages don’t actually solve any urgent problems. How people imagine scalable parallelism works and how it actually works doesn’t have a lot of overlap. The code is often boringly single-threaded because that is optimal for performance. The single biggest resource limit in most HPC code is memory bandwidth. If you are not addressing this then you are not addressing a real problem for most applications. For better or worse, C++ is really good at optimizing for memory bandwidth. Most of the suggested alternative languages are not. It is that simple. The new languages address irrelevant problems. It is really difficult to design a language that is more friendly to memory bandwidth than C++. And that is the resource you desperately need to optimize for in most cases. | ||||||||||||||||||||
| ||||||||||||||||||||
| ▲ | jpecar 18 minutes ago | parent | prev | next [-] | |||||||||||||||||||
All these fancy HPC languages are all nice and dandy, but the hard reality I see on our cluster is that most of the work is done in Python, R and even Perl and awk. MPI barely reached us and people still prefer huge single machines to proper distributed computing. Yeah, bioinformatics is from another planet. | ||||||||||||||||||||
| ||||||||||||||||||||
| ▲ | riffraff an hour ago | parent | prev | next [-] | |||||||||||||||||||
Perhaps one issue lacking discussion in the article is how easy it is to find devs? I've never worked in HPC but it seems it should be relatively simple to find a C/C++ dev that can pick up OpenMP, or one that already knows it, compared to hiring people who know Chapel. The "scaling down" factor (how easy or interesting it is to use tool X for small use) seems a disadvantage of HPC-only languages, which creates a barrier to entry and a reduction in available workforce. | ||||||||||||||||||||
| ||||||||||||||||||||
| ▲ | swiftcoder 35 minutes ago | parent | prev [-] | |||||||||||||||||||
It's interesting that none of the actor-based languages ever made it into this space. Feels like something with the design philosophy of Erlang would be pretty suitable to exploit millions of cores and a variety of interconnects... | ||||||||||||||||||||