alpaka-group / llama

A Low-Level Abstraction of Memory Access
https://llama-doc.rtfd.io/
Mozilla Public License 2.0
79 stars 10 forks source link

Consider destructuring of field types #722

Open bernhardmgruber opened 1 year ago

bernhardmgruber commented 1 year ago

LLAMA can only rearrange fields inside the record dimension, but considers the final types in the leaf-fields as atomic. We could consider changing that and allow LLAMA to even take apart user defined types. A good example for that would be std::optional<T>, which is basically a record consisting of a T and a bool. LLAMA could store those two pieces in different locations but always put them back together when loaded.