Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

draft, RDMA via thallium #69

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from
Draft

draft, RDMA via thallium #69

wants to merge 24 commits into from

Conversation

swelborn
Copy link
Member

Very draft version of RDMA through mochi-thallium

  • Sends message with header + ndarray.
  • Serializes header information (header as a string + ndarray constructor info) through either flatbuffers or capnproto
  • Generates flatbuffer/capnproto during cmake build

@swelborn swelborn mentioned this pull request Dec 18, 2024
9 tasks
this is the example given by nanobind. we use it as a starting point for packaging
- use capnproto to serialize and deserialize necessary info for creating numpy array
- current implentation of bindings results in some leaked resources after running `pytest tests/`, further investigation needed
- this API is a lot simpler, probably going to remove capnproto eventually.
- this example works, but we can avoid copying on recv. future commit.
- this improves python API.
  - We create an engine, and then pass it into queueclient and queueprovider.
  - We can then send and receive messages. these messages are numpy arrays.
  - It is not "complete" but it is a start
- Using unique pointers for messages ensures that we are moving data from python into cpp, and vice versa
- Set rv policy on data field to take_ownership. Unsure if this is correct
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants