elib
DLR-Header
DLR-Logo -> http://www.dlr.de
DLR Portal Home | Imprint | Privacy Policy | Accessibility | Contact | Deutsch
Fontsize: [-] Text [+]

Explicit SIMD Vectorization with modern C++

Krzikalla, Olaf and Wendler, Johannes and 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.

[img] PDF - Only accessible within DLR
1MB

Official URL: https://ieeexplore.ieee.org/abstract/document/11207437

Abstract

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.

Item URL in elib:https://elib.dlr.de/214904/
Document Type:Conference or Workshop Item (Speech)
Title:Explicit SIMD Vectorization with modern C++
Authors:
AuthorsInstitution or Email of AuthorsAuthor's ORCID iDORCID Put Code
Krzikalla, OlafOlaf.Krzikalla (at) dlr.deUNSPECIFIEDUNSPECIFIED
Wendler, Johannesjohannes.wendler (at) dlr.deUNSPECIFIEDUNSPECIFIED
Huismann, ImmoImmo.Huismann (at) dlr.dehttps://orcid.org/0009-0008-5827-9266204770702
Date:15 August 2025
Journal or Publication Title:27th IEEE International Conference on High Performance Computing and Communications, HPCC 2025
Refereed publication:Yes
Open Access:No
Gold Open Access:No
In SCOPUS:Yes
In ISI Web of Science:No
DOI:10.1109/HPCC67675.2025.00033
Publisher:IEEE
ISBN:979-833156874-0
Status:Published
Keywords:SIMD, Vectorization, C++, Open Source Library
Event Title:The 27th IEEE International Conference on High Performance Computing and Communications (HPCC-2025)
Event Location:Exeter, UK
Event Type:international Conference
Event Start Date:13 August 2025
Event End Date:15 August 2025
HGF - Research field:Aeronautics, Space and Transport
HGF - Program:Aeronautics
HGF - Program Themes:Efficient Vehicle
DLR - Research area:Aeronautics
DLR - Program:L EV - Efficient Vehicle
DLR - Research theme (Project):L - Digital Technologies
Location: Dresden
Institutes and Institutions:Institute of Software Methods for Product Virtualization > High Perfomance Computing
Deposited By: Krzikalla, Olaf
Deposited On:05 Feb 2026 08:51
Last Modified:05 Feb 2026 08:57

Repository Staff Only: item control page

Browse
Search
Help & Contact
Information
OpenAIRE Validator logo electronic library is running on EPrints
Website and database design: Copyright © German Aerospace Center (DLR). All rights reserved.