Skip to content

Pin the TensorRT-RTX EP 0.5.0 wheel (TensorRT-RTX 1.7.1) - #38

Merged
tonythethompson merged 3 commits into
mainfrom
claude/tensorrt-rtx-1-7-d04668
Oct 22, 2026
Merged

tonythethompson merged 3 commits into
mainfrom
claude/tensorrt-rtx-1-7-d04668

Conversation

@tonythethompson

@tonythethompson tonythethompson commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

NVIDIA released TensorRT-RTX 1.7. The EP wheel that bundles it, onnxruntime-ep-nv-tensorrt-rtx-cu13 0.5.0, was published to PyPI on 2026-10-22. This PR moves the stock trt-rtx pin to that wheel.

  • Pin: x86_64 (manylinux_2_28) and aarch64 (manylinux_2_35) move from 0.4.0 to 0.5.0. The bundled TensorRT-RTX goes from 1.6.1 to 1.7.1. File layout is unchanged, minimum ORT is still 1.24, and the newest glibc symbol needed is still 2.27.
  • Library links: the links libtensorrt_rtx.so.1 and libtensorrt_onnxparser_rtx.so.1 were hardcoded to .so.1.6.1, so the 0.5.0 EP couldn't have loaded. They now point at whichever version is in the directory, in both PluginInstaller.CreateRequiredSymlinks and fetch-ep-plugins.sh.
  • Upgrades: the wheel doesn't record its version, so an existing 0.4.0 install counted as installed and would never be replaced. The new PluginPackageSpec.VersionMarkerFile is set to libtensorrt_rtx.so.1.7.1. An install without that file is replaced, and the download is verified before the old directory is touched. The fetch script does the same.
  • WSL2 patched build: unchanged at 0.4.0-wsl2p2 and not rebuilt, because the fix is expected upstream in fix: WSL2 fallback for GPU device enumeration NVIDIA/TensorRT-RTX-EP-ABI#12. It loads the stock wheel's runtime by its library name (libtensorrt_rtx.so.1), so it now runs on 1.7.1. Verified below.

TensorRT-RTX engines don't carry across versions, so any engine cache built under 1.6.1 (trt_engine_cache_enable) gets rebuilt.

Test plan

  • dotnet build -warnaserror
  • dotnet test: 378/379 pass. ExitCodeTests.Run_MissingRequiredPlugin_Returns3_WithInstallHint also fails on main: a vendored MIGraphX plugin can't load on a host without ROCm. Tracked separately.
  • New tests: a marked package replaces an install missing the marker and keeps one that has it; the library links work for both 1.6.1 and 1.7.1.
  • LINML_CATALOG_NETWORK_TESTS=1 TensorrtRtxWsl2EndToEndTests on WSL2 with an RTX 5070 (driver 617.42), from a clean root: downloads stock 0.5.0 plus 0.4.0-wsl2p2, the GPU is found, and the fixture model returns the expected output.
  • scripts/fetch-ep-plugins.sh trt-rtx-wsl2 on a host that had 0.4.0 vendored: replaced it with 0.5.0 and linked to 1.7.1. Running it again is a no-op.
  • aarch64 wheel not tested on hardware (same as before).

🤖 Generated with Claude Code

View guided diff

- Bump the stock trt-rtx pin (x86_64 and aarch64) from
  onnxruntime-ep-nv-tensorrt-rtx-cu13 0.4.0 to 0.5.0, which bundles
  TensorRT-RTX 1.7.1 instead of 1.6.1. Same ABI and minimum ORT.
- SONAME links (libtensorrt_rtx.so.1, libtensorrt_onnxparser_rtx.so.1)
  follow whichever runtime version is vendored instead of a hardcoded
  1.6.1, which would have left the 0.5.0 EP unable to load.
- The wheel records no version, so a vendored 0.4.0 counted as installed.
  PluginPackageSpec.VersionMarkerFile names a file only the pinned build
  ships (libtensorrt_rtx.so.1.7.1); an install without it is replaced, in
  the installer and in scripts/fetch-ep-plugins.sh.
- The patched WSL2 build stays at 0.4.0-wsl2p2 (fix expected upstream in
  NVIDIA/TensorRT-RTX-EP-ABI#12). It links the stock runtime by SONAME and
  passes TensorrtRtxWsl2EndToEndTests on 1.7.1 (WSL2, RTX 5070).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 29 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7cc289a7-2bcd-49ed-8d18-9aae1e90a92c
📥 Commits

Reviewing files that changed from the base of the PR and between b3adb5d and 899b98e.

📒 Files selected for processing: 8
  • CHANGELOG.md
  • README.md
  • docs/compatibility.md
  • scripts/fetch-ep-plugins.sh
  • src/LinML.Catalog/PluginInstaller.cs
  • src/LinML.Catalog/PluginPackageSpec.cs
  • tests/LinML.Catalog.Tests/PluginExecutionProviderTests.cs
  • tests/LinML.Catalog.Tests/PluginInstallerTests.cs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T18:41:20.475900Z 41b509d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@amazon-q-developer amazon-q-developer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

This PR correctly pins the TensorRT-RTX EP wheel from 0.4.0 to 0.5.0 (TensorRT-RTX 1.7.1), introduces VersionMarkerFile to reliably detect stale 0.4.0 installs, and fixes the previously hardcoded SONAME symlinks to be version-agnostic. The overall approach is sound and the changes are well-structured.

One Blocking Issue

scripts/fetch-ep-plugins.sh — fetch_trt_rtx (x86_64) libcudart symlink is hardcoded (see inline comment). The x86_64 function still checks for the exact filename libcudart.so.13.4.36; if the 0.5.0 wheel ships a different patch (e.g. .37), no libcudart.so.13 symlink is created and the EP cannot load at runtime. The aarch64 sibling function already uses the correct compgen-based dynamic discovery. The same pattern needs to be applied to the x86_64 path. Note that PluginInstaller.cs (the C# equivalent) uses FirstOrDefault for this link which is already version-agnostic.

No Other Blockers

  • The new VersionMarkerFile mechanism and its integration into IsCurrent/IsVendored are logically correct.
  • The dynamic SONAME symlink logic in CreateRequiredSymlinks (C#) using LastOrDefault is correct and future-proof.
  • SHA-256 hashes and wheel URLs for 0.5.0 are consistent between scripts/fetch-ep-plugins.sh and PluginPackageSpec.cs.
  • Test coverage for VersionMarkerFile, CreateRequiredSymlinks with both 1.6.1 and 1.7.1, and the force-reinstall safety invariant are all present and correct.

You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.

Comment thread scripts/fetch-ep-plugins.sh Resolved
fetch_trt_rtx hardcoded libcudart.so.13.4.36, so a wheel with another CUDA
patch version would silently skip the libcudart.so.13 link and the EP would
fail to load. Discover it as fetch_trt_rtx_arm64 and the installer do.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tonythethompson

Copy link
Copy Markdown
Contributor Author

/oc resolve merge conflicts

@opencode-agent

Copy link
Copy Markdown
Contributor

APIError: Unauthorized: {"result":null,"success":false,"errors":[{"code":10000,"message":"Authentication error"}],"messages":[]}

github run

@tonythethompson
tonythethompson merged commit 3fcccc0 into main Oct 22, 2026
7 checks passed
@tonythethompson
tonythethompson deleted the claude/tensorrt-rtx-1-7-d04668 branch October 22, 2026 23:04
@tonythethompson tonythethompson mentioned this pull request Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant