Skip to content

[DRAFT] feat: enable native multi-device TensorRT on TensorRT-RTX builds - #4462

Open
apbose wants to merge 2 commits into
mainfrom
abose/TRT_MD_RTX
Open

[DRAFT] feat: enable native multi-device TensorRT on TensorRT-RTX builds#4462
apbose wants to merge 2 commits into
mainfrom
abose/TRT_MD_RTX

Conversation

@apbose

@apbose apbose commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

TensorRT-RTX 1.5 ships the full multi-device API (IDistCollectiveLayer,
addDistCollective, setNbRanks, IExecutionContext::setCommunicator), but
Torch-TensorRT compiled all of it out of RTX builds.

core/runtime/TRTEngine.h gated TRT_HAS_NATIVE_NCCL on
NV_TENSORRT_MAJOR/MINOR >= 10.16. TensorRT-RTX defines TRT_MAJOR_RTX /
TRT_MINOR_RTX and then aliases NV_TENSORRT_MAJOR/MINOR to them, so
NV_TENSORRT_MAJOR is 1 on RTX and that comparison never matched.
ENABLE_TRT_NCCL_COLLECTIVES was therefore never defined, and the whole MD
runtime -- bind_nccl_comm, set_group_name, release_nccl_comm, the lazy
bind in execute_engine.cpp, and NATIVE_TRT_COLLECTIVES_AVAIL -- was absent
from RTX builds. The two release lines use incompatible version schemes,
so detect the RTX package first and version-check against its own
numbering, mirroring is_tensorrt_version_supported() on the Python side.

Nothing else needed changing: the Bazel NCCL detection probes PyTorch
(RTX-agnostic on Linux), USE_C10D_NCCL and nccl_headers already reach the
RTX configs, the tensorrt_rtx bindings expose add_dist_collective /
CollectiveOperation / ReduceOperation / set_communicator / num_ranks, and
MD is not behind a PreviewFeature on RTX so the existing hasattr guard in
_TRTInterpreter correctly skips it.

CI: the `distributed` suite was variants=("standard",) and so never ran
against RTX. Add the rtx variant, overriding away test_nccl_ops.py and
USE_TRTLLM_PLUGINS -- both are TensorRT-LLM-only and would no-op on RTX.

Also add a per-suite `runner` field to the manifest. The suite's
--multirank follow-ups need 2 GPUs, but #4397 dropped the explicit
multi-GPU runner the old build-test-linux-x86_64.yml set for this job, so
it had been falling back to the single-GPU validation_runner. Restore
g4dn.12xlarge for standard; rtx uses g5.12xlarge (A10G/SM 8.6) since the
TensorRT docs describe DistCollective as requiring Ampere or newer.

Not yet validated on hardware; needs a 2-GPU RTX Linux box.
@meta-cla meta-cla Bot added the cla signed label Aug 4, 2026
@apbose apbose changed the title feat: enable native multi-device TensorRT on TensorRT-RTX builds [DRAFT] feat: enable native multi-device TensorRT on TensorRT-RTX builds Aug 4, 2026
@github-actions github-actions Bot added component: tests Issues re: Tests component: core Issues re: The core compiler component: runtime labels Aug 4, 2026
@github-actions
github-actions Bot requested a review from narendasan August 4, 2026 23:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant