SALT-FM: Source Analysis Toolkit for Fortran and Mixed-Language Software

Status: Completed

Start Date: 2024-08-07

End Date: 2025-02-06

Description: SALT-FM, the Source Analysis Toolkit for Fortran and Mixed-Language Software, will enhance developers' productivity and boost the efficiency of software applications written in various programming languages, including Fortran. Fortran finds extensive use in both private and government sectors, spanning computational fluid dynamics, chemistry, earth science, and weather prediction, often in tandem with other languages. Despite its prevalence, accessible and platform-agnostic tools for comprehensive performance analysis, static analysis, and program transformation remain scarce. Whether modernizing legacy code, porting components to languages like C++, or optimizing for contemporary hybrid computing systems and accelerators, few cross-platform solutions adequately support Fortran and its multiple recent language standards. SALT-FM will harness and leverage the government funded LLVM Flang project's robust capabilities, to develop a static analysis and program transformation toolkit. The funding will solely cover software development and requirement discovery. In Phase I, the focus lies on creating a prototype capable of instrumenting Fortran and mixed-language programs for profiling with the TAU Performance System. Subsequent efforts will prioritize refining and hardening the profiling and instrumentation tool and expanding static analysis and program transformation functionalities. These enhancements aim to facilitate tasks like language porting, interface generation, and legacy application modernization. Anticipated markets for SALT-FM include various industries such as aerospace, automotive, nuclear power, energy, manufacturing, earth science, weather prediction, chemistry, and life sciences, in addition to government entities like NASA, DOE, DOD, NRC, and others.
Benefits: High-performance computing is increasingly pervasive, employed extensively across all NASA directorates for system study, design, and analysis. SALT-FM will offer significant value to any domain or application utilizing legacy, modern, or mixed-language Fortran software. SALT-FM will be a transformational technology, whether the goal is optimizing applications for the latest hardware architectures, modernizing legacy Fortran code, or porting and interfacing Fortran components to or with other languages. Without the necessary tools to comprehend and manipulate software performance, valuable resources are squandered, including compute cycles and developers' time and effort. Enhancing software performance not only reduces costs and energy demands but also expedites solutions and enables previously unattainable solutions by computing larger scientific and engineering problems with the same resources. Numerous NASA software applications stand to benefit from performance enhancements, code maintenance, porting, and modernization initiatives. For instance, FUN3D, a computational fluid dynamics tool with design optimization and adaptive meshing features, has been transitioning from Fortran to C++, necessitating tuning, porting, or modernization of remaining Fortran components. Similarly, ESMF (Earth Systems Modelling Framework), a blend of Fortran, C, and C++, and JEDI, a data assimilation framework, are other examples of software applications in use at NASA that would benefit from SALT-FM. Additionally, the Copernicus Trajectory Design and Optimization software that heavily utilizes Fortran, or 'OLTARIS: On-Line Tool for the Assessment of Radiation in Space' are other vital NASA tools that SALT-FM would benefit. These are but a few of the many software applications that could benefit from using SALT-FM for performance, static analysis and automated source code generation and transformations. Applications for SALT-FM outside of NASA can be found at other US Government Agencies as well as in the private sector. The DoD, DOE, NRC, NOAA and other Government agencies all have computing needs and software applications written, at least in part, in Fortran. Many of these applications need updating, modernization, and porting to new hardware platforms or programming languages to efficiently use computer and software-developer resources alike. These include CFD software applications in use by the DoD for designing air and naval vehicles, software used to study, design and certify nuclear reactors in use at DOE, NRC and in industry, and weather and hurricane modeling done by government agencies like the national weather service, NOAA and private companies. Private sector enterprises in the automotive, transportation, airline, energy, chemical, life-science and manufacturing sectors also stand to benefit from SALT-FM technology, as users of Fortran and mixed language applications. Ease of use, training and know-how are some of the largest barriers to the utilization of HPC by US small and medium enterprises. SALT-FM will make it easier to understand the performance of modern and legacy software and perform transformations to keep it up to date with today's fast moving computer architectures, software systems, libraries and frameworks. This, in turn, will enable SMEs to more easily and effectively utilize HPC resources, lowering the barrier to entry of HPC.

Lead Organization: ParaTools, Inc.