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