001031485 001__ 1031485
001031485 005__ 20250314084122.0
001031485 0247_ $$2datacite_doi$$a10.34734/FZJ-2024-05698
001031485 037__ $$aFZJ-2024-05698
001031485 041__ $$aEnglish
001031485 1001_ $$0P:(DE-Juel1)167509$$aReuter, Jan Andre$$b0$$eCorresponding author$$ufzj
001031485 1112_ $$a15th International Parallel Tools Workshop 2024$$cDresden$$d2024-09-19 - 2024-09-20$$wGermany
001031485 245__ $$aScore-P and OMPT: Smoothing the bumpy road to OpenMP performance measurement
001031485 260__ $$c2024
001031485 3367_ $$033$$2EndNote$$aConference Paper
001031485 3367_ $$2DataCite$$aOther
001031485 3367_ $$2BibTeX$$aINPROCEEDINGS
001031485 3367_ $$2DRIVER$$aconferenceObject
001031485 3367_ $$2ORCID$$aLECTURE_SPEECH
001031485 3367_ $$0PUB:(DE-HGF)6$$2PUB:(DE-HGF)$$aConference Presentation$$bconf$$mconf$$s1730714036_29937$$xAfter Call
001031485 520__ $$aThe OpenMP API is a widely used interface for high-level parallel programming in C, C++ and Fortran. Initially introduced in 1997, it now targets three basic processor building blocks, CPUs, SIMD vector units, and accelerators. With large adoption in the HPC community and wide support from compiler vendors, OpenMP grew into a key component in leveraging node-level parallelism in applications and frameworks. Herewith, a need for OpenMP-aware performance measurement and analysis tools arose. In version 5.0 of the OpenMP specification, the OpenMP Tools Interface (OMPT) was introduced, providing means to collect precise information about the application's use of OpenMP directives and lock routines. Although provided with a detailed specification, understanding and correctly handling the CPU execution model event sequence dispatched from various vendor's runtimes requires detailed analysis of events, their parameters and executing threads. To facilitate this analysis, we developed a freely available OMPT tool that allows for dumping execution model events and corresponding metadata for post-mortem inspection. Analyzing the output of this tool applied to the official OpenMP examples and handwritten smoke tests, enabled us to implement an OMPT tool for the performance measurement infrastructure Score-P, replacing the long-established, but feature-incomplete source-to-source OpenMP instrumenter OPARI2. Both OMPT tools are regularly tested against the aforementioned OpenMP examples and smoke tests. As vendors take the freedom to interpret the OMPT specification, various checks were developed to detect deviations. In Score-P, deviations are classified as fatal, disengageable, and remediable. Based on feedback given to the vendors, several of the deviations are no longer a concern. Accompanying the development of OMPT itself, the overhead being introduced in the OpenMP runtimes was always a concern. To assess this overhead in various contemporary runtimes, we used the EPCC and SPEC OpenMP benchmark suites, with OMPT disabled (if possible), with a dummy tool, and with the Score-P OMPT tool attached.
001031485 536__ $$0G:(DE-HGF)POF4-5112$$a5112 - Cross-Domain Algorithms, Tools, Methods Labs (ATMLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x0
001031485 536__ $$0G:(BMBF)16ME0630$$aBMBF 16ME0630 - ENSIMA - Energieoptimiertes High-Performance Computing für Finite-Elemente-Simulationen in der Produktentwicklung (16ME0630)$$c16ME0630$$x1
001031485 536__ $$0G:(DE-Juel-1)ATMLPP$$aATMLPP - ATML Parallel Performance (ATMLPP)$$cATMLPP$$x2
001031485 7001_ $$0P:(DE-Juel1)132244$$aFeld, Christian$$b1$$ufzj
001031485 7001_ $$0P:(DE-Juel1)132199$$aMohr, Bernd$$b2$$ufzj
001031485 8564_ $$uhttps://tu-dresden.de/zih/die-einrichtung/ressourcen/dateien/toolsworkshop/2024_09_19-JanReuter.pdf
001031485 8564_ $$uhttps://juser.fz-juelich.de/record/1031485/files/2024_09_19-JanReuter.pdf$$yOpenAccess
001031485 8564_ $$uhttps://juser.fz-juelich.de/record/1031485/files/2024_09_19-JanReuter.gif?subformat=icon$$xicon$$yOpenAccess
001031485 8564_ $$uhttps://juser.fz-juelich.de/record/1031485/files/2024_09_19-JanReuter.jpg?subformat=icon-1440$$xicon-1440$$yOpenAccess
001031485 8564_ $$uhttps://juser.fz-juelich.de/record/1031485/files/2024_09_19-JanReuter.jpg?subformat=icon-180$$xicon-180$$yOpenAccess
001031485 8564_ $$uhttps://juser.fz-juelich.de/record/1031485/files/2024_09_19-JanReuter.jpg?subformat=icon-640$$xicon-640$$yOpenAccess
001031485 909CO $$ooai:juser.fz-juelich.de:1031485$$pdriver$$pVDB$$popen_access$$popenaire
001031485 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)167509$$aForschungszentrum Jülich$$b0$$kFZJ
001031485 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)132244$$aForschungszentrum Jülich$$b1$$kFZJ
001031485 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)132199$$aForschungszentrum Jülich$$b2$$kFZJ
001031485 9131_ $$0G:(DE-HGF)POF4-511$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5112$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vEnabling Computational- & Data-Intensive Science and Engineering$$x0
001031485 9141_ $$y2024
001031485 915__ $$0StatID:(DE-HGF)0510$$2StatID$$aOpenAccess
001031485 920__ $$lyes
001031485 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0
001031485 980__ $$aconf
001031485 980__ $$aVDB
001031485 980__ $$aUNRESTRICTED
001031485 980__ $$aI:(DE-Juel1)JSC-20090406
001031485 9801_ $$aFullTexts