Hybride Parallelisierung und Performanceoptimierung graphenbasierter, mechanischer Simulationen von Super-Kohlenstoff-Nanoröhrchen

Bachelorarbeit

Motivation:

Superkohlenstoff-Nanoröhrchen (eng. Super Carbon Nanotubes, kurz SCNTs) entstehen durch Komposition von Kohlenstoff-Nanoröhrchen mittels Y-Verbindungen zu Strukturen höherer Ordnung und stellen somit sehr strukturierte Formen dar.

Die Modellierung SCNTs mittels gerichteter Graphen ermöglicht die Identifikation und Ausnutzung von Symmetrie und Hierarchie während der Berechnung. Des Weiteren erlaubt ein Matrix-freier Lösungsvorgang, kombiniert mit dem Zwischenspeichern von Zwischenwerten, das effiziente und vollständige Ausnutzen des vorhandenen Arbeitsspeichers. Die Symmetrien und Selbstähnlichkeiten innerhalb der Röhrchen legen außerdem eine strukturbasierte Zerlegung der SCNTs nahe. Die Simulation der resultierenden unabhängigen Teile kann auf verschiedenen Rechenknoten durchgeführt werden. Durch angepasste Reihenfolge der Berechnungen ist auch eine Überlappung von Kommunikation und Berechnungen denkbar, um den Overhead der Parallelisierung zu reduzieren.

Beschreibung der Arbeit:

Im Rahmen dieser Arbeit sollen die folgenden Ziele erreicht werden:

• Bestehende Konzepte zur Zerlegung, Aufteilung und verteilten Berechnung von graphenbasierten SCNTs sollen im bestehenden Simulationscode (C++11) mittels MPI realisiert werden.

• Die Geschwindigkeit der neu entwickelten Lösung soll mit verschiedenen Eingabedaten und variierender Anzahl von Knoten gemessen und gegebenenfalls optimiert werden.

• Ein Umordnen der Berechnungen macht eventuell eine Anpassung der vorhandenen OpenMP Parallelisierung und des Datenpreprocessing nötig, was ebenfalls umgesetzt werden muss.

Die Arbeit kann als Bachelor- oder Master-Thesis bearbeitet werden, wobei im Rahmen einer Masterarbeit auch die Untersuchung der Parallelisierbarkeit eines am Lehrstuhl entwickelten Formates für komprimierte Graphen untersucht werden soll.

Empfohlene Kenntnisse:

• Gute Kenntnisse in C++

• Grundlagen der Parallelisierung mit MPI und OpenMP (z.B. aus der Vorlesung „Programmierung Paralleler Rechnerarchitekturen)

• Die Bereitschaft sich in entsprechende Bereiche der benötigen Graphentheorie sowie das vorhandene Simulations-Framework einzuarbeiten

Publikationen