Add an on-demand CUDA execution job and make it a release prerequisite

Aperta
#38 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, rust
Ambito
ci-cd, devops, release

Direzione di ricerca

Start with ci.yml, release.yml, and step 0 of docs/RELEASING.md; inspect the existing CUDA test commands and the STATUS.md matrix. Define a GPU runner workflow that can be dispatched and called by the release workflow, runs the listed CUDA suites, uploads logs, and records the driver, GPU, and SHA. Done means it has passed on a main SHA and blocks tagged releases without a green run or documented override.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Today — no CI job executes CUDA code. ci.yml runs on ubuntu-latest (11 jobs) and macos-latest (the metal job); CUDA is make check-cuda / lint-cuda only (ci.yml:92-94,166-168). The GPU tests are #[ignore]d (crates/oxidelake-device/src/cuda/mod.rs:524,553,649; crates/oxidelake-compute/tests/conformance.rs:317). The only CUDA execution on record is the manual T4 session of 2026-09-06, which found a correctness bug that 3 seeds × 5 sizes of CPU conformance had not (STATUS.md). Since then nothing re-executes CUDA; every kernel or ops.rs change can regress silently. docs/RELEASING.md step 0 requires the stress workflow and nothing GPU-side; make test-termlens-cli is not in the checklist either.

Why it is worth fixing — STATUS's own lesson: "compiles with --features cuda is not a verification status". A production release without a CUDA run on the release candidate re-creates the gap the T4 session closed once.

Fix — a gpu.yml with workflow_dispatch (and workflow_call from release.yml as a required job) that runs on a self-hosted or ephemeral cloud GPU runner: OXIDE_BACKEND=cuda cargo test -p oxidelake-device --features cuda -- --include-ignored, the compute conformance suite, and crates/oxidelake-runtime/tests/embedded.rs under --target cuda; uploads the log as an artifact; appends a dated row (driver, GPU, SHA) to STATUS.md's matrix by PR. Add it and make test-termlens-cli to RELEASING.md step 0.

Done when — the workflow exists and has run green at least once on a CUDA machine for a main SHA; release.yml refuses to publish without a green gpu run for the tagged SHA (or the maintainer's documented override).

Lingua principale
Rust
Stelle
1
Fork
2
Merge medio
1g 11h
PR unite (30g)
7

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di vyncint/oxidelake

Tutte le issue di vyncint/oxidelake

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.