August 01, 2020
Authors: Ondřej Čertík, Milan Curcic, Laurence Kedward, Jérémie Vandenplas, Arjen Markus and Gary Klimowicz
Welcome to the August 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, including:
#116: updates to the Quickstart tutorial on loop control and syntax
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.
What’s new in the Fortran Standard Library:
Main ongoing discussions:
What’s new in fpm:
fpm.tomlfile. Soon, this registry will be used to generate detailed metadata that will be used by fpm to allow you to search for packages from the command-line, e.g.
fpm search <package>or similar.
fpm/bootstrapdirectory, and the Fortran implementation is developed in
fpm/fpm. The Fortran fpm is, of course, an fpm package itself so it can be built by the Haskell fpm. Soon, it will be able to be build by itself.
fpm is still in very 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.
We’ve begun to evaluate pull requests and merge them into the original Flang compiler again. There is now a biweekly call to discuss issues and plans for Classic Flang. The next call will be Wednesday, August 12, 8:30 AM Pacific time. The notes from previous calls, upcoming agenda and a link to join the call can be found here.
In the last call, AMD reviewed their outstanding pull requests for Fortran debug metadata enhancements.
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 test suites that use F77.
We cominue upstreaming the lowering code from the fir-dev fork (MLIR-based Fortran IR) into the llvm-project repository. Arm is working on changes to support a driver program to replace the throwaway driver we currently have.
AMD has been contributing parser and semantic processing for OpenMP constructs like task wait, barrier and parallel constructs.
Changes have been made to default parse/unparse/compile processing to default to gfortran (not NVIDIA Fortran).
Valentin Clement has been committing initial changes for OpenACC support.
What’s new in LFortran:
do concurrentto C++’s
The short term goal is to get the C++ based production version of LFortran matching most of the features from the Python prototype version and make a public release. The long term goal is to build a modern Fortran compiler that works with any production code and allows it to run efficiently on modern hardware (CPUs and GPUs), both interactively and compiling to binaries, and provide the basis for other tools such as the Fortran to C++ translation, editor support, automatic documentation generation (and doctesting like in Python), automatic formatting and others.
We had our third Fortran Monthly call on July 16. You can read watch the recording below:
We thank everybody who contributed to fortran-lang in the past month by commenting in any of the four repositories: