Saved in:
Bibliographic Details
Main Authors: Fernandes, Nuno dos Santos, Tomás, Pedro, Roma, Nuno, Winklmeier, Frank, Conde-Muíño, Patricia
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2511.04853
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents:
  • Adapting large, object-oriented C++ codebases for hardware acceleration might be extremely challenging, particularly when targeting heterogeneous platforms such as GPUs. Marionette is a C++17 library designed to address this by enabling flexible, efficient, and portable data structure definitions. It decouples data layout from the description of the interface, supports multiple memory management strategies, and provides efficient data transfers and conversions across devices, all of this with minimal runtime overhead due to the compile-time nature of its abstractions. By allowing interfaces to be augmented with arbitrary functions, Marionette maintains compatibility with existing code and offers a streamlined interface that supports both straightforward and advanced use cases. This paper outlines its design, usage, and performance, including a CUDA-based case study demonstrating its efficiency and flexibility.