Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Expert skill for NVIDIA Nsight Systems and Nsight Compute profiling tools. Configure profiling sessions, analyze kernel reports, interpret occupancy metrics, roofline model data, memory bandwidth bottlenecks, and warp execution efficiency.
.claude/skills/a5c-ai-nsight-profiler/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 122% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 137% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 105% | 0% |
You are nsight-profiler - a specialized skill for NVIDIA Nsight Systems and Nsight Compute profiling tools. This skill provides expert capabilities for performance analysis and optimization of GPU applications.
This skill enables AI-powered GPU profiling operations including:
System-wide performance analysis:
bash# Basic system profile nsys profile -o report ./cuda_program # Profile with CUDA API tracing nsys profile -t cuda,nvtx,osrt -o report ./cuda_program # Capture GPU metrics nsys profile --gpu-metrics-device=all -o report ./cuda_program # Profile specific duration nsys profile -d 10 -o report ./cuda_program # Export to multiple formats nsys export -t sqlite,json report.nsys-rep # Generate summary statistics nsys stats report.nsys-rep
Detailed kernel analysis:
bash# Profile all kernels ncu -o profile ./cuda_program # Profile specific kernel ncu --kernel-name myKernel -o profile ./cuda_program # Full metric collection ncu --set full -o profile ./cuda_program # Roofline analysis ncu --set roofline -o profile ./cuda_program # Memory analysis ncu --section MemoryWorkloadAnalysis -o profile ./cuda_program # Compare two runs ncu --import baseline.ncu-rep --diff ./cuda_program
Analyze and optimize occupancy:
bash# Collect occupancy metrics ncu --section Occupancy -o occupancy ./cuda_program # Key metrics to analyze: # - Achieved Occupancy # - Theoretical Occupancy # - Block Limit (registers, shared memory, warps) # - Occupancy Limiter
cuda// Query occupancy in code int numBlocks; int blockSize = 256; cudaOccupancyMaxActiveBlocksPerMultiprocessor( &numBlocks, myKernel, blockSize, sharedMemSize); float occupancy = (numBlocks * blockSize) / (float)deviceProp.maxThreadsPerMultiProcessor; printf("Theoretical Occupancy: %.2f%%\n", occupancy * 100);
Performance bound analysis:
bash# Generate roofline data ncu --set roofline -o roofline ./cuda_program # Key metrics: # - Achieved FLOP/s # - Achieved Memory Bandwidth # - Arithmetic Intensity (FLOP/byte) # - Ridge Point
Interpretation guide:
Identify memory bottlenecks:
bash# Memory analysis sections ncu --section MemoryWorkloadAnalysis \ --section MemoryWorkloadAnalysis_Chart \ --section MemoryWorkloadAnalysis_Tables \ -o memory ./cuda_program
Key metrics:
Analyze warp efficiency:
bash# Warp state analysis ncu --section WarpStateStatistics -o warp ./cuda_program # Scheduler statistics ncu --section SchedulerStatistics -o scheduler ./cuda_program
Key metrics:
Compare kernel variants:
bash# Baseline capture ncu -o baseline ./program_v1 # Compare with new version ncu --import baseline.ncu-rep --diff ./program_v2 # Generate comparison report ncu --import baseline.ncu-rep \ --import optimized.ncu-rep \ --page diff --csv > comparison.csv
Automated analysis:
bash# Get optimization recommendations ncu --section SpeedOfLight \ --section SpeedOfLight_RooflineChart \ -o speedoflight ./cuda_program # Export with recommendations ncu --import profile.ncu-rep --page details --csv > details.csv
bash# Step 1: System overview nsys profile -t cuda -o system_overview ./program nsys stats system_overview.nsys-rep # Step 2: Identify hot kernels ncu --launch-skip 10 --launch-count 5 -o hot_kernels ./program # Step 3: Deep dive on bottleneck kernel ncu --kernel-name hotKernel --set full -o detailed ./program
bash# Analyze memory access patterns ncu --section SourceCounters \ --section MemoryWorkloadAnalysis \ --kernel-name targetKernel \ -o memory_analysis ./program # Check for coalescing issues ncu --metrics l1tex__t_sectors_pipe_lsu_mem_global_op_ld.sum,\ l1tex__t_requests_pipe_lsu_mem_global_op_ld.sum \ -o coalescing ./program
bash# Profile with occupancy focus ncu --section Occupancy \ --section LaunchStatistics \ -o occupancy ./program # Test different block sizes for bs in 64 128 256 512 1024; do ncu --section Occupancy -o occ_$bs ./program --block-size $bs done
This skill integrates with the following processes:
performance-profiling-analysis.js - Performance analysis workflowoccupancy-optimization.js - Occupancy optimizationwarp-efficiency-optimization.js - Warp efficiencygpu-memory-optimization.js - Memory optimizationWhen executing operations, provide structured output:
json{ "operation": "kernel-profile", "tool": "nsight-compute", "kernel": "matrixMultiply", "metrics": { "duration_us": 125.4, "achieved_occupancy": 0.78, "theoretical_occupancy": 1.0, "compute_throughput_pct": 65.2, "memory_throughput_pct": 89.3, "roofline": { "arithmetic_intensity": 12.5, "achieved_gflops": 4500, "peak_gflops": 8000, "bound": "compute" } }, "recommendations": [ "Increase block size to improve occupancy", "Consider loop unrolling to reduce instruction overhead" ], "artifacts": ["profile.ncu-rep", "summary.csv"] }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 10,455 | 18,741 | +79% | 1 | 1 | 0% | 1,474 | 3,738 | +154% | 0 | 0 | — |
case-02 | fail→pass | 15,999 | 11,932 | -25% | 1 | 1 | 0% | 3,245 | 3,928 | +21% | 0 | 0 | — |
case-03 | fail→pass | 13,851 | 17,272 | +25% | 1 | 1 | 0% | 2,092 | 4,178 | +100% | 0 | 0 | — |
case-04 | fail→pass | 6,822 | 3,992 | -41% | 1 | 1 | 0% | 1,161 | 2,580 | +122% | 0 | 0 | — |
case-05 | pass→pass | 11,833 | 4,697 | -60% | 1 | 1 | 0% | 1,664 | 2,679 | +61% | 0 | 0 | — |
case-06 | pass→pass | 4,352 | 4,232 | -3% | 1 | 1 | 0% | 740 | 2,395 | +224% | 0 | 0 | — |
case-07 | pass→pass | 6,801 | 5,547 | -18% | 1 | 1 | 0% | 1,230 | 2,598 | +111% | 0 | 0 | — |
case-08 | pass→pass | 6,894 | 3,716 | -46% | 1 | 1 | 0% | 1,152 | 2,357 | +105% | 0 | 0 | — |
case-09 | pass→pass | 7,269 | 6,559 | -10% | 1 | 1 | 0% | 1,299 | 2,695 | +107% | 0 | 0 | — |
case-10 | fail→pass | 6,463 | 5,326 | -18% | 1 | 1 | 0% | 1,123 | 2,658 | +137% | 0 | 0 | — |
case-11 | fail→pass | 8,794 | 6,509 | -26% | 1 | 1 | 0% | 1,457 | 2,993 | +105% | 0 | 0 | — |
case-12 | fail→pass | 15,821 | 6,812 | -57% | 1 | 1 | 0% | 2,259 | 3,197 | +42% | 0 | 0 | — |
case-13 | fail→pass | 12,749 | 6,423 | -50% | 1 | 1 | 0% | 1,878 | 3,040 | +62% | 0 | 0 | — |
case-14 | pass→pass | 7,952 | 6,990 | -12% | 1 | 1 | 0% | 1,153 | 2,823 | +145% | 0 | 0 | — |
case-15 | pass→pass | 12,170 | 9,762 | -20% | 1 | 1 | 0% | 1,990 | 3,292 | +65% | 0 | 0 | — |
case-16 | fail→pass | 8,269 | 5,334 | -35% | 1 | 1 | 0% | 1,178 | 2,510 | +113% | 0 | 0 | — |
case-17 | pass→pass | 20,573 | 13,896 | -32% | 1 | 1 | 0% | 2,978 | 4,275 | +44% | 0 | 0 | — |
case-18 | pass→pass | 9,298 | 9,345 | +1% | 1 | 1 | 0% | 1,437 | 3,292 | +129% | 0 | 0 | — |
case-19 | pass→pass | 8,199 | 6,157 | -25% | 1 | 1 | 0% | 1,345 | 2,702 | +101% | 0 | 0 | — |
case-20 | pass→pass | 8,982 | 4,663 | -48% | 1 | 1 | 0% | 1,464 | 2,697 | +84% | 0 | 0 | — |
case-21 | pass→pass | 17,258 | 18,184 | +5% | 1 | 1 | 0% | 2,485 | 4,522 | +82% | 0 | 0 | — |
case-22 | pass→pass | 11,874 | 13,571 | +14% | 1 | 1 | 0% | 2,219 | 4,114 | +85% | 0 | 0 | — |
case-23 | fail→pass | 12,110 | 10,290 | -15% | 1 | 1 | 0% | 1,788 | 3,295 | +84% | 0 | 0 | — |
case-24 | pass→pass | 9,114 | 11,038 | +21% | 1 | 1 | 0% | 1,873 | 3,934 | +110% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +38 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.