Description
For a while I have been working and discussing internally a rewrite of UCX-Py, splitting the hardcore logic into a C++ backend, with a (much) thinner Cython layer, and a Python async layer, including also some new Python optimizations. This new library is currently named UCXX and has now been merged into the UCX-Py repository under a separate branch with a ucxx/
subdirectory.
We have not yet decided on a permanent place for this library to exist, since its intent is to replace the current UCX-Py implementation, some of the options we have are:
- Starting a fresh repository -- it was so far being developed like that but on a private repository;
- Living here under a
ucxx/
subdirectory permanently; - Eventually removing UCX-Py files and moving
ucxx/
into the root directory of this repository; - Some other solution that has not been raise so far?
I hope the few instructions available following the link above should suffice to get people started building/testing the new implementation.
At this time we would like to invite people to try it out and review the code. The new implementation is definitely not complete nor bug-free, so any and all help is welcome.
A non-exhaustive, and in no particular order, list of features/issues that make this implementation incomplete is below:
- Missing RMA operations;
- Missing AM API;
- Hiding implementation in some form of pImpl or similar idiom to reduce ABI breaking changes.
I appreciate everyone's help, and pinging some of the usual suspects who may be interested: @quasiben @wence- @madsbk @MattBBaker