Updates on the Low-Level Abstraction of Memory Access

Read full text
Authors: Bernhard Manfred Gruber
Cited by: 0
References: 13

Abstract

Abstract Choosing the best memory layout for each hardware architecture is increasingly important as more and more programs become memory bound. For portable codes that run across heterogeneous hardware architectures, the choice of the memory layout for data structures is ideally decoupled from the rest of a program. The low-level abstraction of memory access (LLAMA) is a C++ library that provides a zero-runtime-overhead abstraction layer, underneath which memory mappings can be freely exchanged to customize data layouts, memory access and access instrumentation, focusing on multidimensional arrays of nested, structured data. After its scientific debut, several improvements and extensions have been added to LLAMA. This includes compile-time array extents for zero-memory-overhead views, support for computations during memory access, new mappings for bit-packing, switching types, byte-splitting, memory access instrumentation, and explicit SIMD support. This contribution provides an overview of recent developments in the LLAMA library.

Fields of Study & Subjects

Parallel Computing and Optimization Techniques Advanced Data Storage Technologies Embedded Systems Design Techniques

Publication details

Journal / source
Journal of Physics Conference Series
Publisher
IOP Publishing
Volume
3206
Issue
1
Pages
012040–012040
Publication date
1 April 2026
Language
EN