Pawel Radtke pawel.k.radtke@durham.ac.uk
Research Assistant
Compiler support for semi-manual AoS-to-SoA conversions with data views
Radtke, Pawel; Weinzierl, Tobias
Authors
Professor Tobias Weinzierl tobias.weinzierl@durham.ac.uk
Professor
Abstract
The C programming language and its cousins such as C++ stipulate the static storage of sets of structured data: Developers have to commit to one, invariant data model -- typically a structure-of-arrays (SoA) or an array-of-structs (AoS) -- unless they manually rearrange, i.e.~convert it throughout the computation. Whether AoS or SoA is favourable depends on the execution context and algorithm step. We propose a language extension based upon C++ attributes through which developers can guide the compiler what memory arrangements are to be used. The compiler can then automatically convert (parts of) the data into the format of choice prior to a calculation and convert results back afterwards. As all conversions are merely annotations, it is straightforward for the developer to experiment with different storage formats and to pick subsets of data that are subject to memory rearrangements. Our work implements the annotations within Clang and demonstrates their potential impact through a smoothed particle hydrodynamics (SPH) code.
Citation
Radtke, P., & Weinzierl, T. (2024, September). Compiler support for semi-manual AoS-to-SoA conversions with data views. Presented at PPAM 2024 - 15th International Conference on Parallel Processing & Applied Mathematics, Ostrava, Czech Republic
Presentation Conference Type | Conference Paper (published) |
---|---|
Conference Name | PPAM 2024 - 15th International Conference on Parallel Processing & Applied Mathematics |
Start Date | Sep 8, 2024 |
End Date | Sep 11, 2024 |
Acceptance Date | Jun 26, 2024 |
Deposit Date | Jul 15, 2024 |
Print ISSN | 0302-9743 |
Publisher | Springer |
Peer Reviewed | Peer Reviewed |
Series Title | Lecture Notes in Computer Science |
Series ISSN | 0302-9743 |
Public URL | https://durham-repository.worktribe.com/output/2582837 |
Publisher URL | https://link.springer.com/conference/ppam |
Related Public URLs | https://arxiv.org/abs/2405.12507 |
This file is under embargo due to copyright reasons.
You might also like
Upscaling ExaHyPE – on each and every core
(2023)
Report
Downloadable Citations
About Durham Research Online (DRO)
Administrator e-mail: dro.admin@durham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search