Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Future strategy regarding frontends #406

Open
reuterbal opened this issue Oct 15, 2024 · 2 comments
Open

Future strategy regarding frontends #406

reuterbal opened this issue Oct 15, 2024 · 2 comments

Comments

@reuterbal
Copy link
Collaborator

What maintenance does this project need?

We need to have a discussion on the future of Loki frontends.

Fparser is being actively worked on, is the most complete and our standard frontend.

Our use of OMNI compiler depends on the specific OMNI version packaged in the CLAW repository. That version is a few years old and doesn't build with newer compiler versions, e.g., GNU10+, anymore. But even the latest updates on the upstream OMNI compiler repository have been more than 2 years ago: https://github.com/omni-compiler/omni-compiler
Our Github CI currently runs with the ubuntu 20.04 runners, which will likely be EOL some time next year, when that Ubuntu version goes out of maintenance. Hence, we have a call to make regarding the future of OMNI in Loki.

The Open Fortran Parser relies on an outdated Python package that wraps an old ROSE compiler frontend version. We have already earmarked this for removal (#209).

The question is whether

  • we would be comfortable relying on a single frontend, or
  • if we should expend effort to either update one of the others to a more recent version
  • explore other frontend options in lieu

Various options exist for the last:

  • Use an up-to-date ROSE compiler version, which may provide other Python binding options
  • Explore Fxtran as a frontend
  • Explore Lfortran as a frontend
  • ...?

Organisation

No response

@reuterbal
Copy link
Collaborator Author

As explained in #408, removing CLAW allows to upgrade OMNI to the most recent release which currently remains compatible with the latest compiler versions and CI runners. If anything, this buys us a little time...

@reuterbal
Copy link
Collaborator Author

reuterbal commented Oct 18, 2024

PR #411 implements the deprecation of OFP for the next Loki release (v0.2.8?). The intention is to remove the frontend entirely in the release following after that (could justify a version increase as v0.3.0?).

As expected, this reduces the test coverage because the translation from the OFP parse tree to the Loki IR is no longer covered in the tests, and alongside the relevant constructors for Sourcefile, Subroutine, Module, etc. However, it incurred also a number of indirect coverage regressions due to code paths that only exist for OFP. These would have to be removed together with the frontend, or need to receive dedicated tests.

The following indirect coverage regressions are capture by codecov:

I suspect the last two may be false negatives, but the others appear to be genuine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant