-
Notifications
You must be signed in to change notification settings - Fork 72
Fixes for no-IB systems #667
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds the ability to optionally disable InfiniBand (IB) support in MSCCL++ through a new CMake option MSCCLPP_USE_IB. The changes ensure that the codebase can compile and tests can run correctly when IB support is not available.
Key changes:
- Introduced
MSCCLPP_USE_IBCMake option to control InfiniBand compilation - Updated test code to conditionally skip IB-specific tests when not compiled with IB support
- Modified build configuration to use
MSCCLPP_USE_IBinstead ofIBVERBS_FOUND
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| CMakeLists.txt | Added MSCCLPP_USE_IB option and conditional IB package finding with error handling |
| test/CMakeLists.txt | Updated to use MSCCLPP_USE_IB flag instead of IBVERBS_FOUND |
| test/perf/CMakeLists.txt | Updated to use MSCCLPP_USE_IB flag instead of IBVERBS_FOUND |
| test/mp_unit/port_channel_tests.cu | Added conditional compilation guards for IB-specific tests and disabled IB in non-IB tests |
| test/mp_unit/memory_channel_tests.cu | Removed IB transport usage from MemoryChannel tests |
| test/mp_unit/ib_tests.cu | Added early skip for IB tests when not compiled with IB support |
| test/mp_unit/communicator_tests.cu | Added conditional compilation for IB transport usage |
| src/ib.cc | Moved nvidia_peermem check to registration time and marked helper function as maybe_unused |
| docs/quickstart.md | Documented the new MSCCLPP_USE_IB CMake option |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Updated OS requirements and added information about GPUDirect RDMA support.
MSCCLPP_USE_IBthat explicitly specifies IB on/offnvidia-peermemcheck; no need for DMABUF supported systemsmp_unit_teststo skip all IB tests when built with-DMSCCLPP_USE_IB=OFF