cuPyNumeric Migration Readiness
Assess whether NumPy code is ready to scale on GPUs before committing to a substantial cuPyNumeric port.
The skill explicitly restricts itself to static, read-only inspection, forbids executing user code, writing files, printing environment variables or secrets, and delegates Legate/Doctor commands to the user; data flow and external effects are comparatively transparent. Deductions apply because it lacks explicit sensitive-source redaction guidance, a confirmation workflow, rollback guidance, and additional safety controls around user-run commands.
The five-step workflow, API manifest procedure, troubleshooting guidance, and Doctor handoff are detailed, including defaults and handling of indeterminate inputs. Static review cannot execute key paths, and the skill provides no committed test suite or reproducible runtime evidence; it also depends on several referenced files not included in the supplied material, so the score remains below the static ceiling.
Triggers, decline cases, defaults, four verdict levels, and non-fit boundaries are clearly specified for dense NumPy workloads and sparse, graph, or ML cases. Deductions apply because Chinese-language output and user support are not specified, and mainland-China reachability of the external documentation and upstream services is not established; core analysis may still depend on those overseas links.
The skill provides layered information architecture, progressive reading order, compatibility notes, licensing, version metadata, upstream links, examples, a refresh script, and troubleshooting. Deductions apply because there is no explicit changelog, durable maintenance owner or update commitment, while the deep reference chain and very long trigger description increase maintenance and discovery cost.
The four verdicts are operational, and the required per-finding locations, recipes, API gaps, gates, and eight-section report make the static assessment actionable. Deductions apply because the skill neither executes code nor performs refactoring or performance validation; users still need Doctor, benchmarks, and manual review before relying on the result.
The committed API snapshot includes a source, fetch timestamp, counts, and legend, and the workflow requires per-API checking plus fact/inference separation. Deductions apply because the supplied skill text contains no real CI, test suite, or independently reproducible execution evidence; the listed external references cannot be independently verified from the provided static material.
- The skill does not execute code or validate real performance; a READY verdict still requires user-run cuPyNumeric Doctor and benchmarking.
- It depends on multiple external references and upstream documentation without documenting an offline mirror or mainland-China fallback.
- User source code may contain sensitive information, but the skill does not explicitly require redaction, minimal inspection, or avoiding transmission to external services.
- The API-support snapshot is time-stamped and may become stale; its user-run refresh script is not supported by static execution evidence.
What does this skill do, and when should you use it?
This NVIDIA Agent Skill evaluates existing NumPy code before migration to cuPyNumeric. It statically inspects source files, looks up NumPy APIs, and cross-references the cuPyNumeric support manifest to identify scalable patterns, migration blockers, and refactoring work. It returns one of four verdicts—READY, LIGHT REFACTOR, SIGNIFICANT REFACTOR, or NOT RECOMMENDED—with concrete pointers. The skill is part of NVIDIA’s daily-synced, 324-skill catalog and is licensed under CC-BY-4.0 OR Apache-2.0.
Reads the user’s source with Read, Grep, and Glob; classifies array operations, loops, scalar synchronization, host round-trips, Python control flow, MPI usage, mixed runtimes, and in-place mutation hazards; checks every relevant NumPy API against the cuPyNumeric support manifest; assesses workload size and compute pattern; and produces a structured report with file-and-line findings, refactor recipes, API gaps, decision gates, and next steps. It does not execute user code or modify files.
- A developer is preparing to port a NumPy scientific-computing program to NVIDIA GPUs and needs a go/no-go assessment.
- A team expects to scale to multiple GPUs or nodes and wants to find synchronization, host-transfer, or unsupported-API risks first.
- An engineer wants to locate element loops, Python built-in iteration, or MPI data-communication patterns before porting.
- A project lead needs module-level refactoring guidance and a recommendation about which module to port first.
- A developer has applied refactors and wants guidance for the first cuPyNumeric Doctor validation run.
What are this skill's strengths and limitations?
- Designed for migration decisions rather than generic GPU advice.
- Covers common multi-GPU scaling blockers and requires file-and-line evidence.
- Separates scalable code, blockers, refactoring opportunities, compatibility notes, and API gaps.
- Requires no cuPyNumeric installation because the assessment is static and read-only.
- Does not execute code, benchmark performance, or generate the refactored implementation.
- Semantic source review can miss implicit synchronization hidden in logging, decorators, or runtime-dependent behavior.
- Actual validation requires the user to provide an appropriate cuPyNumeric, Legate, CUDA, and NVIDIA GPU environment.
- The source provides no independent test suite or measured performance results for this individual skill.
How do you install this skill?
Install the specific skill with the default skills CLI: npx skills add nvidia/skills --skill cupynumeric-migration-readiness --yes. To target Codex explicitly, use: npx skills add nvidia/skills --skill cupynumeric-migration-readiness --agent codex --yes. The source does not document other clients’ exact installation directories.
How do you use this skill?
In an agent that has loaded the skill, ask for a pre-migration assessment, for example: “Assess the NumPy code in the current directory for migration to cuPyNumeric, analyze GPU and multi-GPU scaling, and list required refactors.” The skill defaults to the current working directory and applies documented defaults when size, hardware, or compute pattern are not supplied. After refactoring and confirming the program runs, follow its Doctor handoff command: CUPYNUMERIC_DOCTOR=1 CUPYNUMERIC_DOCTOR_FORMAT=json CUPYNUMERIC_DOCTOR_FILENAME=doctor-report.json legate --gpus 1 main.py.