NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
LFortran compiles PRIMA (lfortran.org)
pjmlp 117 days ago [-]
Nice milestone.

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.

anta40 117 days ago [-]
The lang is still under development, the most current in in Fortran 2023: https://global.oup.com/academic/product/modern-fortran-expla...
pjmlp 117 days ago [-]
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.

Or Java 8 versus Java 24, and so on.

Fortran is in a similar position.

rbanffy 117 days ago [-]
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.
pjmlp 117 days ago [-]
In many HPC cases you are using the platform tools, not gfortran.

Also we have one use case that is responsible for OpenCL losing mindshare for scientific community, running Fortran on GPU.

Thus I bet at least Intel, NVidia, AMD, Cray, IBM, being relevant ones.

Yes, some of them are planning to eventually adopt LFortran to replace their own, like they did with clang, or at least are using LLVM nowadays.

pklausler 115 days ago [-]
I think that you're conflating LFortran with LLVM Flang.
jamesfinlayson 116 days ago [-]
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.
ok123456 116 days ago [-]
Everyone using numpy.
rbanffy 116 days ago [-]
What compilers are used to build it might be relevant.
ok123456 116 days ago [-]
Typically gfortran and intel fortran.
ggraphilia 116 days ago [-]
It may not be that simple on Windows : https://labs.quansight.org/blog/building-scipy-with-flang
yjftsjthsd-h 117 days ago [-]
I was given to believe that a lot of numerical code in python is fortran with a little bit of wrapper?
pjmlp 117 days ago [-]
Depends on the library, it is a mix of C, C++, Fortran, and using Python as JIT DSLs.
genphy1976 116 days ago [-]
For more information about LFortran, see

- Wikipedia: https://en.wikipedia.org/wiki/LFortran

- Homepage: https://lfortran.org

- GitHub: https://github.com/lfortran/lfortran

If you like to play with it, see

- LFortran in web browsers using WebAssembly: https://dev.lfortran.org

- LFortran in Compiler Explorer: https://godbolt.org/z/EfWvsY6Kh

andsoitis 117 days ago [-]
LFortran is an alpha-stage modern, interactive LLVM-based Fortran compiler.
froh 116 days ago [-]
thanks you've saved me looking it up myself
quanto 116 days ago [-]
> 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.

certik 115 days ago [-]
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.
actinium226 116 days ago [-]
Congrats to Ondřej Čertík and the team working on LFortran, this is a big milestone!
ggraphilia 116 days ago [-]
pklausler 115 days ago [-]
That's not the same compiler.
seekdeep 115 days ago [-]
Right. The article talks about building SciPy using LLVM-Flang, although it does mention LFortran a few times as well.
ggraphilia 116 days ago [-]
genphy1976 116 days ago [-]
In case you appreciate LFortran and would like to sponsor its development, see

- Become a sponsor to LFortran: https://github.com/sponsors/lfortran

- Open Collective: https://opencollective.com/lfortran

- NumFOCUS: https://numfocus.org/donate-to-lfortran

genewitch 116 days ago [-]
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?

fadreqrew 117 days ago [-]
[dead]
erwiue 117 days ago [-]
[dead]
fdfdsafa 117 days ago [-]
[dead]
rewqa 117 days ago [-]
[flagged]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 02:28:24 GMT+0000 (Coordinated Universal Time) with Vercel.