| name | cuda-skill |
| description | Query NVIDIA PTX ISA 9.1, CUDA Runtime API 13.1, Driver API 13.1, Programming Guide v13.1, Best Practices Guide, Nsight Compute, Nsight Systems local documentation. Debug and optimize GPU kernels with nsys/ncu/compute-sanitizer workflows. Use when writing, debugging, or optimizing CUDA code, GPU kernels, PTX instructions, inline PTX, TensorCore operations (WMMA, WGMMA, TMA, tcgen05), or when the user mentions CUDA API functions, error codes, device properties, memory management, profiling, GPU performance, compute capabilities, CUDA Graphs, Cooperative Groups, Unified Memory, dynamic parallelism, CUDA programming model concepts, bank conflicts, shared memory optimization, warp divergence, memory coalescing, occupancy tuning, register pressure, L2 cache control, async copy, mbarrier, thread block clusters, or CUDA architecture questions (Ampere sm_80, Hopper sm_90, Blackwell sm_100). |
CUDA & PTX Reference
Documentation Locations
All documentation is under the references/ directory within this skill's install location.
The base path depends on which agent tool is used:
- Cursor:
~/.cursor/skills/cuda-skill/references/
- Claude Code:
~/.claude/skills/cuda-skill/references/
- Codex:
~/.codex/skills/cuda-skill/references/
Below, CUDA_REFS refers to the references/ directory inside the skill's install path.
For example: ~/.cursor/skills/cuda-skill/references/ (Cursor) or ~/.claude/skills/cuda-skill/references/ (Claude Code).
Replace with the actual path in all search commands.
references/
โโโ ptx-docs/ # PTX ISA 9.1 full spec (405 files, 2.3MB)
โโโ ptx-simple/ # PTX condensed quick-ref (13 files, 149KB)
โโโ cuda-runtime-docs/ # CUDA Runtime API 13.1 (107 files, 0.9MB)
โโโ cuda-driver-docs/ # CUDA Driver API 13.1 (128 files, 0.8MB)
โโโ cuda-guide/ # CUDA Programming Guide v13.1 (39 pages, 1.6MB)
โ โโโ 01-introduction/ # Programming model, CUDA platform
โ โโโ 02-basics/ # CUDA C++, kernels, async, memory, nvcc
โ โโโ 03-advanced/ # Advanced APIs, kernel programming, driver API, multi-GPU
โ โโโ 04-special-topics/ # Graphs, Unified Memory, Coop Groups, TMA, etc.
โ โโโ 05-appendices/ # Compute Capabilities, C++ extensions, math funcs
โ โโโ INDEX.md
โโโ best-practices-guide/ # CUDA C++ Best Practices Guide
โโโ ncu-docs/ # Nsight Compute full docs (ProfilingGuide, CLI, etc.)
โโโ nsys-docs/ # Nsight Systems full docs (UserGuide, etc.)
โโโ ptx-isa.md # PTX search guide
โโโ cuda-runtime.md # Runtime API search guide
โโโ cuda-driver.md # Driver API search guide
โโโ nsys-guide.md # Nsight Systems quick reference
โโโ ncu-guide.md # Nsight Compute quick reference
โโโ debugging-tools.md # compute-sanitizer, cuda-gdb
โโโ nvtx-patterns.md # NVTX instrumentation
โโโ performance-traps.md # Bank conflicts, coalescing
ptx-simple/ Contents (Condensed Quick-Ref)
ptx-simple/
โโโ ptx-isa-arithmetic.md # add, sub, mul, mad, fma, div, min, max
โโโ ptx-isa-data-types.md # Types, cvt, rounding, pack
โโโ ptx-isa-memory-spaces.md # .reg, .global, .shared, fences
โโโ ptx-isa-load-store.md # ld, st, prefetch
โโโ ptx-isa-control-flow.md # @p, setp, bra, call, ret, exit
โโโ ptx-isa-tensor-cores.md # mma.sync, ldmatrix, wgmma
โโโ ptx-isa-async-copy.md # cp.async, cp.async.bulk, TMA
โโโ ptx-isa-barriers.md # bar.sync, mbarrier
โโโ ptx-isa-warp-ops.md # shfl, vote, match, redux
โโโ ptx-isa-cache-hints.md # Cache control
โโโ ptx-isa-sm90-hopper.md # Hopper-specific (sm_90)
โโโ ptx-isa-sm100-blackwell.md # Blackwell-specific (sm_100, tcgen05)
โโโ ptx-isa-misc.md # Other instructions
Search Strategy
Use Grep tool to search documentation. Never load entire files into context.
PTX Instruction Lookup
rg "mbarrier.init" ~/.cursor/skills/cuda-skill/references/ptx-docs/9-instruction-set/
rg "register fragment" ~/.cursor/skills/cuda-skill/references/ptx-docs/9-instruction-set/ | rg -i wgmma
rg "swizzle_mode" ~/.cursor/skills/cuda-skill/references/ptx-docs/
rg "wgmma" ~/.cursor/skills/cuda-skill/references/ptx-simple/ptx-isa-tensor-cores.md
CUDA Runtime API Lookup
rg "cudaErrorInvalidValue" ~/.cursor/skills/cuda-skill/references/cuda-runtime-docs/
rg -A 20 "cudaStreamSynchronize" ~/.cursor/skills/cuda-skill/references/cuda-runtime-docs/modules/group__cudart__stream.md
rg "" ~/.cursor/skills/cuda-skill/references/cuda-runtime-docs/data-structures/structcudadeviceprop.md
CUDA Driver API Lookup
rg -A 20 "cuCtxCreate" ~/.cursor/skills/cuda-skill/references/cuda-driver-docs/modules/group__cuda__ctx.md
rg "cuModuleLoad" ~/.cursor/skills/cuda-skill/references/cuda-driver-docs/modules/group__cuda__module.md
rg "cuMemMap" ~/.cursor/skills/cuda-skill/references/cuda-driver-docs/modules/group__cuda__va.md
CUDA Programming Guide Lookup
rg -A 5 "sm_90" ~/.cursor/skills/cuda-skill/references/cuda-guide/05-appendices/compute-capabilities.md
rg "cudaGraph" ~/.cursor/skills/cuda-skill/references/cuda-guide/04-special-topics/cuda-graphs.md
rg "cooperative" ~/.cursor/skills/cuda-skill/references/cuda-guide/04-special-topics/cooperative-groups.md
rg "managed" ~/.cursor/skills/cuda-skill/references/cuda-guide/04-special-topics/unified-memory.md
rg "cluster" ~/.cursor/skills/cuda-skill/references/cuda-guide/01-introduction/programming-model.md
cat ~/.cursor/skills/cuda-skill/references/cuda-guide/INDEX.md
Best Practices Guide Lookup
rg -i "coalescing" ~/.cursor/skills/cuda-skill/references/best-practices-guide/
rg -i "occupancy" ~/.cursor/skills/cuda-skill/references/best-practices-guide/
rg -i "shared memory" ~/.cursor/skills/cuda-skill/references/best-practices-guide/
Nsight Compute Lookup
rg -i "metric" ~/.cursor/skills/cuda-skill/references/ncu-docs/ProfilingGuide.md
rg -i "section" ~/.cursor/skills/cuda-skill/references/ncu-docs/NsightComputeCli.md
rg -i "roofline" ~/.cursor/skills/cuda-skill/references/ncu-docs/ProfilingGuide.md
Nsight Systems Lookup
rg -i "nsys profile" ~/.cursor/skills/cuda-skill/references/nsys-docs/UserGuide.md
rg -i "cuda.*trace" ~/.cursor/skills/cuda-skill/references/nsys-docs/UserGuide.md
When to Use Each Source
| Need | Source | Path shorthand |
|---|
| PTX instruction syntax/semantics | Full PTX docs | ptx-docs/9-instruction-set/ |
| Quick PTX syntax check | Condensed PTX | ptx-simple/ |
| State spaces, data types | Full PTX docs | ptx-docs/5-state-spaces-types-and-variables/ |
| Memory consistency model | Full PTX docs | ptx-docs/8-memory-consistency-model/ |
| Special registers (%tid, etc.) | Full PTX docs | ptx-docs/10-special-registers/ |
| Directives (.version, .target) | Full PTX docs | ptx-docs/11-directives/ |
| CUDA Runtime functions | Runtime docs | cuda-runtime-docs/modules/ |
| CUDA structs (cudaDeviceProp) | Runtime docs | cuda-runtime-docs/data-structures/ |
| Driver API (cuCtx, cuModule) | Driver docs | cuda-driver-docs/modules/ |
| sm_90 / Hopper specifics | Condensed PTX | ptx-simple/ptx-isa-sm90-hopper.md |
| sm_100 / Blackwell / tcgen05 | Condensed PTX | ptx-simple/ptx-isa-sm100-blackwell.md |
| CUDA C++ programming concepts | Programming Guide | cuda-guide/02-basics/ |
| Thread/block/grid model | Programming Guide | cuda-guide/01-introduction/programming-model.md |
| Compute Capabilities table | Programming Guide | cuda-guide/05-appendices/compute-capabilities.md |
| CUDA Graphs usage | Programming Guide | cuda-guide/04-special-topics/cuda-graphs.md |
| Unified Memory | Programming Guide | cuda-guide/04-special-topics/unified-memory.md |
| Cooperative Groups | Programming Guide | cuda-guide/04-special-topics/cooperative-groups.md |
| Async barriers/pipelines (C++) | Programming Guide | cuda-guide/04-special-topics/async-barriers.md |
| L2 cache control | Programming Guide | cuda-guide/04-special-topics/l2-cache-control.md |
| Dynamic parallelism | Programming Guide | cuda-guide/04-special-topics/dynamic-parallelism.md |
| C++ language extensions | Programming Guide | cuda-guide/05-appendices/cpp-language-extensions.md |
| Math functions (device) | Programming Guide | cuda-guide/05-appendices/mathematical-functions.md |
| Multi-GPU programming | Programming Guide | cuda-guide/03-advanced/multi-gpu-systems.md |
| Environment variables | Programming Guide | cuda-guide/05-appendices/environment-variables.md |
| Memory optimization practices | Best Practices | best-practices-guide/ |
| Performance profiling strategy | Best Practices | best-practices-guide/ |
| ncu metrics, sections, roofline | Nsight Compute | ncu-docs/ProfilingGuide.md |
| ncu CLI options and workflows | Nsight Compute | ncu-docs/NsightComputeCli.md |
| nsys profiling and tracing | Nsight Systems | nsys-docs/UserGuide.md |
Debugging Workflow
- Reproduce minimally โ Isolate failing kernel with smallest input
- Add printf โ
if (idx == 0) printf(...) in device code
- Run compute-sanitizer:
compute-sanitizer --tool memcheck ./program
compute-sanitizer --tool racecheck ./program
- cuda-gdb backtrace (non-interactive):
cuda-gdb -batch -ex "run" -ex "bt" ./program
- When tools fail โ Minimize diff between working/broken code, read it carefully
For detailed tool options, read ~/.cursor/skills/cuda-skill/references/debugging-tools.md.
Performance Optimization Workflow
Never optimize without profiling. GPU bottleneck intuition is almost always wrong.
- Establish baseline timing
- nsys โ Where is time spent?
nsys profile -o report ./program
nsys stats report.nsys-rep --report cuda_gpu_kern_sum
- ncu โ Why is this kernel slow?
ncu --kernel-name "myKernel" --set full -o report ./program
- Hypothesize based on metrics, change ONE thing, verify
| Symptom | Likely Cause | Tool |
|---|
| Low GPU utilization | Launch overhead, CPU bottleneck | nsys timeline |
| Memory bound | Poor coalescing, low cache hit | ncu memory section |
| Compute bound but slow | Low occupancy, register pressure | ncu occupancy |
| High sectors/request (>4) | Poor coalescing | ncu memory metrics |
For detailed guides, read:
~/.cursor/skills/cuda-skill/references/nsys-guide.md (quick reference)
~/.cursor/skills/cuda-skill/references/ncu-guide.md (quick reference)
~/.cursor/skills/cuda-skill/references/performance-traps.md
~/.cursor/skills/cuda-skill/references/ncu-docs/ProfilingGuide.md (full Nsight Compute profiling guide)
~/.cursor/skills/cuda-skill/references/nsys-docs/UserGuide.md (full Nsight Systems user guide)
~/.cursor/skills/cuda-skill/references/best-practices-guide/ (CUDA C++ Best Practices)
Compilation Reference
nvcc -g -G -lineinfo -O0 program.cu -o program_debug
nvcc -O3 -lineinfo program.cu -o program
nvcc -arch=sm_80 program.cu
nvcc -arch=sm_90 program.cu
nvcc -arch=sm_100 program.cu
nvcc -ptx program.cu
cuobjdump -ptx ./program
cuobjdump -sass ./program
nvcc --ptxas-options=-v program.cu
Inline PTX in CUDA
__device__ int myAdd(int a, int b) {
int result;
asm("add.s32 %0, %1, %2;"
: "=r"(result)
: "r"(a), "r"(b));
return result;
}
// Constraint codes: r=32b reg, l=64b reg, f=f32, d=f64, n=immediate
PTX Documentation Structure
ptx-docs/
โโโ 1-introduction/
โโโ 2-programming-model/ # Thread hierarchy, memory
โโโ 3-ptx-machine-model/ # SIMT architecture
โโโ 4-syntax/ # PTX syntax rules
โโโ 5-state-spaces-types-and-variables/ # Memory spaces, data types
โโโ 6-instruction-operands/ # Operand types
โโโ 7-abstracting-the-abi/ # Functions, calling conventions
โโโ 8-memory-consistency-model/ # Memory ordering, atomics
โโโ 9-instruction-set/ # 186 instruction files
โ โโโ 9.7.1-* Integer arithmetic
โ โโโ 9.7.3-* Floating point
โ โโโ 9.7.9-* Data movement (includes TMA)
โ โโโ 9.7.14-* WMMA (sm_70+)
โ โโโ 9.7.15-* WGMMA (sm_90+)
โ โโโ 9.7.16-* TensorCore Gen5 (sm_100+)
โโโ 10-special-registers/ # %tid, %ctaid, %clock64
โโโ 11-directives/ # .version, .target, .entry
โโโ 12-descriptions-ofpragmastrings/
โโโ 13-release-notes/
Updating Documentation
cd /path/to/cursor-gpu-skills
uv run scrape_docs.py all --force
uv run scrape_docs.py ptx-simple --force
uv run scrape_docs.py ptx
uv run scrape_docs.py runtime
uv run scrape_docs.py driver
uv run scrape_docs.py guide --force
uv run scrape_docs.py best-practices --force
uv run scrape_docs.py ncu-docs --force
uv run scrape_docs.py nsys-docs --force
Additional References
For deeper investigation, read the search guide files:
- PTX search workflow:
~/.cursor/skills/cuda-skill/references/ptx-isa.md
- Runtime API guide:
~/.cursor/skills/cuda-skill/references/cuda-runtime.md
- Driver API guide:
~/.cursor/skills/cuda-skill/references/cuda-driver.md