Modern Fortran is no longer the FORTRAN from punch cards, having this compiler push maybe will help folks to write directly blazing performance Fortran code, instead of numerical code in Python.
I am fully aware of it, however most recent revisions tend not to be adopted by all compilers, and honestly the large majority only cares about keeping existing code running.
A bit like C23 and C++23 are here, and the large majority is a mix of C89, C99, C++11, and C++17, as what folks in the trenches care about.
How many different platforms out there run Fortran code these days? I’m aware of it being very important in scientific computing (and compiling existing code is critical) but I don’t know many other use cases and different platforms requiring different compilers.
At a previous job there were two fairly old Fortran code bases running on emulated hardware. I think one was using an old proprietary compiler (I want to say from IBM) while the other was almost certainly using some ancient compiler given the emulated hardware that it was running on.
> It utilizes a range of Modern Fortran features, including extensive use of optional variables, function pointer passing, and a randomized test driver, among others. Successfully compiling PRIMA requires a compiler with a robust and mature backend, as well as well-developed intermediate passes and a capable parser.
I am not getting a full picture here. What's challenging about PRIMA code base? Does it use some advanced features that are difficult for a compiler to support? Are the mentioned features in the 2008 standard?
What's actually impressive is that LFortran in alpha stage is only 2x slower than GFortran, which goes back decades.
It was a lot of corner cases that we had to get right, it's the most advanced code that LFortran can compile. I think none of the features individually is difficult to support, but there were a lot of them.
I'll have to benchmark a library-less Matmul with LFortran, to compare against flang, C, and python versions.
Roughly: 8, 12, 18 units of time, respectively. Python only being twice as slow for the simplest matmul - how much of that is merely the interpreter startup time?
Modern Fortran is no longer the FORTRAN from punch cards, having this compiler push maybe will help folks to write directly blazing performance Fortran code, instead of numerical code in Python.