Repository navigation
Conversation
Use Cargo target names for standalone emit-ltoir artifacts. Bind the compiler and reader to the same intermediate directory when invoked from a Cargo workspace member. Signed-off-by: Trent Nelson <trent@trent.me>
Accept ordered external LTO files when materializing embedded cubins. Include their content in the codegen fingerprint and verify owned bytes before linking through the existing finalizer. Preserve inputs that overlap generated output paths and diagnose unresolved device symbols. Add a standalone CUDA FFI example and a native regression script. Signed-off-by: Trent Nelson <trent@trent.me>
Reuse existing example dependency pins and classify external LTO as an FFI fixture. Run its linking regression in native sweeps and verify relocatable debug output in the existing full-debug route. Signed-off-by: Trent Nelson <trent@trent.me>
Preserve exact geometry and fixed dynamic shared-memory requirements through artifact loading so preparation can select and validate the compiled allocation. Keep artifact writers and readers on one in-tree implementation while preserving legacy bundles without launch facts. Signed-off-by: Trent Nelson <trent@trent.me>
Combine the reviewed compiler prerequisites for native library calls. Keep the external LTO fixture on the shared in-tree artifact implementation. Signed-off-by: Trent Nelson <trent@trent.me>
Use the reviewed Cargo target and output-directory correction in the combined compiler prerequisite tree. Signed-off-by: Trent Nelson <trent@trent.me>
Resolve concrete registration functions and scalar argument types during device compilation, then invoke the native provider and link its owned LTO output through the ordinary artifact finalizer. Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Carry the convergence marker through private dependency metadata and emit it on each marked LLVM declaration before native optimization. Deduplicate repeated extern symbols while rejecting incompatible signatures and convergence requirements. Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
This was referenced Oct 20, 2026
Instantiate a registration getter constant with its concrete function arguments before reading the registration text. Exercise the existing raw native calls through a generic associated-constant getter. Signed-off-by: Trent Nelson <trent@trent.me>
Carry the provider branch onto the upstream shared-host v0.5 source. Refresh the launch-facts example lockfile for the four local packages so the merged example workspace resolves with --locked. Signed-off-by: Trent Nelson <trent@trent.me>
Keep both standalone native examples locked to the local v0.5 host packages after the upstream integration. Third-party dependencies and all dependency edges are unchanged. Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
Signed-off-by: Trent Nelson <trent@trent.me>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rust libraries need to specialize native device code for the concrete types and extents used by a kernel. This adds an unsafe native-library marker: ordinary Cargo compilation discovers typed calls through helpers, invokes the native provider, and carries block and scratch requirements into launch preparation. Cargo tracks provider, header and environment inputs for rebuilds.
Generic registration getters instantiate associated constants with their concrete type arguments. The example handles one and four items per thread without consumer-written linker arguments. Participation, pointer validity and scratch reuse remain the unsafe caller’s responsibility. This version integrates upstream Rust 1.99.1 support and repairs the affected fixture lockfiles while preserving the provider contract.
Validation: affected host tests and strict checks; fresh integration review; exact-revision ordinary Git and fresh HTTPS installs with automatic backend selection; generic/literal executable-code, ABI and resource comparisons; and the HTTPS-built GPU example checking 1,920 values. The affected locked dependency graphs pass. Published-head CI and broader CuTe runtime coverage are separate.
Review scope: Files changed includes prerequisites #1559, #1560 and #1562–#1564. A narrow base requires a maintainer-created upstream prerequisite branch or prerequisite landing. The provider implementation and generic-getter correction show the original owning changes separately. NVIDIA/cccl#12088 supplies the coordinated provider adapter; safe collective checking has its own PR.