A 30-year retrospective on HPC programming reveals a striking paradox: while hardware performance has improved by factors of millions (from GFlop/s to PFlop/s, and thousands to millions of cores), the dominant programming languages in HPC remain unchanged — Fortran, C, and C++. The author examines why no new compiled languages have been broadly adopted in HPC despite numerous attempts (HPF, UPC, Chapel, X10, Fortress, etc.), identifying key factors: HPC's unique needs, legacy code inertia, hardware-over-software funding bias, a bottom-up 'sufficient not ideal' mindset, community self-doubt, lack of long-term software funding structures, and the shift toward library/AI-driven development. The author argues HPC programmers deserve modern languages as much as Python, Rust, or Julia communities do, and calls for embracing parallelism's ubiquity, creating sustainable funding for HPC software, and establishing cross-notation benchmarking. Chapel is highlighted as a language that abstracts hardware changes and data movement, though its future depends on community growth and investment.

29m read timeFrom chapel-lang.org
Post cover image
Table of contents
30 Years of Top HPC Systems30 Years of HPC ProgrammingStanding Still? Or Losing Ground?Why the Stasis in HPC Languages?So What Should We Do?Hold on, What About Chapel?In ClosingFor More Information

Sort: