Skip to content
cccskills
FreePublished on GitHub

system-profile

Measure scripts, running processes, or whole systems to find performance bottlenecks. Select suitable tools, add measurement code when needed, and report CPU, GPU, memory, and communication findings with prioritized recommendations and a record of file changes.

OriginalShow the original description

Profile a target (script, process, GPU, memory, interconnect) for performance analysis. Use when user says "profile", "benchmark", "bottleneck", or wants performance analysis.

See how to install

Good for

  • Finding slow functions in a Python script
  • Investigating CPU and GPU memory usage
  • Measuring communication overhead across multiple GPUs
  • Reviewing file changes made for performance measurement

Files included (1)

  • SKILL.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

System Profile

Profile the specified target and summarize the results. Target: $ARGUMENTS

Instructions

You are a profiling assistant. Based on the user's target, choose appropriate profiling strategies, including writing instrumentation code when needed, then run profiling, analyze results, and produce a summary.

Step 1: Determine the profiling target

Parse $ARGUMENTS to understand what to profile. Examples:

  • A Python script or module
  • A running process (PID or service name)
  • A specific function or code block
  • An entire framework or system (e.g., "autogen", "vllm serving") — profile its end-to-end execution, identify bottlenecks across components
  • "gpu" / "interconnect" / "memory" for focused profiling

If $ARGUMENTS is empty or unclear, ask the user.

Step 2: Choose profiling methods

Select from external tools and/or code instrumentation as appropriate. Don't limit yourself to the examples below — use whatever makes sense for the target.

External tools (check availability first):

  • CPU: cProfile, py-spy, line_profiler, perf stat, /usr/bin/time -v
  • Memory: tracemalloc, memory_profiler, memray
  • GPU: nvidia-smi, nvidia-smi dmon, nvitop, torch.profiler, nsys
  • Interconnect: nvidia-smi topo -m, nvidia-smi nvlink, NCCL_DEBUG=INFO
  • System: strace -c, iostat, vmstat

Code instrumentation — when external tools are insufficient, write and insert profiling code into the target. Typical scenarios:

  • Timing specific code blocks (wall time vs CPU time)
  • Measuring CPU-GPU or GPU-GPU transfer size, frequency, and bandwidth
  • Tracking memory allocation across CPU and GPU to detect redundancy
  • Wrapping NCCL collectives to measure latency and throughput
  • Adding CUDA event timing around kernels

Design the instrumentation based on what you observe in the code — don't use a fixed template.

Step 3: Key dimensions to investigate

Depending on the target, focus on some or all of these:

CPU overhead

  • Context switching (voluntary / involuntary)
  • CPU utilization: ratio of CPU time to wall time
  • Per-function execution time hotspots

Memory overhead

  • CPU and GPU memory usage (allocated vs reserved vs peak)
  • Redundant replication: same data living on both CPU and GPU
  • Per-device allocation balance in multi-GPU setups

Interconnect & communication

  • CPU-GPU transfer: frequency, per-transfer size, total volume, bandwidth achieved
  • GPU-GPU transfer: P2P bandwidth, NVLink vs PCIe topology impact
  • NCCL collectives: operation type, message size distribution, latency
  • Communication-to-computation ratio

GPU compute

  • SM utilization, kernel launch overhead
  • Memory bandwidth utilization vs peak

Step 4: Instrumentation guidelines

When inserting code into the target:

  1. Read and understand the target code first
  2. Prefer wrapping (decorator, context manager, standalone runner) over inline edits
  3. If inline edits are necessary, mark them clearly (e.g., # [PROFILE] comments)
  4. Minimize observer effect — don't instrument tight inner loops; sample instead
  5. Collect results into a structured log, don't scatter print statements

Step 5: Run profiling

  1. Check available tools and hardware topology
  2. Run the chosen methods, capture all output
  3. Save artifacts (flamegraphs, traces, logs) to ./profile_output/

Step 6: Produce the report

Part A — Profiling results (structured tables by dimension, as applicable):

  • CPU overhead table
  • Memory overhead table (with redundancy column)
  • Interconnect table (transfer type / frequency / size / latency / bandwidth)
  • Hotspots / bottleneck identification
  • Actionable recommendations ranked by expected impact

Part B — Instrumentation changelog (MANDATORY): List every file that was modified or created for profiling purposes:

FileChange typeWhat was added/modifiedLine(s)
...modified......
...created...—

This allows the user to review and revert all instrumentation changes. Offer to clean up (remove all instrumentation) when the user is done.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ablation-planner

FreeSummary

Plan ablation studies, experiments that remove or replace parts of a machine learning method to test their contribution. Define reviewer questions, expected outcomes, priorities, execution order, and compute estimates, then implement experiments and record findings.

  • Testing the contribution of individual method components
  • Planning additional experiments before paper submission
  • Prioritizing experiments within a GPU budget
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

ablation-planner

FreeSummary

Plan and run ablation studies, experiments that remove or replace parts of a method to test their contribution. Organize reviewer questions, priorities, expected outcomes, and compute costs, then record results and findings.

  • Test how much each component contributes
  • Plan experiments that address reviewer questions
  • Prioritize comparisons within a compute budget
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

alphaxiv

FreeSummary

Understand a single arXiv paper through an AlphaXiv summary, with full text and LaTeX source available when needed. Use it to identify key findings or ask specific questions about methods, experiments, and equations.

  • Get a quick overview of a paper from its URL
  • Check a paper's methods and experimental results
  • Ask about equations, proofs, or appendix details
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

analyze-results

FreeSummary

Compare machine learning experiment results from JSON or CSV files. Calculate improvements over a baseline, summarize variation across repeated runs, identify trends and unusual results, and suggest experiments to test possible explanations.

  • Compare model performance across experimental conditions
  • Check variation across runs with different random seeds
  • Identify trends as a parameter changes
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

arxiv

FreeSummary

Search arXiv papers by topic or paper ID, review authors and abstracts, and summarize contributions stated in the abstracts. Download selected papers or all search results as PDFs to build a local paper library.

  • Find arXiv papers on a research topic
  • Retrieve details for a known arXiv paper ID
  • Download all PDFs from a set of search results
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

Improve a compiled paper through two rounds of external model review, source edits, and PDF rebuilding. Check claims against evidence, resolve inconsistencies, and refine figures and layout, with optional checkpoints and restrictions on which edits are allowed.

  • Revising a generated paper before submission
  • Correcting mismatches between claims and evidence
  • Improving notation, figures, tables, and layout
wanshuiyin/Auto-claude-code-research-in-sleep17.9KUpdated Oct 21, 2026

See all skills by wanshuiyin

Report a problem with this skill