Skip to main content

SALT-FM and TAU for Performance Analysis, Profiling and Beyond

Speaker: Sameer Shende, University of Oregon and ParaTools, Inc.

Presentation

Seminar Slide Deck (PDF-8.2MB)

Abstract

In this talk, we present recent advances in the TAU Performance System and also discuss our work on SALT-FM under a NASA Phase I SBIR award. SALT-FM is the Source Analysis Toolkit for Fortran and Mixed-Language Software. The TAU Performance System, in wide use at government lab computing centers including NASA, DoD and DOE, is an extremely powerful and versatile performance measurement and analysis system. TAU supports several different mechanisms for instrumentation of applications. Among the most powerful and flexible is source-based instrumentation, in which an application’s source code is parsed and the code modified to insert instrumentation points around areas of interest. However, source-based instrumentation also presents usability issues, and is difficult for even expert users to apply to large codebases written in modern Fortran and highly-templated, modern C++, which are becoming increasingly common as applications are being prepared for exascale. In particular, while the Fortran parsers in TAU and PDT have worked well for many codes over the years, they are based on proprietary parsers or custom versions of the GFortran compiler, making them hard or impossible to update for the latest Fortran standards. Exascale science and engineering codebases are also becoming increasing difficult for an unaided developer to reason about the performance and correctness of the code by manual inspection. To address these issues, we are building a next-generation source analysis toolkit, called SALT-FM, based on LLVM compiler technology. SALT-FM is being built using modern Fortran parsers from LLVM-Flang, LLVM’s libTooling library, and C and C++ parsers from Clang. SALT-FM’s goal is to harden and improve the usability of TAU and to build a simplified interface on to LLVM technology. We demonstrate our working prototype of SALT-FM for inserting TAU instrumentation into both C/C++ and Fortran programs. The larger vision for SALT-FM is to develop a more generic static analysis capability that will allow developers who are not compiler engineers to build custom static analysis and source-to-source transformation tools. While the scope of the work associated with Phase I is limited to building some basic infrastructure and creating a functional mixed-language source-based instrumentation tool for use with TAU, follow on work will focus on more generic static analysis and program transformation. Tasks of interest may include automatic generation of interfaces for use in mixed language programming, or porting portions of code to a different language like C++ or generating parallel code to be run on accelerators like GPUs.

Biography

Photo of Sameer Shende
Sameer Shende serves as a Research Professor and the Director of the Performance Research Laboratory at the University of Oregon and the President and Director of ParaTools, Inc. (USA) and ParaTools, SAS (France). He serves as the Technical Lead of the Extreme-scale Scientific Software Stack (E4S), TAU Performance System, Program Database Toolkit (PDT), and HPC Linux projects. His research interests include scientific software stacks, performance instrumentation, compiler optimizations, measurement, and analysis tools for HPC. He received his B.Tech. in Electrical Engineering from IIT Bombay in 1991, and his M.S. and Ph.D. in Computer and Information Science from the University of Oregon in 1996 and 2001 respectively.