Skip to content

Update cuda-oxide to Pliron 0.19.0 - #1526

Merged
nihalpasham merged 2 commits into
NVIDIA:mainfrom
nihalpasham:chore/pliron-0.19
Oct 16, 2026
Merged

nihalpasham merged 2 commits into
NVIDIA:mainfrom
nihalpasham:chore/pliron-0.19

Conversation

@nihalpasham

@nihalpasham nihalpasham commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Move both cuda-oxide compiler workspaces from the Pliron Git pin to the published 0.19.0 crates. Exact version pins make the dependency reproducible while retaining the configuration without the LLVM FFI bridge. This change targets main and applies to the existing compiler and examples.

Changes

  • Pin pliron, pliron-derive, and pliron-llvm to =0.19.0, update combine, both lockfiles, and dependency source/license metadata.
  • Implement Pliron's new branch operand-range and segment interfaces. Validate malformed metadata, including overflowing counts, before accessing operand ranges or allocating export state.
  • Adapt printing, source locations, and attribute-map access. Fix function parsing to preserve exactly one body region and round-trip optional attributes.
  • Add regressions for invalid branches, successor mutations, exporter error handling, and function parsing.

Testing

  • just check passed from cuda-oxide/ on the pinned nightly: formatting, strict clippy, tests, guards, intrinsics, and rustdoc/doctests, including the separate backend workspace.
  • cargo oxide run vecadd --arch sm_120 passed on RTX 5090: all 1,024 elements correct.
  • cargo oxide run array_for_loop --arch sm_120 passed on RTX 5090: scalar and struct array iteration plus generated/mapped array helpers across 32 threads.
  • Independent review covered the main-based migration, malformed branch metadata, parser invariants, and dependency resolution.
  • New example: not applicable.

Checklist

  • Commit signed and signed off.
  • Existing SPDX headers preserved; no new source files.

@nihalpasham nihalpasham added build-related Build scripts, toolchain discovery, or compilation setup IR-lowering Lowering between dialects (dialect-mir to LLVM dialect) cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book labels Oct 16, 2026
Signed-off-by: nihalpasham <nihalp@nvidia.com>
@nihalpasham
nihalpasham changed the base branch from exp/cuteir-translation to main October 16, 2026 08:07
@nihalpasham nihalpasham reopened this Oct 16, 2026
The root deny.toml is a copy of cuda-oxide/deny.toml, so it drops the same
pliron allow-git exception and no longer mentions it in its header. The
llvm-export README and the book's pliron page now describe pliron as a
published crates.io release instead of a git dependency.

Signed-off-by: nihalpasham <nihalp@nvidia.com>
@nihalpasham nihalpasham added llvm-export Textual LLVM/NVVM IR exporter (llvm-export crate) refactor Internal restructuring with no behavior change labels Oct 16, 2026
@nihalpasham
nihalpasham merged commit e84e5b3 into NVIDIA:main Oct 16, 2026
62 checks passed
@nihalpasham nihalpasham added the supply-chain Dependency policy: licenses, sources, security advisories, lock files label Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build-related Build scripts, toolchain discovery, or compilation setup cuda-oxide SIMT programming model: rustc backend, cargo oxide, cuda-device, cuda-host, book IR-lowering Lowering between dialects (dialect-mir to LLVM dialect) llvm-export Textual LLVM/NVVM IR exporter (llvm-export crate) refactor Internal restructuring with no behavior change supply-chain Dependency policy: licenses, sources, security advisories, lock files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant