Evaluate whether an existing hot path is a credible NVIDIA Warp candidate. Use for irregular or spatial queries, particle or geometry simulation, branch-heavy loops, many small launches, host fallbacks, or large intermediates. CPU-only code and absent GPU dependencies are normal unless NVIDIA is prohibited. Exclude required cross-vendor or CPU-only deployment, vendor-lowered dense or NN layers, general Warp API questions, and already-selected Warp kernels. Contribution policy alone is not exclusion.
68
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Collect reproducible evidence about how a narrow seam in an existing codebase would behave in NVIDIA Warp. Report facts; the user decides.
Name Warp as the option under evaluation in the first line, state that no adoption recommendation will follow, and do not treat the triggering performance request as authorization to experiment.
Measured evaluations produce warp-evaluation-report/: the report, one
independently applicable diff per solution, the drivers, and raw results. Never
modify production code. Exits before measured work create no directory.
These override any local reasoning.
AWAITING INTENT).Static screening requires the target repository and its stated product constraints. Measured work additionally requires explicit authorization, an NVIDIA CUDA GPU, target-project dependencies and a representative workload.
latest docs track development, not the shipped release. Pin to the
target project's own Warp version; if it has none, use the current stable and
say which.hasattr(wp, "mesh_query_point") is False on a release that has it. Probe
the stub file or that version's docs before concluding a builtin is absent.enable_backward=False (kernel, module or global) removes adjoint
codegen. If nothing differentiates through the seam, set it before measuring
compile cost.| State | Reached when | Report directory |
|---|---|---|
ABORT | Any gate establishes that the evaluated seam cannot satisfy the stated scope | No if nothing was measured; otherwise preserve the evidence already collected |
AWAITING INTENT | The environment gates turn on a fact only the user has | No — one question, both branches concrete |
AWAITING AUTHORIZATION | A candidate pattern survives stage 1 | No — early findings plus scope/resource preview |
INCOMPLETE | Authorized work cannot obtain representative evidence required for the scoped evaluation | Yes — preserve collected evidence and name the one missing artifact |
| Report delivered | Authorized work produced measurements, or stopped after the report directory existed | Yes — facts per seam and regime, with missing evidence explicit |
Use this exact shape for an early exit:
ABORT — Gate <letter>: <cited fact>; <why the scoped Warp evaluation cannot proceed>.
Do not name a preferred alternative.
Reporting rules:
references/evidence-and-reporting.md.
A delivered directory follows the template's fixed order: schema and provenance,
authorization and evaluation state, stage census, one B<n> evidence section
per seam/regime, caveats, then environment/reproduction. solutions/,
benchmarks/ and results/ contain every linked artifact.
Gate exit: ABORT — Gate A: deployment.md requires one implementation with AMD, Apple and NVIDIA parity; a Warp-specific path cannot satisfy this scope.
Surviving candidate: Name the seam and pattern, label inferred facts as assumptions, state that no gate has fired, preview the profile/baseline/Warp prototype/benchmark scope and its cost, then ask the separate intent and authorization questions from references/authorization-checkpoint.md.
Required: the target repository and a performance, memory or scale problem with a candidate seam. Optional: explicit deployment/packaging constraints, existing profiles or logs, representative datasets and acceptance criteria. Prompt constraints take precedence over repository policy/configuration, then existing logs. User corrections override inference. Never substitute an assumption for a stated fact or measurement.
| Script | Purpose | Arguments |
|---|---|---|
scripts/driver-template.py | Copy once per bottleneck; define workloads and variants | Edit placeholders, then run the copied driver |
scripts/measure.py | Import from drivers for synchronized timing, memory and isolated cases | Python API; do not execute directly |
scripts/validate_report_schema.py | Validate the delivered report and evidence links | <report-directory> |
Use run_script("scripts/validate_report_schema.py", args=["warp-evaluation-report"])
when supported; otherwise invoke the script with Python and the report directory.
INCOMPLETE and name the missing
artifact; do not invent data or fire Gate F.Every stage before the last can end the evaluation. Stop as soon as a gate fires; do not gather evidence that cannot change the scoped facts.
| Gate | Fires when |
|---|---|
| A | Production is stated CPU-only or to need non-NVIDIA portability, with no acceptable optional CUDA path |
| B | Data must cross the host/device boundary per small or infrequent call and the boundary cannot be widened |
| C | The region is dense tensor algebra already mapped to a tuned framework or vendor library |
| D | A mature CUDA implementation already meets the contract, and no non-performance objective was requested |
| E | A stated policy blocks Warp's dependency, compilation, cache or fallback obligations |
| F | Representative evidence proves the region too small a share of its requested metric for any backend to move it |
ABORT.Requires explicit authorization and a settled intent question.
ABORT the affected scope under Gate F, preserve the evidence already
collected, and stop. The existing authorization already covered this
materiality check; do not ask for authorization again.INCOMPLETE, and stop. This is missing
evidence, not Gate F and not ABORT. An invented workload cannot prove
materiality.Protocol: references/benchmark-protocol.md.
Record per candidate: source, bottleneck evidence, objective, narrow seam, mechanism Warp could change, strongest incumbent, risks, acceptance threshold, cheapest falsifying experiment. Screen against references/target-patterns.md; if none survives, write the report and stop.
Define values, dtypes, shapes, devices, errors, mutation, ordering, ties, capacity/overflow, topology/degeneracy, tolerances, required gradients, streams, ownership, aliasing, invalidation, concurrency, capture, teardown and fallback.
ABORT before prototyping if the proposed seam cannot satisfy a required
contract.Hazards and adversarial checks: references/semantic-contract.md.
Algorithm before backend: (1) a better or output-sensitive algorithm; (2) chunking, tiling, sparse output, layout, rematerialization; (3) the incumbent framework's compiler and native primitives; (4) what the project already depends on — its own accelerator backend, a parallel idiom it ships but leaves off, or a capability an existing dependency exposes and nobody wired up; (5) only then narrow Warp.
Close every in-project route before prototyping Warp:
| State | What it takes to claim it |
|---|---|
| measured | timed through the same boundary as the baseline |
| absent | a cited declaration, symbol table or missing flag proves it is unavailable |
| waived | you asked the user and they chose to skip it; record their words |
A capability present but unbound is reachable, not absent. If exposing it costs no more than the planned Warp seam, measure it first. Ladder details: references/baselines.md. Waived routes do not block stage 6; every route not explicitly waived must be measured or evidenced absent before the Warp prototype begins.
ABORT for the affected scope.not measured.null_test, and one-time costs both separately and amortized.
Serialize GPU measurements under an exclusive device lock. Below 1.5× is no
measured difference.ABORT for a seam and regime whose predeclared end-to-end performance or
memory requirement fails, after preserving the measurements.Full protocol: references/benchmark-protocol.md.
pass, fail, not measured, not available, no representative data,
unknown or n/a only where a stated criterion makes that status objective.
Missing evidence remains missing.complete only when every evaluated seam and regime includes
an end-to-end Warp measurement. Use aborted — <gate and scope> when a gate
fired, or incomplete — <missing evidence and scope> when representative
evidence was unavailable. Preserve everything collected. Never deliver an
incumbent-only report as a completed warp-eval.results/.uv run python scripts/validate_report_schema.py <report-directory>238de60
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.