September 01, 2020
Authors: Milan Curcic, Ondřej Čertík, Gary Klimowicz, Brad Richardson, Jérémie Vandenplas, Thomas König, and Laurence Kedward
Welcome to the September 2020 edition of the monthly Fortran newsletter. The newsletter comes out on the first calendar day of every month and details Fortran news from the previous month.
We continued the work on the Fortran-lang website, specifically:
Let us know if you have any suggestions for the website and its content. We welcome any new contributors to the website and the tutorials page in particular - see the contributor guide for how to get started.
There hasn’t been new stdlib development in August, however ongoing work and discussions continue:
The candidate for file system operations to be included in stdlib is being developed by @MarDiehl and @arjenmarkus in this repository. Please try it out and let us know how it works, if there are any issues, or if the API can be improved.
Ongoing work in fpm:
fpm is still in early development and we need as much help as we can get. Here’s how you can help today:
The short term goal of fpm is to make development and installation of Fortran packages with dependencies easier. Its long term goal is to build a rich and decentralized ecosystem of Fortran packages and create a healthy environment in which new open source Fortran projects are created and published with ease.
We created the benchmarks repository with the goal to design and implement a comprehensive set of benchmarks. The benchmarks will aim to compare the performance of various Fortran compilers, as well as the performance of canonical algorithms implemented in Fortran and different languages. If you’d like to contribute in any way, be it the design, implementation, or testing of benchmarks, please join the ongoing discussion here.
GFortran 10.2 has been released, a bugfix release for 10.1. Bugs fixed include PR94361, a memory leak with finalizers.
The development version of
gfortran now supports the
full OpenMP 4.5 specification. This will be released
with GCC 11, but of course people can already download
and test it.
We’re evaluating pull requests and merging them into the original Flang compiler again. We pulled in 4 changes in the past couple of weeks, and expect to merge in a few more each week. One upcoming change is the support for LLVM 10, which requires the use of a new fork, the classic-flang-llvm-project fork of the LLVM monorepo. See PR#1 for details.
The Classic Flang biweekly call has been set up to discuss issues and plans for the next pull requests to be validated and merged. Our next calls will be Wednesday, September 9 and 23, 8:30 AM Pacific time. The notes from previous calls, upcoming agenda and a link to join the call can be found here.
Work continues on LLVM Flang, concentrating on semantics, lowering and runtime sufficient to compile and run Fortran 77 programs. We are fixing bugs we find in running FCVS and other F77 test suites (and the F77 parts of non-F77 suites).
In conjunction with the MLIR-based code from the fir-dev fork (the Fortran IR used for lowering), Flang can compile and run most F77 programs. We continue to work on refactoring necessary to upstream this fork into LLVM flang proper.
Arm is working on changes to support a driver program to replace the temporary driver we currently use.
Valentin Clement continues to contribute parsing and semantics changes for OpenACC support.
What’s new in LFortran:
lfortran fmtsubcommand for formatting Fortran files, you can provide feedback here.
lfortran kernelcan run LFortran as a Jupyter kernel.
Our goal for September is to get LFortran working for a much larger subset of Fortran and allow it to compile and run via the C++ translation backend (the LLVM backend will follow soon after).
You can follow LFortran on Twitter for latest updates: @lfortranorg.
We thank everybody who contributed to fortran-lang in the past month by commenting in any of these repositories: