Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
490 commits
Select commit Hold shift + click to select a range
655174d
replace the existing remReleaseMem with Cb functions in async-socket …
elvinlife Feb 6, 2026
6691d59
Extract ScubaFileUtils and add data_sink target (#521)
mlunar-meta Feb 6, 2026
3806c99
Implement pre-extracted sources snapshot system for rcclx with self-c…
srinathb-meta Feb 6, 2026
49fc8b5
remove dependency on ruamel.yaml from extractcvars.py (#458)
Scusemua Feb 6, 2026
5c84c3d
Reintroduce genrule-Based NCCL CVARs Generation (#84)
Scusemua Feb 6, 2026
e759aca
Hipify V2 changes (#575)
sudharssun Feb 6, 2026
6a83db0
make IpcRegCache a singleton, and also send the releaseMem ctrl-msg a…
elvinlife Feb 6, 2026
898721b
Make key unique by split for TorchCommGloo (#574)
kapilsh Feb 6, 2026
c2471be
Enable basic failure mock and abort (#484)
mingrany Feb 6, 2026
cc4c51a
Fix undefined FB_COMMCHECKTHROW in AllReduce tests (#571)
minsii Feb 6, 2026
8b427f5
Delete AllReduceARG algorithm due to fundamental design flaw (#586)
minsii Feb 6, 2026
c5bb144
Enable GIN device headers to compile with Clang for LLVM bitcode gene…
Feb 6, 2026
cf7a0e1
Force split_share=0 in split_group for NCCL backends (#587)
pavanbalaji Feb 7, 2026
3471e1f
Match split_group API with torch.distributed (#588)
pavanbalaji Feb 7, 2026
fd31490
Add _make_nccl_premul_sum to distwrap collectives (#589)
pavanbalaji Feb 7, 2026
9155ebf
Add memory pool operations to distwrap collectives (#590)
pavanbalaji Feb 7, 2026
f0ff013
Guard ncclTopoWidenLinks behind NCCL_NET_WIDEN_LINKS env var (#597)
pavanbalaji Feb 9, 2026
1d26d5a
Add P2pIbgdaTransportDevice for GPU-initiated RDMA (#540)
dmwu Feb 9, 2026
ee9a61a
Guard GIN error query on ginState->connected in ncclCommGetAsyncError…
Feb 9, 2026
70adc2e
Add MultipeerIbgdaDeviceTransport wrapper (#541)
dmwu Feb 9, 2026
b7661d7
Add MultipeerIbgdaTransport host-side implementation (#542)
dmwu Feb 9, 2026
cc29ac8
Add IBGDA benchmark suite (#543)
dmwu Feb 9, 2026
d14cca8
Add benchmark comparing put_signal and put_signal_non_adaptive (#573)
dmwu Feb 9, 2026
0a7830b
Add Claude skill for Pipes library diff reviews (#602)
Scusemua Feb 9, 2026
9bc3322
Add packaging to torchcomms wheel requirements (#604)
d4l3k Feb 9, 2026
8c6fcca
Add clang-tidy check to ban std::runtime_error in CTRAN (#600)
Scusemua Feb 9, 2026
1c14f8d
Refactor CudaGraphsTest.py with reusable testing framework (#606)
minsii Feb 10, 2026
254fd53
Fix integration tests (#605)
tanquer Feb 10, 2026
5f76a6b
Add VerifyAlgoStatsHelper test utility (#591)
minsii Feb 10, 2026
cdf31de
Fix for T254551855 ("Your diff, D92090165, broke one test") (#611)
elvinlife Feb 10, 2026
e798859
Extend ReduceScatterTest with OrigTest and AlgoStats integration (#601)
minsii Feb 10, 2026
b817986
NCCL_CTRAN_ALLREDUCE_RING_MAX_NUM_THREAD_BLOCKS default to 8 (#593)
arttianezhu Feb 10, 2026
bc952d3
Expose APIsin rccl.h (#563)
sudharssun Feb 10, 2026
7b9f513
Header file fixes - Remove unneeded parameter from allgatherp API (#607)
sudharssun Feb 10, 2026
517c877
Add pFree API to rccl.h (#608)
sudharssun Feb 10, 2026
39c948e
AllgatherP - unit tests (#609)
sudharssun Feb 10, 2026
85b19a3
Add ncclInfoExt infrastructure for per-comm algorithm override (#594)
minsii Feb 10, 2026
37bbb08
Revert D91081207
Feb 10, 2026
f0e5666
store peerIpcServerAddr in IpcRegCache (#612)
elvinlife Feb 10, 2026
a8c5a2c
Enable testhelper to take extra hints for extensive testing. (#619)
function47 Feb 10, 2026
4681e61
fix wait_tensors proxy propagation and add some unit tests (#570)
dolpm Feb 10, 2026
e59f3da
Remove persistent nccl_cvars.cc and nccl_cvars.h files (#592)
Scusemua Feb 10, 2026
2c6ab68
Fix XCCL backend building failure (#432)
zhangxiaoli73 Feb 10, 2026
f3488b8
Fix ibv_qp_init_attr_ex ABI mismatch with rdma-core (#598)
lilyjanjigian Feb 10, 2026
b6237a5
add fx passes for reinplacement and removing with_effects calls (#435)
dolpm Feb 10, 2026
fbe8267
Remove unnecessary epoch lock from deregMem (#603)
dsjohns2 Feb 10, 2026
b9f10ef
Github CI - for RCCL but not on diff (#483)
sudharssun Feb 11, 2026
ba51194
Add Ibverbx cross-host MPI benchmark (#535)
mingrany Feb 11, 2026
2b69620
Add Raw Ibverbs cross-host MPI benchmark (#539)
mingrany Feb 11, 2026
1c8efdd
Fix synchronization in PutBatchWithoutNotify test (#623)
zhiyongww Feb 11, 2026
f5fef94
Move CtrlMsg test to separate target with 3 ranks (#627)
zhiyongww Feb 11, 2026
fffedc3
Remove unused exception parameters from a few files
r-barnes Feb 11, 2026
03d2442
use ibverbx to setup host-level multipeerIbgda transport (#631)
dmwu Feb 11, 2026
827cc15
Add Triton API for GPU-initiated communication via NCCLX GIN (#578)
Feb 11, 2026
a8e78d9
Lightweight refactoring of ibgda transport code (#632)
dmwu Feb 11, 2026
c92e8aa
Change createVirtualQp in IbvPd to use same CQ for both send and recv…
mingrany Feb 11, 2026
c5d9b68
Add new WR types, WrTracker, IbvVirtualWc, and DqplbSeqTracker overlo…
mingrany Feb 11, 2026
628a985
Add VirtualCq registration table and pollCq_v2 (#615)
mingrany Feb 11, 2026
91a2ef2
Remove unused exception parameter from a few files
r-barnes Feb 11, 2026
ea804f9
Adding ibv_internal_wr_rdma_write to ibverbx (#637)
lilyjanjigian Feb 11, 2026
9345819
Fix for build_rccl.sh (#642)
sudharssun Feb 11, 2026
ba69782
Add initial CI test for XCCL backend (#104)
chuanqi129 Feb 11, 2026
79797dd
Add gin.atomicAdd() API for remote atomic fetch-and-add (#621)
Feb 12, 2026
fae0a30
Rename NCCLGinBackend → NCCLDeviceBackend, add resource buffer alloca…
Feb 12, 2026
22b1889
Back out "store peerIpcServerAddr in IpcRegCache" (#652)
dsjohns2 Feb 12, 2026
2b40621
Use rank to uniquely identify global process in addition to pid/host …
Feb 12, 2026
aabdca7
CTRAN - Make AllReduceDirect kernel Fault Tolerant (#641)
Feb 12, 2026
b14dd25
fix work leak via. weak-reference cycle (#649)
dolpm Feb 12, 2026
60ee6f9
Add VirtualQp/VirtualCq registration and common helpers (#616)
mingrany Feb 12, 2026
b8554de
Add reusable CUDA graph test helpers (#661)
dolpm Feb 12, 2026
a1a098f
Add TestSingleGraph (#662)
dolpm Feb 12, 2026
3836a2c
Add TestMultipleGraphs (#663)
dolpm Feb 12, 2026
e143c7d
Add TestGraphConcurrency (#664)
dolpm Feb 12, 2026
05047bc
Implement PAT AVG for ReduceScatter (#595)
minsii Feb 12, 2026
068439d
Add CVAR + global hint for usePatAvg_ control (#665)
minsii Feb 12, 2026
11c1953
Add ReduceScatterPatAvgTest for PAT AVG validation (#666)
minsii Feb 12, 2026
b85466c
Fix PatAvgHelper to use static constants and add channel-scaling test…
minsii Feb 12, 2026
903eacf
Fix PAT maxThreads initialization in baseline tuning (#668)
minsii Feb 12, 2026
c6a74de
ci: remove unnecessary deps torchaudio+torchvision (#674)
d4l3k Feb 12, 2026
6fd8abc
fix ut build issue (#660)
zhiyongww Feb 12, 2026
587024e
Instead of "::1" local ipv6 address, we use a safer nccl_socket prefe…
elvinlife Feb 13, 2026
f87a643
add actual timeout logic for rdma write (#683)
mingrany Feb 13, 2026
451d594
Update gPidTest to expect rank suffix in gPid() output (#681)
Feb 13, 2026
97dbc68
Add TestGraphLifecycle (#675)
dolpm Feb 13, 2026
3b1d2b6
Update window API docstrings to use torchcomms.get_mem_allocator + to…
d4l3k Feb 13, 2026
00b8299
Add VirtualQp postSend_v2 with WrTracker-based send path (#645)
mingrany Feb 13, 2026
b4809d7
Add VirtualQp postRecv_v2 and processCompletion with completion routi…
mingrany Feb 13, 2026
392bd02
Migrate all tests and benchmarks to v2 APIs (#646)
mingrany Feb 13, 2026
6e541b0
Sunset legacy VirtualQp/VirtualCq APIs, remove Coordinator (#647)
mingrany Feb 13, 2026
f41f318
Clean up VirtualQp member naming and remove dead code (#648)
mingrany Feb 13, 2026
69cb942
Unify PhysicalSendWrStatus and PhysicalRecvWrStatus into PhysicalWrSt…
mingrany Feb 13, 2026
e1fba39
Split IbverbxTest.cc into per-class test files (#685)
mingrany Feb 13, 2026
429fea5
Add Ibverbx VirtualQp design document (#684)
mingrany Feb 13, 2026
da24c1c
Add Claude skill for auditing Pipes implementation plans (#671)
Scusemua Feb 13, 2026
fe85641
Fix signed division for small integer types in FuncPatSumPostDiv (#690)
minsii Feb 13, 2026
dfc259a
Implement getFuture() in BackendWrapper and add DDP test (#689)
d4l3k Feb 14, 2026
909fd55
Convert CtranIbSingleton to folly::Singleton (#678)
dsjohns2 Feb 14, 2026
7c3d66f
Add dependency on CtranIbSingleton for destroy (#679)
dsjohns2 Feb 14, 2026
ecd24e0
Avoid race condition on Kernel flag between GPE & Kernel threads (#657)
Feb 14, 2026
bf1d032
Ensure all threads in a block terminates correctly (#658)
Feb 14, 2026
7cdbdd6
Add memory allocation logging to McclComm (#699)
dboyda Feb 14, 2026
3ec1690
Fix IpcRegCache AsyncSocket teardown (#686)
arttianezhu Feb 14, 2026
d38df13
Add timeout watchdog thread for mccl (#620)
function47 Feb 15, 2026
69e6e49
MultiPeerDeviceTransport Scaffolding + Host Integration (#548)
Scusemua Feb 15, 2026
5a24d9f
Add DeviceWindowSignal primitive and WindowMemory host-side manager (…
Scusemua Feb 15, 2026
2db556c
Add DeviceWindowBarrier and integrate into MultiPeerDeviceTransport (…
Scusemua Feb 15, 2026
200edae
MultiPeerDeviceTransport: Add zero-copy put operations (#550)
Scusemua Feb 15, 2026
4692715
Fix lookupSegmentsForBuffer for unmapped memory (#707)
dsjohns2 Feb 16, 2026
f02c721
Remove unused-but-set variables in ../arvr/firmware/wearables/modules…
r-barnes Feb 16, 2026
b168707
AllGather collective implementation (#672)
harishkcmeta Feb 16, 2026
6c48e60
reland the diff to store peerIpcServerAddr in IpcRegCache (#706)
elvinlife Feb 16, 2026
9df1ba7
Stable snapshot on-diff CI (#692)
sudharssun Feb 17, 2026
3be3f18
Revert D84783880 and D85167795 fixes superseded by D92883949 (#691)
Feb 17, 2026
6c2e46f
move ExportRegCache from mapper into IpcRegCache, and change exportMe…
elvinlife Feb 17, 2026
4b1e454
ci: limit make parallelism (#717)
d4l3k Feb 18, 2026
1b3699c
Fix ibv_port_attr ABI mismatch with rdma-core (#697)
Nishikant-K-P Feb 18, 2026
ffa340c
Add op_id tracking to TorchComm hook system (#676)
tushar00jain Feb 18, 2026
8672304
Implement FlightRecorder (#694)
tushar00jain Feb 18, 2026
3c3dad6
torchcomms: add abort hook (#695)
tushar00jain Feb 18, 2026
1d60767
torchcomms: validate flight recorder (#696)
tushar00jain Feb 18, 2026
b4dd028
Add global ptr based reg/dereg api (#415)
dsjohns2 Feb 18, 2026
431330e
Add ncclGlobalRegisterWithPtr / ncclGlobalDeregisterWithPtr API (#416)
dsjohns2 Feb 18, 2026
2a0f0ab
refactor by adding registerSegments helper (#720)
dsjohns2 Feb 18, 2026
8457e3e
Add global regAll/deregAll APIs (#721)
dsjohns2 Feb 18, 2026
94e0c7a
Remove Boost ICU, fix CudaWrap.h HIPify, add new files (#622)
ahmd-k Feb 18, 2026
64f2acf
timepoint use duration 1us (#719)
arttianezhu Feb 18, 2026
0de8df9
add --pre to the pip install command (#677)
sramakintel Feb 18, 2026
6345b50
Fix CI config for 2_28 PACKAGE files (#715)
mittalmak-meta Feb 18, 2026
1f72714
Add b300 arch support for oss build script
tanquer Feb 19, 2026
b6938c8
Fix remote signal buffer offset in MultipeerIbgdaTransport (#729)
Feb 19, 2026
8d57e1b
ci: limit make parallelism v2 (#732)
d4l3k Feb 19, 2026
55d08b8
Remove .claude and sync to github (#736)
tanquer Feb 19, 2026
d8caee4
Fix future completion logic for MTIA devices (#725)
Feb 19, 2026
0774106
torchcomms: fr debug server integration (#735)
tushar00jain Feb 19, 2026
33fd8e1
LSA signal + NVLink data path with acquire/release PTX (#628)
Feb 20, 2026
52ee2c9
Add non-collective local buffer registration for device API source bu…
Feb 20, 2026
a17b7cc
Implement device-side barrier for NCCLX backend (#701)
Feb 20, 2026
c85637a
Fix init_state_ set before init completes (#743)
pavanbalaji Feb 20, 2026
c18dfea
Add backtrace to NCCLXException message (#744)
pavanbalaji Feb 20, 2026
61ff304
Fix for Hipify V2 changes (#748)
sudharssun Feb 20, 2026
ee0de14
Move NvlBootstrapAdapter to bootstrap folder, Split of "[pipes][unifi…
dmwu Feb 20, 2026
b71ac1b
Phase 1: Add foundation headers for MultiPeerTransport (#638)
dmwu Feb 20, 2026
5ce4f44
customize lazy channels per comm (#749)
Feb 20, 2026
3ae2552
Phase 2: MultiPeerTransport implementation and MPI tests (#639)
dmwu Feb 20, 2026
bd70ff0
Phase 3: Device-side CUDA kernel tests and integration tests (#640)
dmwu Feb 20, 2026
968f20a
Graceful cleanup when finalize() not called before destruction (#625)
d4l3k Feb 20, 2026
2adfdd0
Auto NIC Discovery (#698)
Nishikant-K-P Feb 20, 2026
944583a
Unpin comms from C++17 (#710)
r-barnes Feb 20, 2026
6786951
AllReduce ctring eliminate trailing 16B chunks (#731)
arttianezhu Feb 20, 2026
fb4207a
Add MCCL_SCUBA_LOG_LEVEL cvar for log filtering (#734)
mlunar-meta Feb 20, 2026
c668445
Fix transport_errors unit test for process global errors (#746)
zhiyongww Feb 20, 2026
a42bc2f
Fix multinode RE TCPStore connectivity by using container IP
zhiyongww Feb 20, 2026
3a98429
Refactor AllReduce integration tests with graph fixture (#733)
minsii Feb 21, 2026
f0b97f2
Refactor Reduce integration tests with graph fixture (#703)
minsii Feb 21, 2026
2b0a5be
Refactor ReduceScatter integration tests with graph fixture (#704)
minsii Feb 21, 2026
1f1b963
Refactor ReduceScatterSingle integration tests with graph fixture (#705)
minsii Feb 21, 2026
dd6e608
Refactor ReduceScatterV integration tests with graph fixture (#761)
minsii Feb 21, 2026
baa6bd6
Fix iterative build script (#762)
tanquer Feb 21, 2026
478fd00
Refactor Broadcast integration tests with graph fixture (#765)
minsii Feb 21, 2026
902c891
Support timeout in graph mode (#750)
minsii Feb 21, 2026
89c7da0
Refactor AllGather integration tests with graph fixture (#766)
minsii Feb 21, 2026
7bf7611
Refactor AllGatherSingle integration tests with graph fixture (#767)
minsii Feb 21, 2026
662ce19
Update NCCL_NET_WIDEN_LINKS cvar default to false (#723)
SuhitK Feb 21, 2026
a67a065
Refactor Gather integration tests with graph fixture (#768)
minsii Feb 21, 2026
b4d7ab2
revert to c++17 since ctran does not support it (#773)
tanquer Feb 21, 2026
6831107
Refactor Scatter integration tests with graph fixture (#770)
minsii Feb 21, 2026
d1bc70d
Refactor SendRecv integration tests with graph fixture (#771)
minsii Feb 21, 2026
2781905
Refactor BatchSendRecv integration tests with graph fixture (#772)
minsii Feb 22, 2026
1894f96
Skip storing NULL registration handles (#776)
pavanbalaji Feb 22, 2026
e6d3ad9
Fix CUDA device context leak in watchdog thread (#777)
pavanbalaji Feb 22, 2026
52eccc9
Refactor AllToAll integration tests with graph fixture (#775)
minsii Feb 22, 2026
2538c6a
Refactor AllToAllSingle integration tests with graph fixture (#778)
minsii Feb 22, 2026
a816fd3
Generate cvars for MCCL_SCUBA_LOG_LEVEL (#769)
mlunar-meta Feb 22, 2026
e687ff8
Refactor AllToAllvSingle integration tests with graph fixture (#779)
minsii Feb 22, 2026
1e5e2ea
Add IbHcaParser for NCCL_IB_HCA environment variable parsing (#763)
Feb 22, 2026
c712c6b
Move NicDiscovery to comms/pipes/rdma/ (#764)
Feb 22, 2026
c984f0f
Unify v2.27 compat changes behind NCCL_TOPO_BOND_V228 (#782)
SuhitK Feb 23, 2026
b30103b
Refactor Barrier integration tests with graph fixture (#780)
minsii Feb 23, 2026
6ee4f27
Refactor AllGatherV integration tests with graph fixture (#781)
minsii Feb 23, 2026
71ae07e
ctranCopyKern new copy 1 src 2 dsts (#740)
arttianezhu Feb 23, 2026
28b6a13
AllReduce ctring improve copy efficiency 1 src 2 dsts (#741)
arttianezhu Feb 23, 2026
9ab631b
Fix cvar generation command in documentation (#774)
mlunar-meta Feb 23, 2026
6033a07
Skip rail-optimized trees on asymmetric GPU topology (#760)
spcyppt Feb 23, 2026
27ccbe7
torchcomms: log timeouts (#756)
d4l3k Feb 23, 2026
a336803
DeviceWindowSignal: Replace accumulated inbox with per-peer inbox mod…
Scusemua Feb 23, 2026
8be9e7f
Add ncclMetaDebugLog to fix logger passing file/func separately (#643)
SuhitK Feb 23, 2026
571ce15
torchcomms: remove fr template on event (#803)
tushar00jain Feb 23, 2026
2bd49e8
Add configurable timeout and retryCount to MultipeerIbgdaTransportCon…
Feb 23, 2026
db272dc
Add configurable addressFamily to MultipeerIbgdaTransportConfig (#784)
Feb 23, 2026
570f378
Add trafficClass to MultipeerIbgdaTransportConfig (#785)
Feb 23, 2026
d87e0ea
Replace ibverbx with direct rdma-core in MultipeerIbgdaTransport (#786)
Feb 23, 2026
b965aff
Fix UTs to skip if number of nodes is less than 2 (#753)
sudharssun Feb 24, 2026
7c6f69f
Allow users to disable NCCL_HAS_DUMP_ALGO_STAT at compile time (#809)
arttianezhu Feb 24, 2026
daf8c1a
Add ibError logging logic (#630)
SuhitK Feb 24, 2026
28dcc3f
Add IB completion error analyzer (#655)
SuhitK Feb 24, 2026
2f58573
Redesign CUDA error analyzer to use structured error pipeline (#752)
SuhitK Feb 24, 2026
30d7d0a
AllReduce ctring AutoTune (#745)
arttianezhu Feb 24, 2026
12c7c63
Add benchmark to compare commRegister vs globalRegisterWithPtr (#808)
dsjohns2 Feb 24, 2026
df081d4
Expose hook registration APIs in Python and add docs with examples (#…
d4l3k Feb 24, 2026
e8567a7
refactor TopologyDiscovery for testability (#787)
Feb 24, 2026
3916439
add mnnvl variables (#788)
Feb 24, 2026
f2046d1
Align IBGDA transport QP config with IbvQpUtils (#813)
Feb 24, 2026
fdd8f67
torchcomms: add flight recorder tests (#804)
tushar00jain Feb 24, 2026
b81019b
Add CoopScope support to device API for cooperative put/signal/flush/…
Feb 24, 2026
61c4aa4
Add block-scope RMA APIs for multi-thread Triton kernels (#811)
Feb 24, 2026
09c9284
Pin CI dependency versions to fix lint workflow (#817)
d4l3k Feb 24, 2026
992748f
Fix resource leaks and unchecked error in IBGDA transport and topolog…
Feb 25, 2026
05a8f84
Backward-compatible TCP socket support for Devmem Agent (#806)
erfan111 Feb 25, 2026
512a6c9
allreduce autotune cleanup tests (#825)
arttianezhu Feb 25, 2026
0f2adc4
Fix BUCK dependency and build issues (#789)
pavanbalaji Feb 25, 2026
d385c8e
Add noqa suppressions in Python files (#790)
pavanbalaji Feb 25, 2026
67674e8
Fix Python code quality warnings (#791)
pavanbalaji Feb 25, 2026
7c78570
Add missing TorchCommLogging.hpp include (#814)
pavanbalaji Feb 25, 2026
bb5f0a2
Add C++ lint suppression annotations (#792)
pavanbalaji Feb 25, 2026
eebafb4
Add CudaApi to DeviceWindowDeleter (#802)
pavanbalaji Feb 25, 2026
254d56c
Add missing move ctor deletion in TorchCommWindowNCCLX (#793)
pavanbalaji Feb 25, 2026
048d1f8
Fix FlightRecorder code quality warnings (#794)
pavanbalaji Feb 25, 2026
2f1002e
Move using declarations inside namespace in CCA headers (#800)
pavanbalaji Feb 25, 2026
7d20b6d
Fix parameter passing and initializer warnings (#801)
pavanbalaji Feb 25, 2026
409487c
Fix test code quality warnings (#797)
pavanbalaji Feb 25, 2026
d5c9531
Fix formatting in CMake and markdown files (#798)
pavanbalaji Feb 25, 2026
27b2dbb
Fix shadowed loop variable in FlightRecorder (#796)
pavanbalaji Feb 25, 2026
c37e6c5
Fix unnecessary copies in C++ lint warnings (#795)
pavanbalaji Feb 25, 2026
5fe5254
Fix pyre mode header lint warnings (#799)
pavanbalaji Feb 25, 2026
65416bb
CtranIpc tryLoad: set shouldSupportCudaMalloc = true on AMD (cudaMall…
liukeOoO Feb 25, 2026
ab96568
Fix allgatherp_bench to work with TCPStore bootstrap mode (#848)
JinghanHuang Feb 26, 2026
af7181e
Gate IpcRegCache socket server behind NCCL_CTRAN_IPC_REGCACHE_ENABLE_…
dsjohns2 Feb 26, 2026
99cf0f7
Add COMMCHECK_TEST to notifyRemoteIpc calls in DistRegCacheUT (#843)
dsjohns2 Feb 26, 2026
84c8650
Set NCCL_CTRAN_IPC_REGCACHE_ENABLE_ASYNC_SOCKET to false by default (…
dsjohns2 Feb 26, 2026
14b6763
Cmake build fixes for OSS (#850)
sudharssun Feb 26, 2026
46d2124
Fix chunkSize alignment in AllReduceRing AutoTune (#827)
arttianezhu Feb 26, 2026
a33631d
Remove redundant abort_process_on_timeout_or_error check in graph cap…
minsii Feb 26, 2026
6d5df3a
AllReduce AutoTune NCCL_CTRAN_ALLREDUCE_RING_MAX_NUM_THREAD_BLOCKS pr…
arttianezhu Feb 26, 2026
fae8ac2
Remove process abort from abortNcclComm (#830)
minsii Feb 26, 2026
8eb3343
Remove RUN_RMA_TEST env var, gate RMA tests by backend+ctran (#831)
minsii Feb 26, 2026
f744591
Expose AllGatherP API to torchcomms (#724)
sudharssun Feb 26, 2026
24159b7
torchcomms: test debug server api's for fr (#805)
tushar00jain Feb 26, 2026
5755e65
torchcomms: fix fr size api (#833)
tushar00jain Feb 26, 2026
14869c7
Add Philox RNG (#700)
YulunW Feb 26, 2026
bd21c05
Add stochastic rounding primitives for FP32→BF16 conversion (#821)
YulunW Feb 26, 2026
1965a56
Fix out-of-bounds memcpy in P2pNvlTransportDevice::put() (#849)
Feb 26, 2026
c1d70fe
Using IBV_SEND_FENCE for signal (#840)
dmwu Feb 26, 2026
c00f740
Add group-level put/put_signal APIs (local and global variants) (#841)
dmwu Feb 26, 2026
b2f039e
Add Timeout support to wait_signal() (#842)
Feb 26, 2026
a698b0c
Replace raw setenv calls with RAII wrappers in CtranMapperUT (#847)
dsjohns2 Feb 26, 2026
299267a
Dynamically Connected RDMA write test (#826)
lilyjanjigian Feb 26, 2026
ababc58
Bi-directional AllGather for AllReduceRing (#823)
Feb 27, 2026
128cb55
Document CTRAN CTRING Algorithm (#824)
Feb 27, 2026
910b7ba
Add a safeguard for NCCL_CTRAN_ALLREDUCE_RING_THREAD_BLOCK_SIZE (#836)
arttianezhu Feb 27, 2026
0cd6a3d
allow users to pass in deviceId to set the cudaDev for CPU memory reg…
elvinlife Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
92 changes: 92 additions & 0 deletions .github/scripts/setup_env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/bash
# Common environment setup for CI jobs
# Usage: source setup_env.sh [--with-cmake] [--cuda-version <version>] [--torch-version <version>] <torch-channel>
# --with-cmake: Install cmake and ninja-build
# --cuda-version: CUDA version (e.g., "12.8") - required for nightly builds
# --torch-version: Exact torch version to install (e.g., "2.6.0.dev20250101")
# torch-channel: "stable" or "nightly"

set -ex

INSTALL_CMAKE=false
TORCH_CHANNEL=""
CUDA_VERSION=""
TORCH_VERSION=""

# Parse arguments
while [[ $# -gt 0 ]]; do
case $1 in
--with-cmake)
INSTALL_CMAKE=true
shift
;;
--cuda-version)
CUDA_VERSION="$2"
shift 2
;;
--torch-version)
TORCH_VERSION="$2"
shift 2
;;
*)
TORCH_CHANNEL="$1"
shift
;;
esac
done

if [ -z "$TORCH_CHANNEL" ]; then
echo "Error: torch-channel argument required (stable or nightly)"
exit 1
fi

# Install system packages
dnf config-manager --set-enabled powertools
dnf install -y almalinux-release-devel

if [ "$INSTALL_CMAKE" = true ]; then
dnf install -y ninja-build cmake
# Remove old cmake/ninja from conda/local
rm -f "/opt/conda/bin/ninja" || true
rm -f "/opt/conda/bin/cmake" || true
rm -f "/usr/local/bin/cmake" || true
fi

# Set up conda environment
conda config --set solver libmamba
conda create -n venv python=3.12 -y
conda activate venv
python -m pip install --upgrade pip

# Nuke conda libstd++ to avoid conflicts with system toolset
rm -f "$CONDA_PREFIX/lib/libstdc"* || true

# Install torch (nightly or stable)
if [ -n "$CUDA_VERSION" ]; then
# Convert CUDA version (e.g., "12.8") to PyTorch format (e.g., "cu128")
CUDA_TAG="cu$(echo "$CUDA_VERSION" | tr -d '.')"

if [ "$TORCH_CHANNEL" = "nightly" ]; then
INDEX_URL="https://download.pytorch.org/whl/nightly/${CUDA_TAG}"
if [ -n "$TORCH_VERSION" ]; then
pip install --pre torch=="${TORCH_VERSION}" --index-url "$INDEX_URL"
else
pip install --pre torch --index-url "$INDEX_URL"
fi
else
# Stable with CUDA - use PyTorch wheel index
INDEX_URL="https://download.pytorch.org/whl/${CUDA_TAG}"
if [ -n "$TORCH_VERSION" ]; then
pip install torch=="${TORCH_VERSION}" --index-url "$INDEX_URL"
else
pip install torch --index-url "$INDEX_URL"
fi
fi
else
# No CUDA version - install from PyPI (stable only)
if [ -n "$TORCH_VERSION" ]; then
pip install torch=="${TORCH_VERSION}"
fi
fi

pip install -r requirements.txt
27 changes: 27 additions & 0 deletions .github/scripts/xpu_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash
set -ex
# Install oneAPI DLE
ONEAPI_URL="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/9065c156-58ab-41b0-bbee-9b0e229ffca5/intel-deep-learning-essentials-2025.3.1.15_offline.sh"
wget -qO /tmp/intel-deep-learning-essentials.sh ${ONEAPI_URL}
chmod +x /tmp/intel-deep-learning-essentials.sh
/tmp/intel-deep-learning-essentials.sh -a --silent --eula accept
rm -f /tmp/intel-deep-learning-essentials.sh

export INTEL_ONEAPI=/opt/intel/oneapi
source $INTEL_ONEAPI/compiler/latest/env/vars.sh
source $INTEL_ONEAPI/ccl/latest/env/vars.sh

conda create -yn xpu_torchcomms_ci python=3.10
source activate xpu_torchcomms_ci
conda install conda-forge::glog=0.4.0 conda-forge::gflags conda-forge::fmt -y

export USE_XCCL=ON
export USE_NCCL=OFF
export USE_NCCLX=OFF
export USE_TRANSPORT=OFF
export USE_SYSTEM_LIBS=1

python3 -m pip install --pre torch pytorch-triton-xpu --index-url https://download.pytorch.org/whl/nightly/xpu --force-reinstall --no-cache-dir
cd torchcomms && pip install . --no-build-isolation && cd ..

python3 -c "import torch; import torchcomms; print(f'Torch version: {torch.__version__}')"
106 changes: 80 additions & 26 deletions .github/workflows/build_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ on:
- main
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
build_test:
build_pip_wheel:
strategy:
fail-fast: false
matrix:
Expand All @@ -22,45 +26,95 @@ jobs:
torch-version: "nightly"

uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
permissions:
id-token: write
contents: read
with:
timeout: 120
timeout: 60
runner: ${{ matrix.runs-on }}
gpu-arch-type: ${{ matrix.gpu-arch-type }}
gpu-arch-version: ${{ matrix.gpu-arch-version }}
upload-artifact: build-artifacts-${{ matrix.torch-version }}-${{ matrix.gpu-arch-type }}-${{ matrix.gpu-arch-version }}
script: |
set -ex
source .github/scripts/setup_env.sh --with-cmake --cuda-version "${{ matrix.gpu-arch-version }}" "${{ matrix.torch-version }}"

# Build wheel
pip install build
python -m build --wheel --no-isolation

# install build tools to system
dnf config-manager --set-enabled powertools
dnf install -y almalinux-release-devel
dnf install -y ninja-build cmake
mkdir -p "${RUNNER_ARTIFACT_DIR}"
cp dist/*.whl "${RUNNER_ARTIFACT_DIR}/"

# Remove old cmake/ninja
rm -f "/opt/conda/bin/ninja" || true
rm -f "/opt/conda/bin/cmake" || true
rm -f "/usr/local/bin/cmake" || true
python -c "import torch; print(torch.__version__)" > "${RUNNER_ARTIFACT_DIR}/torch_version.txt"

# use faster libmamba solver
conda config --set solver libmamba
build_and_run_cpp_tests:
strategy:
fail-fast: false
matrix:
include:
- runs-on: "linux.g5.12xlarge.nvidia.gpu"
gpu-arch-type: "cuda"
gpu-arch-version: "12.8"
torch-version: "stable"
- runs-on: "linux.g5.12xlarge.nvidia.gpu"
gpu-arch-type: "cuda"
gpu-arch-version: "12.8"
torch-version: "nightly"

conda create -n venv python=3.12 -y
conda activate venv
python -m pip install --upgrade pip
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
permissions:
id-token: write
contents: read
with:
timeout: 60
runner: ${{ matrix.runs-on }}
gpu-arch-type: ${{ matrix.gpu-arch-type }}
gpu-arch-version: ${{ matrix.gpu-arch-version }}
script: |
set -ex
source .github/scripts/setup_env.sh --with-cmake --cuda-version "${{ matrix.gpu-arch-version }}" "${{ matrix.torch-version }}"

# Nuke conda libstd++ to avoid conflicts with system toolset
rm -f "$CONDA_PREFIX/lib/libstdc"* || true
# Build and run C++ tests
cmake -B build_tests -G Ninja -DBUILD_TESTS=ON
cmake --build build_tests
cd build_tests && ctest --output-on-failure

# Optionally install torch nightly, pulls latest CUDA from pip otherwise
if [ "${{ matrix.torch-version }}" = "nightly" ]; then
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
fi
run_py_tests:
needs: build_pip_wheel
strategy:
fail-fast: false
matrix:
include:
- runs-on: "linux.g5.12xlarge.nvidia.gpu"
gpu-arch-type: "cuda"
gpu-arch-version: "12.8"
torch-version: "stable"
- runs-on: "linux.g5.12xlarge.nvidia.gpu"
gpu-arch-type: "cuda"
gpu-arch-version: "12.8"
torch-version: "nightly"

uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
permissions:
id-token: write
contents: read
with:
timeout: 120
runner: ${{ matrix.runs-on }}
gpu-arch-type: ${{ matrix.gpu-arch-type }}
gpu-arch-version: ${{ matrix.gpu-arch-version }}
download-artifact: build-artifacts-${{ matrix.torch-version }}-${{ matrix.gpu-arch-type }}-${{ matrix.gpu-arch-version }}
script: |
set -ex
TORCH_VERSION=$(cat "${RUNNER_ARTIFACT_DIR}/torch_version.txt")
source .github/scripts/setup_env.sh --cuda-version "${{ matrix.gpu-arch-version }}" --torch-version "$TORCH_VERSION" "${{ matrix.torch-version }}"

pip install -r requirements.txt
# Install from pre-built wheel (skip build step)
pip install "${RUNNER_ARTIFACT_DIR}"/*.whl pytest numpy psutil parameterized pydot requests urllib3 tabulate

# Build pybindings
pip install --no-build-isolation -v '.[dev]'
python -c "import torchcomms; import torchcomms._transport"

# Run tests
# Run Python tests
comms/torchcomms/scripts/run_tests_unit_py.sh
comms/torchcomms/scripts/run_tests_integration_py.sh
pytest -v comms/torchcomms/tests/unit/py
85 changes: 85 additions & 0 deletions .github/workflows/build_test_rccl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Build RCCL

on:
push:
branches:
- main

permissions:
id-token: write
contents: read

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- name: RCCL
runs-on: amd-mi350-runner
gpu-arch-type: "rocm"
gpu-arch-version: "7.0"
torch-spec: '--pre torch --index-url https://download.pytorch.org/whl/nightly/rocm7.0'
docker-image: pytorch/manylinux2_28-builder:rocm7.0
cmake-version: "latest"
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
with:
timeout: 180
runner: ${{ matrix.runs-on }}
gpu-arch-type: ${{ matrix.gpu-arch-type }}
gpu-arch-version: ${{ matrix.gpu-arch-version }}
script: |
set -ex
# use faster libmamba solver
conda config --set solver libmamba

# TODO: remove dependency on fbwhoami
echo "DEVICE_NAME=$(hostname)" > /etc/fbwhoami
cat /etc/fbwhoami

# For picking C++ 20 compiler from toolset-13
export PATH=/opt/rh/gcc-toolset-13/root/usr/bin:$PATH
export CXX=/opt/rh/gcc-toolset-13/root/usr/bin/c++
export CC=/opt/rh/gcc-toolset-13/root/usr/bin/cc

conda create -n venv python=3.12 -y
conda activate venv
python -m pip install --upgrade pip
conda install conda-forge::libopenssl-static conda-forge::rsync -y
conda install conda-forge::glog=0.4.0 conda-forge::gflags conda-forge::fmt -y

pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/rocm7.0

if [ "${{ matrix.cmake-version }}" = "latest" ]; then
conda install -y cmake
else # default to latest
conda install -y cmake==${{ matrix.cmake-version }}
fi

pip install -r requirements.txt

export ROCM_HOME=/opt/rocm
export RCCL_INCLUDE=$ROCM_HOME/include/rccl

./build_rccl.sh
pip install numpy
USE_SYSTEM_LIBS=1 USE_NCCL=0 USE_NCCLX=0 USE_GLOO=0 USE_RCCL=1 USE_TRANSPORT=OFF pip install --no-build-isolation -v -e .

# Verify installation - TODO re-enable this section after D90936340 stack lands
#python -c "import torch; print(f'PyTorch version: {torch.__version__}')"
#python -c "import torch; print(f'HIP available: {torch.cuda.is_available()}')"
#python -c "import torchcomms; print('TorchComms imported successfully')"

# Test RCCL backend availability
#python -c "
#import torchcomms
#try:
# comm = torchcomms.new_comm('rccl', torch.device('hip'), 'test_comm')
# print('RCCL backend available')
#except Exception as e:
# print(f'RCCL backend test failed: {e}')
#"

# Run integration tests
#echo "Running RCCL integration tests..."
#comms/torchcomms/scripts/run_tests_integration_rccl_py.sh
6 changes: 3 additions & 3 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ jobs:
- name: Setup conda env
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
miniconda-version: "latest"
conda-version: "25.11.1"
activate-environment: test
python-version: '3.10'
auto-activate: false
Expand All @@ -38,14 +38,14 @@ jobs:
run: python -m pip install --upgrade pip
- name: Install pytorch
shell: bash -l {0}
run: pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
run: pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cu128
- name: Install Dependencies
shell: bash -l {0}
run: |
set -eux
conda install -y git
conda install -y -c conda-forge glog==0.4.0 gflags fmt
pip install cmake
pip install cmake==3.31.6
pip install -r docs/requirements.txt
export USE_NCCL=0
export USE_NCCLX=0
Expand Down
Loading
Loading