Cargando…
Timemory: Modular Performance Analysis for HPC
HPC has undergone a significant transition toward heterogeneous architectures. This transition has introduced several issues in code migration to support multiple frameworks for targeting the various architectures. In order to cope with these challenges, projects such as Kokkos and LLVM create abstr...
Autores principales: | , , , , , , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7295383/ http://dx.doi.org/10.1007/978-3-030-50743-5_22 |
_version_ | 1783546638274396160 |
---|---|
author | Madsen, Jonathan R. Awan, Muaaz G. Brunie, Hugo Deslippe, Jack Gayatri, Rahul Oliker, Leonid Wang, Yunsong Yang, Charlene Williams, Samuel |
author_facet | Madsen, Jonathan R. Awan, Muaaz G. Brunie, Hugo Deslippe, Jack Gayatri, Rahul Oliker, Leonid Wang, Yunsong Yang, Charlene Williams, Samuel |
author_sort | Madsen, Jonathan R. |
collection | PubMed |
description | HPC has undergone a significant transition toward heterogeneous architectures. This transition has introduced several issues in code migration to support multiple frameworks for targeting the various architectures. In order to cope with these challenges, projects such as Kokkos and LLVM create abstractions which map a generic front-end API to the backend that supports the targeted architecture. This paper presents a complementary framework for performance measurement and analysis. Several performance measurement and analysis tools in existence provide their capabilities through various methods but the common theme among these tools are prohibitive limitations in terms of user-level extensions. For this reason, software developers commonly have to learn multiple tools and valuable analysis methods, such as the roofline model, are frequently required to be generated manually. The timemory framework provides complete modularity for performance measurement and analysis and eliminates all restrictions on user-level extensions. The timemory framework also provides a highly-efficient and intuitive method for handling multiple tools/measurements (i.e., “components”) concurrently. The intersection of these characteristics provide ample evidence that timemory can serve as the common interface for existing performance measurement and analysis tools. Timemory components are developed in C++ but includes multi-language support for C, Fortran, and Python codes. Numerous components are provided by the library itself – including, but not limited to, timers, memory usage, hardware counters, and FLOP and instruction roofline models. Additionally, analysis of the intrinsic overhead demonstrates superior performance in comparison with popular tools. |
format | Online Article Text |
id | pubmed-7295383 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-72953832020-06-16 Timemory: Modular Performance Analysis for HPC Madsen, Jonathan R. Awan, Muaaz G. Brunie, Hugo Deslippe, Jack Gayatri, Rahul Oliker, Leonid Wang, Yunsong Yang, Charlene Williams, Samuel High Performance Computing Article HPC has undergone a significant transition toward heterogeneous architectures. This transition has introduced several issues in code migration to support multiple frameworks for targeting the various architectures. In order to cope with these challenges, projects such as Kokkos and LLVM create abstractions which map a generic front-end API to the backend that supports the targeted architecture. This paper presents a complementary framework for performance measurement and analysis. Several performance measurement and analysis tools in existence provide their capabilities through various methods but the common theme among these tools are prohibitive limitations in terms of user-level extensions. For this reason, software developers commonly have to learn multiple tools and valuable analysis methods, such as the roofline model, are frequently required to be generated manually. The timemory framework provides complete modularity for performance measurement and analysis and eliminates all restrictions on user-level extensions. The timemory framework also provides a highly-efficient and intuitive method for handling multiple tools/measurements (i.e., “components”) concurrently. The intersection of these characteristics provide ample evidence that timemory can serve as the common interface for existing performance measurement and analysis tools. Timemory components are developed in C++ but includes multi-language support for C, Fortran, and Python codes. Numerous components are provided by the library itself – including, but not limited to, timers, memory usage, hardware counters, and FLOP and instruction roofline models. Additionally, analysis of the intrinsic overhead demonstrates superior performance in comparison with popular tools. 2020-05-22 /pmc/articles/PMC7295383/ http://dx.doi.org/10.1007/978-3-030-50743-5_22 Text en © Springer Nature Switzerland AG 2020 This article is made available via the PMC Open Access Subset for unrestricted research re-use and secondary analysis in any form or by any means with acknowledgement of the original source. These permissions are granted for the duration of the World Health Organization (WHO) declaration of COVID-19 as a global pandemic. |
spellingShingle | Article Madsen, Jonathan R. Awan, Muaaz G. Brunie, Hugo Deslippe, Jack Gayatri, Rahul Oliker, Leonid Wang, Yunsong Yang, Charlene Williams, Samuel Timemory: Modular Performance Analysis for HPC |
title | Timemory: Modular Performance Analysis for HPC |
title_full | Timemory: Modular Performance Analysis for HPC |
title_fullStr | Timemory: Modular Performance Analysis for HPC |
title_full_unstemmed | Timemory: Modular Performance Analysis for HPC |
title_short | Timemory: Modular Performance Analysis for HPC |
title_sort | timemory: modular performance analysis for hpc |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7295383/ http://dx.doi.org/10.1007/978-3-030-50743-5_22 |
work_keys_str_mv | AT madsenjonathanr timemorymodularperformanceanalysisforhpc AT awanmuaazg timemorymodularperformanceanalysisforhpc AT bruniehugo timemorymodularperformanceanalysisforhpc AT deslippejack timemorymodularperformanceanalysisforhpc AT gayatrirahul timemorymodularperformanceanalysisforhpc AT olikerleonid timemorymodularperformanceanalysisforhpc AT wangyunsong timemorymodularperformanceanalysisforhpc AT yangcharlene timemorymodularperformanceanalysisforhpc AT williamssamuel timemorymodularperformanceanalysisforhpc |