Skip to content

UCXX: C++ implementation #913

Open
Open
@pentschev

Description

@pentschev

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:

  1. Starting a fresh repository -- it was so far being developed like that but on a private repository;
  2. Living here under a ucxx/ subdirectory permanently;
  3. Eventually removing UCX-Py files and moving ucxx/ into the root directory of this repository;
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions