Skip to content

Carry compiled kernel facts into prepared launches - #1562

Draft
tpn wants to merge 1 commit into
NVIDIA:mainfrom
tpn:codex/coop-interop-o02
Draft

tpn wants to merge 1 commit into
NVIDIA:mainfrom
tpn:codex/coop-interop-o02

Conversation

@tpn

@tpn tpn commented Oct 20, 2026

Copy link
Copy Markdown

Prepared launches currently know only source-declared shared-memory sizes. This adds compiler-produced facts for each concrete kernel, so dynamic_shared = inferred and LaunchConfig2D::auto_shared(...) select the allocation from the loaded artifact and reject incompatible block shapes or insufficient explicit sizes.

Fixed DynamicSharedArray::get_fixed views describe one aliasing base region; their extents and alignments combine by maximum. Artifact v3 carries those facts through PTX/cubin loading, including distinct generic PTX entries. Bundles without facts keep their v1/v2 encoding. Unsafe device code remains responsible for initialization, bounds, aliasing, synchronization, and declaring any externally accessed dynamic region.

Validation: artifact compatibility and malformed-record checks; host runtime, macro, backend, Cargo tooling and PTX tooling tests; clippy/rustdoc; native helper layouts, exact 2D geometry, automatic/explicit allocations, known-zero scratch and owned async completion; memcheck for PTX and materialized cases. Generic cubin loading remains unsupported.

This source draft keeps writers and readers on the same in-tree oxide-artifacts implementation. The 246 existing lockfile edits change only that source identity; one new fixture lock is separate. Package version/release coordination is still required before publication.

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>
@copy-pr-bot

copy-pr-bot Bot commented Oct 20, 2026

Copy link
Copy Markdown

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 branch has not been deployed

No deployments
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