I was reminded recently how much of today’s MPI applications are written in Fortran. This is why we’re spending sooo much time on Fortran in the MPI-3 process (97 printed pages of Fortran material for the upcoming Stuttgart MPI Forum meeting — yowzers!).
(yes, I know this isn’t directly about high performance networking — but it is worth remembering that a huge number of people people use high performance networking via Fortran)
Before you laugh, remember that computer scientists/engineers don’t write the majority of the real-world codes that run on lots of today’s parallel computational resources. Real scientists and engineers do.
Er, I mean: rocket scientists, chemists, physicists — these are the types of people who have enormous computational problems that require HPC environments to solve. These are the people writing the codes that solve the “nature of the universe” kinds of problems. And they write in Fortran.
Why do they write in Fortran?
Simply because they’re trying to get a job done, and HPC is merely but one tool of many that they have to use. Fortran is a simple language (in some ways — modern versions of Fortran are actually quite subtle and complex!). Most of these scientists and engineers learned it back in their undergraduate days. Perhaps even on punch cards. Ahem.
But Fortran is excellent at doing what it is best at: providing a simple-yet-immensely-flexible-and-powerful-and-lets-not-forget-easily-compiler-optimizable language for computing stuff. A recent ACM Queue article entitled “The Ideal HPC Programming Language“, by Eugene Loh, is a fascinating study on the expressiveness of modern Fortran programming syntax as applied to some HPC codes. It’s worth a read.
Anyhoo — back to reviewing 97 pages of MPI standards text…