-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Description
Summary
Rename the "dummy" backend to "fake" (matching PyTorch's FakeProcessGroup convention) and add a test that creates a process group using torch.distributed.init_process_group with the TORCH_DISTRIBUTED_USE_TORCHCOMMS=1 env var and the fake backend.
Good intro task — touches the build system, backend registration, and the PyTorch integration path.
Part 1: Rename "dummy" → "fake"
Rename TorchCommDummy → TorchCommFake and update all references:
comms/torchcomms/TorchCommDummy.{hpp,cpp}— class, window, static registration namecomms/torchcomms/tests/unit/cpp/DummyTorchCommBackend.cpp+CMakeLists.txt+TorchCommFactoryTest.cpp— dynamic loading test library and referencescomms/torchcomms/tests/unit/py/test_hooks.py,test_copy.py—new_comm("dummy", ...)callssetup.py— entry_points registration
Part 2: Add init_process_group test
Add a test that sets TORCH_DISTRIBUTED_USE_TORCHCOMMS=1 and calls torch.distributed.init_process_group with the fake backend. This exercises the upstream PyTorch integration path (distributed_c10d.py) where PyTorch itself creates the torchcomms communicator via new_comm(). Run a basic collective and tear down.
Build & test
USE_NCCLX=OFF USE_NCCL=OFF USE_TRANSPORT=OFF pip install --no-build-isolation -v .
ctest --test-dir build --output-on-failure # C++
pytest comms/torchcomms/tests/unit/py/ # Python
lintrunner -a # LintReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels