Preparing the TAU performance system for exascale and beyond
The TAU Performance System ® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, UPC, Java, Python. TAU (Tuning and Analysis Utilities) is capable of gathering performance information through instrumentation of functions, methods, basic blocks, and statements as well as event-based sampling. All C++ language features are supported including templates and namespaces. The API also provides selection of profiling groups for organizing and controlling instrumentation. The instrumentation can be inserted in the source code using an automatic instrumentation tool based on the Program Database Toolkit (PDT), dynamically using binary modification, at runtime in the Java Virtual Machine, or manually using the instrumentation API. Under the Exascale Computing Program (ECP), the TAU project was funded to prepare the software for exascale systems and beyond. Many new features and optimizations were added to TAU, including support for the new exascale system architectures and their preferred programming models. The new features include OpenMP Tools support, updated or newly implemented CUDA, HIP, and SYCL support, updated OpenACC and Clacc support, MPI updates, a new plugin API and several plugins, instrumentation updates, support for the Kokkos and Raja profiling interfaces, updated support for Python, PyTorch, TensorFlow, and Horovod, and removed threading limitations. In this paper, we will discuss these updates and more, and demonstrate the features with ECP Proxy Applications and full ECP applications.
Authors
- Camille Coti (ORCID: https://orcid.org/0000-0002-1224-7786)
- Dewi Yokelson (ORCID: https://orcid.org/0000-0003-1453-5906)
- Izaak Beekman (ORCID: https://orcid.org/0000-0001-9506-504X)
- Md. Mahmudul Haque (ORCID: https://orcid.org/0000-0001-9887-5937)
- Nicholas Chaimov (ORCID: https://orcid.org/0000-0001-7807-7620)
- Sameer Shende (ORCID: https://orcid.org/0000-0002-2592-669X)
- R. Srinivasan (ORCID: https://orcid.org/0000-0001-5987-3189)
- Jordi Alcaraz (ORCID: https://orcid.org/0000-0002-9640-6763)
- Jacob Lambert (ORCID: https://orcid.org/0000-0002-6992-3650)
- Alister Johnson (ORCID: https://orcid.org/0000-0002-7199-8221)
- Kevin Huck
- Allen D. Malony
- Chad Wood
- Wyatt Spear (ORCID: https://orcid.org/0009-0005-9704-7642)
- Cameron Durbin
Institutions
- Oak Ridge National Laboratory (US)
- Advanced Micro Devices (Canada) (CA)
- University of Oregon (US)
- Nvidia (United States) (US)
- ParaTools (United States) (US)
- Advanced Micro Devices (United States) (US)
- École de Technologie Supérieure (CA)
Publication Details
- Journal
- The International Journal of High Performance Computing Applications
- Published
- 2025-04-21
- DOI
- https://doi.org/10.1177/10943420251334456
- Citations
- 4
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 9.08
Funders
- National Aeronautics and Space Administration
- Office of Science