Commit 0638c8b
committed
Isolate metadata serialization from device
Previously, the `mgard_x::Metadata` structure had inline code that used
protobuf to serialize its values into a buffer. This was problematic
because the latest version of protobuf does not compile with nvcc.
The issue is a feature of C++17 does not support (and it is unclear if
it will ever be supported).
Get around this problem by moving (the majority of) the serialization
code into the MGARD library and compile it with the host compiler. To
make this work, the code now has to serialize into a host buffer and
then copy into a device buffer. However, the previous implementation
simply copied things one at a time into the device buffer, so this
should be no less performant.1 parent 25f4b5b commit 0638c8b
4 files changed
Lines changed: 774 additions & 946 deletions
File tree
- include/mgard-x/Metadata
- src/mgard-x
- Metadata
0 commit comments