Currently, we send pack an entire table, and send metadata, and GPU data in two separate messages.
In the future, we might have GPU data residing in a set of buffers/ buffer views. These buffers could be,
- Fixed sized?
- Variable sized?
This might require considerable changes in the communication implementation.