• Medientyp: Dissertation; E-Book; Elektronische Hochschulschrift
  • Titel: Compiler-assisted distribution of OpenMP code for improved scalability ; Compiler-gestützte Verteilung von OpenMP-Code für verbesserte Skalierbarkeit
  • Beteiligte: Squar, Jannek [VerfasserIn]
  • Erschienen: Staats- und Universitätsbibliothek Hamburg Carl von Ossietzky, 2023-01-01
  • Sprache: Englisch
  • Schlagwörter: Automatische Parallelisierung ; MPI <Schnittstelle&gt ; LLVM ; Hochleistungsrechnen ; IR ; 54.25: Parallele Datenverarbeitung ; Code-Transformation ; OpenMP ; Compiler ; netCDF ; Erdsystemforschung ; Transformation
  • Entstehung:
  • Anmerkungen: Diese Datenquelle enthält auch Bestandsnachweise, die nicht zu einem Volltext führen.
  • Beschreibung: High performance computing is a complex field, with many homogeneous and heterogeneous hardware architectures, and numerous programming paradigms, libraries and compilers. OpenMP and netCDF are relatively widely used in Earth system research because they are comparatively easy to learn and yet can exploit the potential of a single compute node. However, Earth system scientists without the appropriate training may find it difficult to run their application on a distributed HPC infrastructure. As Earth system applications generally benefit from being able to run on large input problems, they would particularly benefit from HPC features such as process parallelisation, data reduction or parallel input and output. However, their use is not trivial and requires a lot of experience and work. In order to support them, this dissertation develops a tool that allows them to quickly apply useful HPC frameworks without having to deal with the implementation first, by automatically incorporating the necessary code changes into their application. Different approaches are considered that can be used to automatically traverse, analyse and transform code. Based on this, the design of a new tool is presented: CATO is based on the LLVM framework and uses its rich API for automatic code analysis and transformation to add new features to an application. CATO analyses the existing OpenMP kernels of an application and transforms them into equivalent MPI code so that they can be executed on distributed memory systems. If the application also uses netCDF, it can be automatically adapted to use the data compression and parallel input/output features of the netCDF library. In this way, the user can test the effect of the HPC concepts mentioned without having to adapt his application. The evaluation of CATO is based on a PDE solver as well as on netCDF micro-benchmarks to examine the functionality and performance of the modified applications. The tests showed that there was no runtime performance benefit due to the additional overhead ...
  • Zugangsstatus: Freier Zugang
  • Rechte-/Nutzungshinweise: Namensnennung (CC BY) Namensnennung (CC BY)