h1

h2

h3

h4

h5
h6
000695879 001__ 695879
000695879 005__ 20251020082400.0
000695879 0247_ $$2HBZ$$aHT019387391
000695879 0247_ $$2datacite_doi$$a10.18154/RWTH-2017-06527
000695879 0247_ $$2Laufende Nummer$$a36291
000695879 037__ $$aRWTH-2017-06527
000695879 041__ $$aEnglish
000695879 082__ $$a004
000695879 1001_ $$0P:(DE-82)IDM00436$$aCramer, Tim$$b0$$urwth
000695879 245__ $$aAnalyzing memory accesses for performance and correctness of parallel programs$$cvorgelegt von Diplom-Ingenieur Tim Cramer$$honline
000695879 246_3 $$aAnalyse von Speicherzugriffen für die Performance und Korrektheit von parallelen Programmen$$yGerman
000695879 260__ $$aAachen$$c2017
000695879 300__ $$a1 Online-Ressource (viii, 151 Seiten) : Illustrationen, Diagramme
000695879 3367_ $$2DataCite$$aOutput Types/Dissertation
000695879 3367_ $$2ORCID$$aDISSERTATION
000695879 3367_ $$2BibTeX$$aPHDTHESIS
000695879 3367_ $$02$$2EndNote$$aThesis
000695879 3367_ $$0PUB:(DE-HGF)11$$2PUB:(DE-HGF)$$aDissertation / PhD Thesis$$bphd$$mphd
000695879 3367_ $$2DRIVER$$adoctoralThesis
000695879 500__ $$aVeröffentlicht auf dem Publikationsserver der RWTH Aachen University
000695879 502__ $$aDissertation, RWTH Aachen University, 2017$$bDissertation$$cRWTH Aachen University$$d2017$$gFak01$$o2017-07-05
000695879 5203_ $$aDer stetig wachsende Bedarf an Rechenleistung im wissenschaftlichen Umfeld hat im laufenden Jahrzehnt sowohl zu einer weiten Verbreitung als auch hohen Akzeptanz von hochparallelen Computerarchitekturen geführt. Dieser Trend ist auch in der TOP500-Liste der leistungsfähigsten Supercomputer der Welt manifestiert, in welcher über 40% der Gesamt-Performance aus Akzelerator-basierten Systemen resultiert. Die Programmierung dieser Systeme erforderte in der Vergangenheit häufig zeitaufwändige Anpassungen der rechenintensiven Programmteile, bevor produktivere Ansätze wie OpenACC oder die die Offloading-Direktiven in OpenMP aufkamen. Jedoch bleibt auch mit diesen nutzerfreundlicheren Ansätzen die Programmierung für heterogene Architekturen komplex und fehleranfällig und stellt viele Anforderungen an den Programmierer, der eine hohe Performance für seine Anwendung erreichen will. Eine Schlüsselrolle für das Verständnis der Performance und der Korrektheit eines parallelen Programms spiegelt sich in der Analyse der Speicherzugriffe wieder. Diese Arbeit verfolgt einen ganzheitlichen Ansatz unter Berücksichtigung der Hardware-Eigenschaften, des Programmierparadigmas, der zugrundeliegende Implementierung und der Schnittstelle für eine adäquate Tool-Unterstützung in Bezug auf beide Aspekte. Die Verbesserung der Performance und die Validierung einer Anwendung erfordert hierbei ein tiefgehendes Verständnis des dynamischen Laufzeitverhaltens. Hierbei ist das adäquate Platzieren der Daten und Threads essentiell für die Performance, und die Zugriffsreihenfolge essentiell für das deterministische Verhalten bzw. die Korrektheit einer Anwendung. Aus diesem Grund wird diese Arbeit zunächst eine systematische Methodik zur Bewertung von OpenMP Target-Devices, Muster für die effiziente Task-parallele Programmierung von Non-Uniform Memory Access (NUMA) Architekturen, sowie Verbesserungen für eine standardkonforme Tool-Unterstützung präsentieren. Basierend auf den gewonnenen Erkenntnissen, wird im Anschluss ein OpenMP Epochen-Modell für die Korrektheitsanalyse definiert, welches die Semantik inklusive des Laufzeit- und Speichermodells von OpenMP berücksichtigt. Die Evaluierung der entwickelten Konzepte erfolgt an Hand von relevanten Tools zur Performance- und Korrektheitsanalyse.$$lger
000695879 520__ $$aThe demand for large compute capabilities in scientific computing led to wide use and acceptance of highly-parallel computer architectures during the last decade. This trend is manifested in the TOP500, listing the fastest supercomputer of the world, in which about 40% of the performance share results from accelerator-based systems. Programming for these architectures in the past often required a timeconsuming rewrite of the compute-intensive application parts, until more productive approaches like Open Accelerators (OpenACC) or the target offloading features of Open Multi-Processing (OpenMP) came to existence. However, parallel programming for heterogeneous architectures is still a complex and error-prone task, posing several challenges to the programmer who wants to achieve high application performance. One key factor for the understanding of the performance and the correctness of a parallel program is reflected in the analysis of the memory accesses. This work takes a holistic view on the hardware properties, the programming paradigm, its particular implementation and the interfaces for an adequate tool support with respect to both aspects. The improvement of the performance and the validation of an application requires a deep comprehension of the dynamic runtime behavior. Here, the appropriate data and thread placement is essential for the performance, and the order of the memory accesses is essential for the deterministic behavior or rather the correctness of the application. Therefore, this work will first present a systematic methodology for the assessment of OpenMP for target devices, patterns for the efficient usage of task-based programming on Non-Uniform Memory Access (NUMA) architectures, and the improvement of standard-compliant tool support. Based on the gathered insights, an OpenMP epoch model for correctness checking is defined, which respects the OpenMP semantics including the runtime and memory model. The evaluation of the developed concepts is shown by application to realworld performance analysis and correctness checking tools.$$leng
000695879 588__ $$aDataset connected to Lobid/HBZ
000695879 591__ $$aGermany
000695879 650_7 $$xDiss.
000695879 7001_ $$0P:(DE-82)IDM01074$$aMüller, Matthias S.$$b1$$eThesis advisor$$urwth
000695879 7001_ $$0P:(DE-82)IDM00048$$aKatoen, Joost-Pieter$$b2$$eThesis advisor$$urwth
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.pdf$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879_source.zip$$yRestricted
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.gif?subformat=icon$$xicon$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.jpg?subformat=icon-1440$$xicon-1440$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.jpg?subformat=icon-180$$xicon-180$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.jpg?subformat=icon-640$$xicon-640$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.jpg?subformat=icon-700$$xicon-700$$yOpenAccess
000695879 8564_ $$uhttps://publications.rwth-aachen.de/record/695879/files/695879.pdf?subformat=pdfa$$xpdfa$$yOpenAccess
000695879 909CO $$ooai:publications.rwth-aachen.de:695879$$pdnbdelivery$$pdriver$$pVDB$$popen_access$$popenaire
000695879 9101_ $$0I:(DE-588b)36225-6$$6P:(DE-82)IDM01074$$aRWTH Aachen$$b1$$kRWTH
000695879 9101_ $$0I:(DE-588b)36225-6$$6P:(DE-82)IDM00048$$aRWTH Aachen$$b2$$kRWTH
000695879 9141_ $$y2017
000695879 915__ $$0StatID:(DE-HGF)0510$$2StatID$$aOpenAccess
000695879 9201_ $$0I:(DE-82)123010_20140620$$k123010$$lLehrstuhl für Informatik 12 (Hochleistungsrechnen)$$x0
000695879 9201_ $$0I:(DE-82)120000_20140620$$k120000$$lFachgruppe Informatik$$x1
000695879 961__ $$c2017-08-10T10:40:58.079769$$x2017-07-12T08:48:42.096441$$z2017-08-10T10:40:58.079769
000695879 9801_ $$aFullTexts
000695879 980__ $$aphd
000695879 980__ $$aVDB
000695879 980__ $$aUNRESTRICTED
000695879 980__ $$aI:(DE-82)123010_20140620
000695879 980__ $$aI:(DE-82)120000_20140620