# AG HPC|A: Themensammlung Abschlussarbeiten
Diese Seite stellt eine Übersicht offener Themenideen inklusive kurzer stichpunktartiger Auflistung möglicher Aufgabenstellungen für Abschlussarbeiten in der Arbeitsgruppe "High Performance Computing and its Applications" zur Verfügung. Bei Interesse wenden Sie sich bitte an den jeweiligen Betreuer (Kontaktdetails finden Sie unter Members auf unserer Webseite).
Webseite der Arbeitsgruppe: https://www.hpca-group.de/
## Bachelorarbeiten
### Betreuung: Niklas Bartelheimer
* **UCX Communication Framework Support for GPI-2**
* Design and implementation of a UCX device for GPI-2
* Performance-Analyse
* ~~**Analysis and Evaluation of Allreduce / Collective Algorithms**~~ (in Bearbeitung)
* Welche Ansätze gibt es
* Was wird z.B. in OpenMPI eingesetzt
* Welche Techniken können von RMA profitieren
* Kleine Beispiel Implementierung auf Basis von MPI oder GPI-2
* Auswertung der Performance
* **Benchmark Suite Extension with MiniApp Benchmarks**
* Beispielsweise:
* MiniMD: https://github.com/Mantevo/miniMD
* LULESH: https://github.com/LLNL/LULESH
* Vergleich zwischen GPI-2 und MPI-Lösungen (OpenMPI, PSMPI, MPICH, MVAPICH2 usw.)
* ~~**Performance Analyis of the Himeno Benchmark (pt2pt communication)**~~ (in Bearbeitung)
* Unter Verwendung von Extrae / Paraver
* Unter Verwendung von Score-p / Scalasca
* Analyse und Optimierung der Benchmarking Suite
* **Performance Profiling and Analysis of GPI-2 Applications**
* Evaluation von Extrae und Paraver für GPI-2
* Nutzbarkeit
* Was fehlt, welche Probleme gibt es usw.
### Betreuung: Zhaobin Zhu
* ~~**Evaluation of State-of-the-Art I/O Performance Analysis Tools**~~ (in Bearbeitung)
* Vergleich von I/O-Performance Analysetools hinsichtlich Funktionen, Genauigkeit, Benutzerfreundlichkeit und deren Fokus (Welche Insights bieten die Tools).
* Demonstration der Tools an ausgewählte Anwendungsfällen.
* ~~**Standardization of I/O Performance Metrics**~~ (in Bearbeitung)
* Untersuchen und vergleichen von I/O-Performance-Metriken, die in verschiedenen Tools und Frameworks verwendet werden.
* Analysieren wie sie berechnet und erfasst werden, und identifizieren welche Challenge dadurch entstehen.
* **Automated Detection of I/O Access Patterns and Optimization Techniques**
* Entwicklung einer Methode zur automatischen Erkennung von I/O-Zugriffsmustern anhand Traces
* Ggf. Implementierung eines Erkennungsalgorithmus
* Vorschlag von Optimierungsstrategien für ausgewählte Zugriffsmuster und Evaluierung dieser anhand von Benchmarks
## Masterarbeiten
### Betreuung: Niklas Bartelheimer
* **Implementierung eines Benchmark Codes (z.B. Himeno Benchmark) in optimierter Form auf GPUs**
* CUDA
* KOKKOS
* SYCL
* Ableitung einer Version für Multi GPU Szenarien
* z.B. NVSHMEM, GPU Aware MPI, NCCL?
* Performace Evaluation and Comparison
### Betreuung: Zhaobin Zhu
* **Performance Modeling for Understanding I/O Performance**
* Analysieren bestehender Performancemodelle aus verschiedenen Bereichen.
* Adaptieren oder erweitern ausgewählten Performance Modell, sodass das Modell z.B. für die Vorhersage von I/O Performance oder das Vorschlagen von I/O Optimierungsmöglichkeiten verwendet werden kann.
* **Automated Performance Tuning (on High-Level I/O or Interceptor Library Level)**
* I/O Traces für Beispielanwendungen automatisiert erfassen und das I/O Zugriffsmuster detektieren und speichern.
* Optimierungsstrategie anhand der Zugriffsmuster identifizieren (rule/ml-based)
* Möglichkeit entwickeln zur Laufzeit die Tuning-Parameter über High-Level I/O Bibliotheken oder Inteceptor für die Anwendung zu verwenden.