Skip to content
Agentmart
Submit a tool

profile-cute-xpu

Profile and analyze CuTe/SYCL*TLA kernels on Intel XPU/GPU, especially Intel Xe/BMG/Xe20/Xe35 GEMM-style kernels using CuTe primitives such as XE_DPAS_TT…

Skill by yiliu30

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying profile-cute-xpu?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/yiliu30-profile-cute-xpu

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Profile and analyze CuTe/SYCL*TLA kernels on Intel XPU/GPU, especially Intel Xe/BMG/Xe20/Xe35 GEMM-style kernels using CuTe primitives such as XE_DPAS_TT, XE_LOAD_2D, XE_LOAD_2D_VNNI, XE_LOAD_2D_TRANSPOSE, XE_PREFETCH_2D, XE_STORE_2D, TiledMMAHelper, and PipelineStages. Use when Codex needs to build a profiling workflow, run Intel PTI unitrace or VTune, interpret timing or hardware counters, diagnose compute-bound vs bandwidth-bound behavior, tune CuTe tile shapes, subgroup layout, prefetch depth, GRF pressure, SLM use, reorder overhead, 2D block alignment, XMX utilization, or write a profiling report for Intel XPU kernels.

Use cases: documents, writing, productivity, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/profile-cute-xpu

What's inside

Skill name
profile-cute-xpu
Description
Profile and analyze CuTe/SYCL*TLA kernels on Intel XPU/GPU, especially Intel Xe/BMG/Xe20/Xe35 GEMM-style kernels using CuTe primitives such as XE_DPAS_TT, XE_LOAD_2D, XE_LOAD_2D_VNNI, XE_LOAD_2D_TRANSPOSE, XE_PREFETCH_2D, XE_STORE_2D, TiledMMAHelper, and PipelineStages. Use when Codex needs to build a profiling workflow, run Intel PTI unitrace or VTune, interpret timing or hardware counters, diagnose compute-bound vs bandwidth-bound behavior, tune CuTe tile shapes, subgroup layout, prefetch depth, GRF pressure, SLM use, reorder overhead, 2D block alignment, XMX utilization, or write a profiling report for Intel XPU kernels.
License
MIT
Instructions
74 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (5)

  • SKILL.md
  • openai.yaml · agents/
  • cute-xpu-profiling.md · references/
  • check_cute_xpu_env.sh · scripts/
  • profile_cute_kernel.sh · scripts/

SKILL.md (first lines)

# Profile CuTe Kernels on Intel XPU

Use this skill to profile CuTe/SYCL*TLA kernels on Intel GPUs and turn timing, `unitrace`, or VTune data into concrete CuTe tuning actions.

## Start Here

1. Identify the target executable and the shortest representative command that runs the kernel long enough for profiling.
2. Confirm the kernel is built for Intel SYCL with a matching target, for example `-DCUTLASS_ENABLE_SYCL=ON` and `-DDPCPP_SYCL_TARGET=intel_gpu_bmg_g21`.
3. Run baseline correctness and in-app timing first. Many SYCL*TLA examples already expose `--iterations=<N>` and print throughput using `GPU_Clock`.
4. Run hardware profiling in passes:
   - Timing: `unitrace -d -v -o timing.csv <app> [args]`
   - Broad counters: `unitrace -k -g ComputeBasic -i 25 -o metrics_basic.csv [--include-kernels "<name>"] <app> [args]`
   - Stalls: `unitrace -k -g VectorEngineStalls -i 25 -o metrics_stalls.csv [--include-kernels "<name>"] <app> [args]`
   - Memory, on BMG when available: `unitrace -k -g MemoryProfile -i 25 -o metrics_memory.csv [--include-kernels "<name>"] <app> [args]`
5. Map the bottleneck back to CuTe knobs: tile shape, subgroup layout, `PipelineStages`, 2D block copy atom selection, reorder cost, GRF pressure, SLM use, and alignment.

