Conveners
Sessions: Tools
- Alfio Lazzaro
Sessions: Coding
- Austen Rainer (Queen's University Belfast)
Sessions: Fortran and Python
- Harvey Richardson (HPE)
Sessions: Coding
- Brad Richardson (Amentum)
Sessions: Coding
- Arjen Markus (Deltares)
Sessions: Compilers
- There are no conveners in this block
Sessions: Coding
- Tiziano Müller (FortranCon Association)
Sessions: Compilers
- There are no conveners in this block
Open-source Fortran developer tools have long lagged behind those supporting languages such as C++ and Python. Tools considered indispensable in modern development workflows – including linters and static-analysers – often have no obvious equivalent in Fortran. This gap presents challenges when onboarding new developers, hinders modernisation efforts, and negatively impacts the overall Fortran...
Codee is the best-in-class static analyzer and source code formatter for Fortran, enhancing modern Fortran software development with advanced code review and testing capabilities that have only been available for C and C++ until the moment. Powered by Codee’s Deep Analysis technology, the tool helps catch bugs, enforce coding guidelines, modernize legacy code, ensure code portability, address...
Fortuno is a flexible and extensible unit testing framework tailored for modern Fortran programming. It offers a simple, user-friendly interface requiring only minimal amount of boiler-plate code when writing unit tests. It puts strong emphasis on modularity and extensibility, providing a robust foundation for creating customized unit testing environments. It is written in Fortran 2018, and...
Fortran unlocked our ability to perform realistic simulations of the Universe, including the formation and interaction of galaxies, stars and planets. In this short talk I will present lessons learnt from 20 years of developing Fortran simulation and visualisation codes for astrophysical fluid dynamics. This will consist of an unsorted list of praise, gripes and wishes for the underlying...
Modern Fortran offers powerful features for building extensible and efficient solvers in computational science. We present a fully Fortran based framework for simulating coupled fluid–structure interactions involving arrays of flexible cilia and deformable particles immersed in flow. The solver employs the immersed boundary method to couple a Navier–Stokes fluid solver with Kirchhoff rod...
OpenRadioss (https://github.com/OpenRadioss/OpenRadioss) represents the open-source version of Radioss, a mature finite element solver with over 30 years of continuous development and about two million lines of Fortran code. The code base is predominantly written in Fortran with some C/C++ components, reflecting decades of engineering expertise in computational mechanics and crash simulation....
Here I will discuss my open source project Gfort2py, a library designed to make it simple to call Fortran from Python, which has been developed over the last 10 years. Gfort2py was designed to make it simple to interface Fortran to Python without needing to make any changes to the Fortran code, while also minimizing changes to build systems. I will discuss how you can interface Fortran with...
This presentation explores the integration of Fortran and Python in solving a system of ordinary differential equations (ODEs) modeling the thermal cracking of Ethylene Dichloride (EDC), a process relevant to vinyl chloride production. The reaction system consists of two consecutive first-order reactions and is solved using the Runge-Kutta-Gill method.
The Fortran implementation is compiled...
Modern scientific workloads demand linear-algebra kernels that are both performant and expressive. We present the new precision-agnostic BLAS and LAPACK layer being upstreamed to the Fortran Standard Library (stdlib). The reference codes have been fully modernised and templated, delivering real and complex arithmetic in 32-, 64-, 80- and 128-bit kinds and supporting the 64-bit integer...
Thermodynamic calculations are fundamental in chemical engineering, with applications in CFD, process and reservoir simulations, among others. Most of
these calculations are based on Equations of State and their respective derivatives that allow constructing the thermodynamic properties required. Equations
of State (EoS), expressed either for Pressure or residual Helmhholtz energy,...
This talk will report on experiences with using recently developed correctness-checking idioms in prompt engineering. The idioms read as natural language statements, a property they share with "vibe coding". At least two properties distinguish the idioms from other vibe coding. First, the idioms are backed up the Fortran standard's formal grammar as defined in extended Backus-Naur form. ...
Porting Fortran applications across different compilers often exposes hidden assumptions, subtle standard deviations, and possible bugs. Modern compilers provide a rich set of diagnostics and runtime checks that go far beyond basic compilation, offering insights into code structure, correctness, and maintainability. This talk presents strategies for using compiler warnings, stricter checks,...
The PURE keyword, introduced in Fortran 95, imposes constraints on a procedure – namely that it cannot perform side effects such as I/O (e.g. printing to the screen). PURE procedures have benefits from a software engineering perspective, making programs easier to test and guiding their development – as shown in https://pbartholomew08.github.io/thoughts/testing_pure_fortran.html. Another...
Fortran has a distinguished history as one of the earliest programming languages, yet its modern open source ecosystem is often perceived as small or stagnant compared to more recent languages. In this talk we present an evidence-based view of the current state of Fortran open source software by mining activity across GitHub. Our study examines the top 2000 “most relevant” Fortran repositories...
Today’s supercomputers are massively parallel, heterogeneous systems and GPUs have long been established as accelerators to boost the execution of data parallel algorithms. However, programming GPUs remains complex and requires specialized expertise to optimize code for a specific architecture, oftentimes involving a vendor-specific programming model. This usually results in code that is not...
The purpose of the GNU Fortran (GFortran) project is to develop the Fortran compiler front end and run-time libraries for GCC, the GNU Compiler Collection. The GFortran compiler is fully compliant with the Fortran 95 Standard and includes legacy F77 support. In addition, most F2003 and F2008 and an increasing number of F2018 and F2023 features are implemented. Of particular importance are the...
This case study summarizes the evolution of an existing CUDA code base in DBCSR and CP2K like the introduction of HIP as well as an OpenCL based implementation. The offload interface in CP2K for instance is already an evolution of DBCSR's offload interface with both focusing on commonly supported primitives accross stream programming models, i.e., only a handful of easy-to-interface C...
Automatic checking of the units in Fortran programs has long been proposed to catch bugs. Implementations have often been limited to test problems and not been applied in practice. Consequently, there has not been much practical experience with unit checking in Fortran. In this work, a compile-time unit checking approach has been developed with gennuits. genunits will generate a Fortran module...
Fortran's dominance in high-performance computing (e.g., climate modeling, finite element analysis, reactive transport in porous media) is hindered by its lack of native support for geospatial data operations. Fortran Numerical libraries often rely on cumbersome custom I/O routines for reading, writing, and reprojecting spatial data. This work presents a solution: the development and...
ParaMonte (short for Parallel Monte Carlo: https://github.com/cdslaborg/paramonte) is a library of Monte Carlo and Machine Learning routines, available in both serial and parallel versions, for general common scientific inference, particularly tasks involving data analysis, optimization, sampling, and integration of mathematical density functions, and exploration of the posterior distributions...
LFortran is a modern, open-source interactive Fortran compiler designed for high-performance computing and scientific applications. Built on top of the LLVM infrastructure, it offers a robust, modular architecture that facilitates advanced code analysis, optimization, and portability. While LLVM remains the primary backend in an advanced alpha stage, LFortran also supports experimental...
This session provides a status update on the Intel® Fortran Compiler, (ifx). This session provides a timeline for the 8-year development cycle for ifx and the front-end integration into the LLVM framework. We will give a status update on Fortran 2023 features along with OpenMP 6.x features. In addition, a preview of features coming in 2026. Learn about the development journey and get a better...