Zur Seitenansicht
 

Titelaufnahme

Titel
Efficiency and Quality Control for Particle Simulations / eingereicht von DI Richard Berger
VerfasserBerger, Richard
Begutachter / BegutachterinPirker, Stefan ; Lichtenegger, Thomas
ErschienenLinz, 2016
Umfangv, 170 Blätter : Illustrationen
HochschulschriftUniversität Linz, Univ., Dissertation, 2016
Anmerkung
Zusamenfassung in deutscher Sprache
SpracheEnglisch
Bibl. ReferenzOeBB
DokumenttypDissertation
Schlagwörter (DE)Diskrete Elemente Methode / LIGGGHTS / MPI / OpenMP / Hybrid Parallelisierung / Software Testing
Schlagwörter (EN)discrete element method / LIGGGHTS / MPI / OpenMP / hybrid parallelisierung / software testing
Schlagwörter (GND)Diskrete-Elemente-Methode / Open Source / MPI <Schnittstelle> / OpenMP / Parallelisierung
URNurn:nbn:at:at-ubl:1-7486 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist gemäß den "Hinweisen für BenützerInnen" verfügbar
Dateien
Efficiency and Quality Control for Particle Simulations [8.45 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Diese Arbeit beschreibt die Verbesserung der Effizienz und Qualität des LIGGGHTS Open-Source Software Paketes für Diskrete Elemente Methoden. Sie erläutert zunächst die Kern-Algorithmen und die prinzipielle Funktionsweise dieses wissenschaftlichen Codes. Um das Überarbeiten des Codes durch automatisierte Tests und Validierung zu unterstützen, wurde eine Test Umgebung eingeführt. Mithilfe dieser konnte die Codebasis über mehrere iterative Schritte verbessert werden, ohne dabei die bestehende Funktionalität zu gefährden. Die Erstellung neuer Kraftmodelle für Partikel-Partikel- und Partikel-Wand-Interaktionen wurde durch umfassende Änderungen vereinfacht. Dies bereitete den Weg für weitere Optimierungen, wie das Ausnutzen mehrerer Threads innerhalb aller granularer Kraftberechnungen mittels OpenMP. Im Zuge dieser Arbeiten kam es auch bei den Kern-Funktionen von LIGGGHTS zu zahlreichen Verbesserungen. Durch Laufzeitmessung und Profiling konnten Engpässe festgestellt und behoben werden. Schlussendlich führten diese Arbeiten zur Entwicklung einer MPI/OpenMP Hybrid Parallelisierung von LIGGGHTS, welche die bestehende MPI Parallelisierung erweitert. Es werden die dabei auftretenden Probleme und entsprechenden Lösungen dokumentiert, welche für einen skalierbaren Code notwendig waren. Drei Fallstudien, inklusive zweier realer Problemstellungen mit bis zu 1.5 Millionen Partikeln, wurden evaluiert und demonstrieren die praktische Anwendung dieser Methode. Bei diesen Beispielen werden im Vergleich zu reinen MPI Simulationen, aufgrund besserer Lastverteilungen und reduzierter MPI Kommunikation, die Berechnungszeiten um bis zu 44% reduziert. Damit wird gezeigt, dass mithilfe der Hybrid Parallelisierung von LIGGGHTS aktuelle und zukünftige Rechenkapazitäten effektiver genutzt werden können.

Zusammenfassung (Englisch)

This work describes the efforts of improving the efficiency and quality of the LIGGGHTS open-source software package for Discrete Element Methods (DEM). It explains the core algorithms present in this code and how a test harness was developed to support refactoring by automated testing and validation. Because of this testing facility, iterative refactoring of the code base could take place without damaging existing functionality. Major modifications were made to the code base to simplify the common task of creating new force models both for particle-particle and particle-wall contacts. This paved the way for further advances such as multi-threaded OpenMP versions of all granular force kernels. Along the way many improvements were made to the core functionality in LIGGGHTS. Through measuring and profiling, performance bottlenecks in the existing implementation were found and improved. Finally, an MPI/OpenMP hybrid parallelization was developed which extends the existing MPI parallelization of the code. Problems encountered and the solutions implemented to achieve scalable performance using both parallelization models are explained in this text. Three case studies, including two real-world applications with up to 1.5 million particles, were evaluated and demonstrate the practicality of this approach. In these examples, better load balancing and reduced MPI communication led to speed increases of up to 44% compared to MPI-only simulations. This shows that by using the hybrid parallelization of LIGGGHTS, current and future computing resources can be used more effectively.