Always set `ZE_FLAT_DEVICE_HIERARCHY=FLAT` before `unitrace` metric collection.

## Bundled Helpers

- Run `scripts/check_cute_xpu_env.sh` to check for `unitrace`, `icpx`, Level Zero tools, GPU devices, and useful environment variables.
- Run `scripts/profile_cute_kernel.sh --app "<command>" --out profile_results --mode overview` to collect timing and common metric passes. Use `--kernel "<kernel-name>"` after the timing pass reveals the exact kernel name.
- Read `references/cute-xpu-profiling.md` when deciding which counters to collect, how to interpret symptoms, or which CuTe tuning knob to adjust.

## Profiling Decisions

- If the user only needs "how fast is it", use the example's built-in `--iterations` timing or `unitrace -d -v`.
- If the user asks why it is slow, collect `ComputeBasic` and compare measured TFLOPS or bandwidth to hardware peak.
- If XVE/XMX active is low, inspect memory counters, prefetch depth, tile reuse, and 2D block load issue overhead.
- If stall is high, collect `VectorEngineStalls` and classify SBID, SendWr, barrier, or instruction bottlenecks.
- If runtime worsens after increasing tile size or `PipelineStages`, check for GRF spill, lower occupancy, SLM spill, and excessive live copy fragments.
- If correctness fails or results are silently wrong, check `sub_group_size<16>`, 2D block alignment, store height limits, and matrix padding/stride requirements before chasing performance.

## CuTe-Specific Analysis Rules

- Treat `Shape<_256, _256, _32>` with `PipelineStages = 2` as the BF16/BMG baseline unless the repository code indicates a different known-good configuration.
- Treat Intel Xe subgroups as fixed at 16 lanes. A CuTe kernel using `XE_DPAS_TT` must launch with `sycl::ext::oneapi::experimental::sub_group_size<16>`.
- Watch GRF pressure whenever increasing M, N, K, subgroup count, or prefetch depth. Xe large GRF mode is commonly requested with `intel::grf_size<256>`.
- Prefer global-memory 2D block loads directly into GRF for standard GEMM. Consider SLM only when the source kernel deliberately shares tiles between subgroups, exceeds 2D block limits, or has an explicit double-buffered SLM pipeline.
- Account for `reorder(src, dst)`: it is free only when copy and MMA fragment layouts match; otherwise it is a real register shuffle.
- For B operands in BF16/FP16/INT8 GEMM, verify the code uses VNNI-friendly copy paths such as `XE_LOAD_2D_VNNI` or repository helper APIs that select them.

## Report Format

When producing a profiling report, include:

```markdown
## Profiling Report - <kernel or executable>

Date: <YYYY-MM-DD>
GPU: <device name>
Compiler: <icpx version>
Command: `<app> [args]`

### Summary
- Built-in timing: <time or TFLOPS>
- unitrace timing: <hot kernels and total time>
- Peak comparison: <measured>/<peak> = <efficiency>
- Primary bottleneck: <compute | memory | occupancy | synchronization | unknown>

### Evidence
- <counter>=<value>
- <counter>=<value>

### CuTe Actions
1. <tile shape / PipelineStages / copy atom / alignment / subgroup action>
2. <next validation pass>
```

## Source Context

This skill distills the workflow from SYCL*TLA's Intel CuTe performance material, especially `media/docs/cpp/cute/12_intel_performance_guide.md` and its linked references: `10_intel_overview.md`, `11_intel_gemm_companion.md`, `xe_2d_copy.md`, and `media/docs/cpp/xe_rearchitecture.md`.

From yiliu30/z2h, MIT.

More from yiliu30/z2h

Signals

Stars
2
Forks
0
Open issues
1
Last commit (this folder)
Aug 17, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from yiliu30

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get profile-cute-xpu running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying profile-cute-xpu?

CallGet help
Cite this page

profile-cute-xpu skill. Agent Mart. https://agentmart.dev/skills/yiliu30-profile-cute-xpu (last updated 2026-10-24)