Repository navigation
LinML v0.4.0
LinML v0.4.0
This release adds a Python package for running inference from Python and an opt-in patched TensorRT-RTX plugin that makes the GPU visible under WSL2. It also makes linux-arm64 builds more reliable.
Highlights
Python package
LinML can now be driven from Python.
- New
linmlpackage withInferenceClientandInferenceSession. - A CLI wheel bundles the
linmlbinary, sopip installgives you a working CLI. - Results now include per-run latency (
LatencyMs) and node placement diagnostics, so you can see which execution provider ran each node. - Input handling is stricter and clearer:
- Scalar (rank-0) inputs and outputs are handled correctly.
- Unsupported boolean tensors raise a clear
ValueError. linml.doctor()validates that inputs were supplied.
- The session manager checks that the server it connects to is serving the model you asked for, so it won't take over an unrelated local server. It also supports IPv6 hosts and has separate startup and request timeouts.
- The Python wrapper can no longer call itself recursively when it looks for the CLI binary.
TensorRT-RTX on WSL2 (opt-in)
Under WSL2 the stock TensorRT-RTX plugin registers its execution provider but finds no GPU, because WSL2 reports the device with a virtual PCI ID that CUDA rejects.
- We now ship a patched build that pairs the virtual adapter with the CUDA devices it can see.
- It is opt-in. The default pin still points to NVIDIA's wheel. To install the patched build:
bash scripts/fetch-ep-plugins.sh trt-rtx-wsl2
- Library resolution order is
TRT_RTX_CUSTOM_EP, then the vendored WSL2 build, then the stock wheel.TRT_RTX_CUSTOM_EPis now honoured by the CLI. scripts/build-trt-rtx-ep.shrebuilds the plugin reproducibly, so you can audit it.
linux-arm64
linml setupnow correctly detects plugins that are already installed on ARM64 (including--dry-run).- Release builds of the self-contained linux-arm64 binary are fixed (see Fixes below).
Fixes
- Release pipeline: the self-contained linux-arm64 publish failed because its runtime was never restored. It is now restored explicitly.
- Release pipeline: verification no longer tries to run the arm64 binary on an x64 runner. arm64 is still tested natively in CI.
- CI (ARM64): ONNX Runtime native libraries are installed and
LD_LIBRARY_PATHis set, integration tests are excluded from the ARM64 job, and the "already installed" test is skipped on ARM64 because no plugins are recommended there.
Upgrade notes
- No breaking changes to the CLI or the C# libraries.
- WSL2 users who want GPU access through TensorRT-RTX should install the patched plugin with the command above.
Downloads
linml-linux-x64.tar.gzandlinml-linux-arm64.tar.gz, both self-contained, with SHA-256 sums inSHA256SUMS.txt.- NuGet:
LinML.ContractsandLinML.Catalog0.4.0.
Full changelog: v0.3.0...v0.4.0