Krzikalla, Olaf und Wendler, Johannes und Huismann, Immo (2025) Explicit SIMD Vectorization with modern C++. In: 27th IEEE International Conference on High Performance Computing and Communications, HPCC 2025. IEEE. The 27th IEEE International Conference on High Performance Computing and Communications (HPCC-2025), 2025-08-13 - 2025-08-15, Exeter, UK. doi: 10.1109/HPCC67675.2025.00033. ISBN 979-833156874-0.
|
PDF
- Nur DLR-intern zugänglich
1MB |
Offizielle URL: https://ieeexplore.ieee.org/abstract/document/11207437
Kurzfassung
Loop vectorization remains a challenging task. While automatic vectorization from compilers can now handle a wide range of codes, the underlying dependency reasoning tends to fail when either data or control flow become too complex. Guided vectorization as, e.g., provided by OpenMP pragmas, allows the compiler to offload the reasoning to the developer and handle more code in turn. However, neither guided nor automatic vectorization has yet been able to generate suitable data structures for vectorized code. In this case, explicit vectorization remains the sole option for programmers. We present our general-purpose approach to explicitly vector- ize complex loops based on C++ templates and the upcoming std::simd library. The core idea of this approach is the introduction of a SIMD index type, which allows loop bodies to be completely written in a simd-generic way. On top of that, we have developed the open source library SIMD_ACCESS, which complements std::simd. This library adds streamlined load and store expressions, residual and aligning loop handling and a framework for vectorizing data structures. We conclude the paper with a performance evaluation. We show that there is no performance overhead caused by our ab- straction layer. Finally, we investigate and compare two different vectorization approaches of a loop in a Discontinous-Galerkin Spectral-Element Method in an industry-grade CFD code for unstructured meshes.
| elib-URL des Eintrags: | https://elib.dlr.de/214904/ | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dokumentart: | Konferenzbeitrag (Vortrag) | ||||||||||||||||
| Titel: | Explicit SIMD Vectorization with modern C++ | ||||||||||||||||
| Autoren: |
| ||||||||||||||||
| Datum: | 15 August 2025 | ||||||||||||||||
| Erschienen in: | 27th IEEE International Conference on High Performance Computing and Communications, HPCC 2025 | ||||||||||||||||
| Referierte Publikation: | Ja | ||||||||||||||||
| Open Access: | Nein | ||||||||||||||||
| Gold Open Access: | Nein | ||||||||||||||||
| In SCOPUS: | Ja | ||||||||||||||||
| In ISI Web of Science: | Nein | ||||||||||||||||
| DOI: | 10.1109/HPCC67675.2025.00033 | ||||||||||||||||
| Verlag: | IEEE | ||||||||||||||||
| ISBN: | 979-833156874-0 | ||||||||||||||||
| Status: | veröffentlicht | ||||||||||||||||
| Stichwörter: | SIMD, Vectorization, C++, Open Source Library | ||||||||||||||||
| Veranstaltungstitel: | The 27th IEEE International Conference on High Performance Computing and Communications (HPCC-2025) | ||||||||||||||||
| Veranstaltungsort: | Exeter, UK | ||||||||||||||||
| Veranstaltungsart: | internationale Konferenz | ||||||||||||||||
| Veranstaltungsbeginn: | 13 August 2025 | ||||||||||||||||
| Veranstaltungsende: | 15 August 2025 | ||||||||||||||||
| HGF - Forschungsbereich: | Luftfahrt, Raumfahrt und Verkehr | ||||||||||||||||
| HGF - Programm: | Luftfahrt | ||||||||||||||||
| HGF - Programmthema: | Effizientes Luftfahrzeug | ||||||||||||||||
| DLR - Schwerpunkt: | Luftfahrt | ||||||||||||||||
| DLR - Forschungsgebiet: | L EV - Effizientes Luftfahrzeug | ||||||||||||||||
| DLR - Teilgebiet (Projekt, Vorhaben): | L - Digitale Technologien | ||||||||||||||||
| Standort: | Dresden | ||||||||||||||||
| Institute & Einrichtungen: | Institut für Softwaremethoden zur Produkt-Virtualisierung > Hochleistungsrechnen | ||||||||||||||||
| Hinterlegt von: | Krzikalla, Olaf | ||||||||||||||||
| Hinterlegt am: | 05 Feb 2026 08:51 | ||||||||||||||||
| Letzte Änderung: | 05 Feb 2026 08:57 |
Nur für Mitarbeiter des Archivs: Kontrollseite des Eintrags