Agent skill

Apu Memory Tuner

by amd in amd/skills

Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the…

MITAuto-check passedAI & LLM Engineering

Install Apu Memory Tuner

skills CLI
$ npx skills add amd/skills --skill apu-memory-tuner -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install amd/skills apu-memory-tuner --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/amd/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/staging/apu-memory-tuner .claude/skills/apu-memory-tuner && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
apu-memory-tuner
GitHub stars
398
Token cost
~2.6k tokens
SKILL.md length
1,327 words
Files
6 (incl. scripts)
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the…

  • Works in 4 steps: detect platform → show current configuration → pick a profile → …
  • The user mentions Ryzen AI
  • SKILL.md covers What's actually going on, When to use, Prerequisites and The four-step flow, plus 4 more sections
  • Runs Python scripts from its folder; calls python and pipx

What it does

Apu Memory Tuner is an agent skill from amd/skills. Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the CPU. Use when the user mentions Ryzen AI, Strix Halo / Strix Point / Krackan / Phoenix / Hawk Point, Ryzen AI Max, gfx1150 / gfx1151 / gfx1152, integrated Radeon, iGPU memory, UMA Frame Buffer Size, AMD Variable Graphics Memory, VGM, GTT, GART, TTM, pageslimit, amd-ttm, amd-debug-tools, "shared GPU memory", "dedicated…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `reference.md`, `scripts/apply_profile.py` and `scripts/detect_platform.py`).

It sits in AI & LLM Engineering, covering LLM observability, Image generation and LLM inference and serving. It works with Linux and llama.cpp. The repository describes itself as: Official AMD catalog of AI agent skills. Empower your AI agents with AMD's optimized SW stack. The licence is MIT.

When your agent uses it

  • The user mentions Ryzen AI
  • Strix Halo / Strix Point / Krackan / Phoenix / Hawk Point
  • Gfx1150 / gfx1151 / gfx1152
  • Integrated Radeon

Example prompts

  • “shared GPU memory”
  • “dedicated GPU memory”
  • “not enough VRAM”
  • “/apu-memory-tuner”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. detect platform
  2. show current configuration
  3. pick a profile
  4. apply or guide

What it can do on your machine

Read from SKILL.md and the folder at commit 6c92b41. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • pipx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pipx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Apu Memory Tuner loads about 2.6k tokens when it runs. Until then it costs about 255 tokens; SKILL.md has 1,327 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~255
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from amd/skills at commit 6c92b41, republished under its MIT licence (© amd). 1,327 words, ~2,564 tokens.

Download SKILL.mdSave it as .claude/skills/apu-memory-tuner/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
apu-memory-tuner
description
Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the CPU. Use when the user mentions Ryzen AI, Strix Halo / Strix Point / Krackan / Phoenix / Hawk Point, Ryzen AI Max, gfx1150 / gfx1151 / gfx1152, integrated Radeon, iGPU memory, UMA Frame Buffer Size, AMD Variable Graphics Memory, VGM, GTT, GART, TTM, pages_limit, amd-ttm, amd-debug-tools, "shared GPU memory", "dedicated GPU memory", carve-out, "not enough VRAM", "out of VRAM", "GPU OOM", llama.cpp on iGPU, ROCm on APU; or asks how much memory the iGPU can use, how to give the iGPU more memory, how to balance memory between CPU and GPU on UMA, or how to change the BIOS UMA reservation. Read-only diagnostics work everywhere; tuning runs automatically on Linux via `amd-ttm` and prints guided BIOS steps on Windows. Do not use for discrete Radeon cards, Intel iGPUs, or Apple Silicon -- it is APU-only.

APU Memory Tuner

Help the user inspect and tune the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory architecture (UMA). The user states intent ("I want to run a 70B model", "I just want my games to be smooth"); this skill picks the numbers, explains the trade-offs, and applies the change where it can.

What's actually going on

On a UMA APU (Strix Halo, Strix Point, Krackan, Phoenix, Hawk Point, etc.) the CPU and integrated Radeon share one physical pool of DRAM. There is no separate VRAM chip. Two logical knobs cut that pool up:

KnobWhere setWhat it doesReversible?
Dedicated VRAM (a.k.a. UMA Frame Buffer / carve-out / GART)BIOS, requires rebootPermanently reserves DRAM for the GPU. CPU can't see it.Only via BIOS.
Shared GPU memory (a.k.a. GTT)Kernel/driver-managedDynamic, OS-reclaimable cap on how much system RAM the GPU may map at a time.Yes; Linux: amd-ttm. Windows: no user knob.

Key insight the rest of this skill rests on: "VRAM" and shared RAM run at the same speed on UMA, because they're the same DRAM. So the right default for AI workloads is small VRAM + large GTT, not the other way around.

When to use

Use this skill when the user wants to:

  • Run a model that doesn't fit ("out of VRAM", "GPU OOM" on an iGPU).
  • Inspect the current memory split before changing anything.
  • Move the slider toward more shared memory (LLMs, large image gen) or toward more dedicated VRAM (gaming, predictable framebuffer).
  • Revert any prior changes.

Do not use it for: discrete Radeon cards (no GTT/UMA on those), Apple Silicon (different architecture entirely), or NVIDIA/Intel GPUs.

Prerequisites

State these to the user up front so a missing one doesn't surface as a mystery script error halfway through:

  • GPU architecture: AMD APU with integrated Radeon. Officially tuned for RDNA3.5 (gfx1150 / gfx1151 / gfx1152); RDNA3 / RDNA2 APUs work but with conservative profile numbers.
  • OS: Linux (kernel + amd-ttm path) or Windows (guided BIOS path). macOS is not supported.
  • Linux kernel: see the live AMD matrix linked from reference.md. The detection script enforces a conservative floor (mainline 6.18.4 / Ubuntu HWE 6.17.0 / Ubuntu OEM 6.14.0).
  • Linux extras: pipx install amd-debug-tools for the amd-ttm CLI. The skill prints this command but never installs it silently. Reading the BIOS carve-out from dmesg typically requires sudo.
  • Windows extras: AMD Adrenalin Software 25.x or newer if the user wants the Variable Graphics Memory slider as an alternative to BIOS.
  • Reboot tolerance: any tuning change requires a reboot. Don't propose this skill mid-workload.

Silent footguns to surface when relevant:

  • HSA_OVERRIDE_GFX_VERSION — users running ROCm/PyTorch on an APU often set this to convince ROCm the iGPU is a supported target. It does not affect memory tuning, but if the user reports HIP error: invalid device after raising GTT, this env var is usually the cause, not the GTT change.
  • Windows Win32_VideoController.AdapterRAM is a 32-bit field capped at 4 GiB. If the user's reported "dedicated VRAM" is exactly 4096 MB, that's the WDDM truncation, not the real BIOS reservation. The real value lives in Task Manager > Performance > GPU.

The four-step flow

Run these in order. Each one is read-only until step 4.

[ ] 1. Detect platform and support level
[ ] 2. Show current configuration
[ ] 3. Pick a profile from the user's intent
[ ] 4. Apply (Linux) or print BIOS guidance (Windows); verify after reboot
Step 1: detect platform
bash
python scripts/detect_platform.py

Add --json for parseable output. Exit codes:

ExitMeaningNext action
0Supported AMD APU.Continue to Step 2.
2Wrong hardware (not an AMD APU, or unclassifiable).Stop. Tell the user this skill can't help them.
3AMD APU but a hard prerequisite is missing (Linux kernel too old).Stop. Tell the user the prereq and stop. Do not attempt to upgrade the kernel from this skill.

The script reports the OS, CPU, GPU LLVM target (e.g. gfx1151), the generation bucket (RDNA3.5 / RDNA3 / RDNA2 / older), total RAM, and on Linux the kernel version vs. the minimums in the AMD doc.

Step 2: show current configuration
bash
python scripts/show_config.py

Reports current dedicated VRAM, current shared-GPU cap, total RAM, and on Linux the raw pages_limit value plus a rocminfo sanity-check of what the runtime actually sees. Note any messages it prints — Linux often needs sudo for the dmesg read of the BIOS carve-out, and Windows' AdapterRAM field is capped at 4 GiB by WDDM (real value lives in Task Manager).

Show full SKILL.md (631 more words)Show less
Step 3: pick a profile

Ask the user what they want, in workload terms, not numbers. Map their answer to one of these:

ProfileWhat it doesUse when the user says...
large-models (default)GTT to ~75% of RAM, BIOS VRAM at the floor (0.5 GB)."Run a big model", "fit Llama 70B", "I keep getting OOM on the iGPU", "give the GPU as much memory as possible".
balancedGTT at the kernel default (~50%), 1 GB BIOS VRAM."I just do mixed dev work", "back to defaults", "don't waste RAM on the GPU".
graphicsGTT at default; BIOS VRAM raised to the larger of 8 GB or 25% of RAM."I'm gaming", "I want a predictable framebuffer", "stuttering in games".
resetRevert all changes this skill made."Undo it", "go back to stock".
customUse the explicit --gtt-gb / --vram-gb the user passed."I want exactly N GB".

Default: if the user is here at all and didn't specify, they almost always want large-models -- that's the only profile that meaningfully changes the experience for the workload that brought them here (running a model that didn't fit). Use it unless they explicitly said gaming, said they want defaults, or said an exact number.

If you still can't tell, use the AskQuestion tool with the five options above labeled in plain English; do not invent a sixth.

Step 4: apply or guide
bash
python scripts/apply_profile.py --profile <choice>

Add --dry-run first if the user wants to see the planned change before committing.

What happens on each OS:

  • Linux: writes the new GTT cap via amd-ttm --set <N> (which persists to /etc/modprobe.d/ttm.conf). Reboot is required; the script tells the user but never reboots automatically. If amd-ttm is missing, the script exits with a clear install hint (pipx install amd-debug-tools) — do not install it yourself without confirming with the user.
  • Windows: prints step-by-step BIOS instructions for the UMA Frame Buffer Size, plus a note about AMD Adrenalin's "Variable Graphics Memory" slider as an alternative on supported laptops. Nothing is written to disk or registry. The script never modifies BIOS for the user.

Then re-run python scripts/show_config.py after reboot to verify.

OS-specific reality check

CapabilityLinuxWindows
Inspect dedicated VRAMYes (dmesg/journalctl, may need sudo)Yes (Task Manager / dxdiag; AdapterRAM is truncated)
Inspect shared capYes (/sys/module/ttm/parameters/pages_limit)Yes (dxdiag "Shared Memory")
Change shared cap automaticallyYes (amd-ttm)No — WDDM-managed, not user-tunable
Change dedicated VRAM automaticallyNo (BIOS only)No (BIOS only; VGM via Adrenalin is the closest UI)

Net effect: on Windows, raising the BIOS UMA Frame Buffer Size is the only real way to give the GPU more memory. On Linux you almost always want to lower BIOS VRAM and raise GTT instead.

Safety rules

  • Never auto-reboot. Always tell the user the reboot is needed and let them do it.
  • Never touch BIOS programmatically. The script prints instructions; the user navigates the firmware menu.
  • Never silently install amd-debug-tools. Print the pipx install line and ask before running it.
  • Never set a profile whose validation fails. The script refuses GTT targets above 95% of RAM or VRAM targets above 50% of RAM.
  • Never claim a change took effect before the user has rebooted and re-verified with show_config.py.

Verification checklist

Mark this skill complete only when all are true:

  • python scripts/detect_platform.py exits 0.
  • python scripts/show_config.py reports the new values after the reboot following Step 4.
  • The user has tried the workload that motivated the change (loaded the model, launched the game) and confirmed the new headroom helps.
  • On Linux, cat /sys/module/ttm/parameters/pages_limit matches what apply_profile.py reported.

If any box is unchecked the change either didn't take effect or the user hasn't validated it yet — say so out loud rather than declaring success.

Reference

For the full glossary, the link to AMD's authoritative kernel-version / ROCm-compatibility matrix, per-OEM BIOS notes, profile math, and troubleshooting, see reference.md.

© amd, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts) in staging/apu-memory-tuner of amd/skills.

  • SKILL.md
  • reference.md
  • scripts/apply_profile.py
  • scripts/detect_platform.py
  • scripts/show_config.py
  • skill-card.md

Open the folder on GitHubat commit 6c92b41

Compare with similar skills

Apu Memory Tuner next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Apu Memory Tuner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Apu Memory Tuner this skillamd/skills398—~2.6kAutomated safety check: PassMIT
Aider DelegateamElnagdy/delegate-skills2.3k3 repos~3kAutomated safety check: PassMIT
Qwen Mtp GgufR6410418/Jackrong-llm-finetuning-guide1.7k—~1.7kAutomated safety check: PassMIT
Quantizationvllm-project/vllm-omni7.1k—~1.4kAutomated safety check: PassApache-2.0
Model Serving MinefieldBlackwellboy/model-serving-minefield135—~2.1kAutomated safety check: PassMIT
Add Export Formatintel/auto-round1.6k—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • Aider Delegate

    amElnagdy/delegate-skills

    Delegate a coding task to Aider (aider) as a background implementer, then review its diff and land it yourself.

    2.3k GitHub starsUsed in 3 repos~3k tokens
    AI & LLM EngineeringAuto-check passed
  • Qwen Mtp Gguf

    R6410418/Jackrong-llm-finetuning-guide

    Complete agent-ready workflow for Qwen-family MTP or nextn GGUF conversion and release.

    1.7k GitHub stars~1.7k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check passed
  • Quantization

    vllm-project/vllm-omni

    Work on vLLM-Omni quantization for diffusion, autoregressive, omni, or multi-stage models.

    7.1k GitHub stars~1.4k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Model Serving Minefield

    Blackwellboy/model-serving-minefield

    Diagnose OpenAI-compatible model-serving failures from symptoms, endpoint reports, explicit configuration files, or logs while preserving evidence status and requiring confirm/refute checks.

    135 GitHub stars~2.1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Add Export Format

    intel/auto-round

    Official

    Add a new model export format to AutoRound (e.g., autoround, autogptq, autoawq, gguf, llmcompressor).

    1.6k GitHub stars~1.9k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Add Model

    guoqingbao/xinfer

    Adapt and port new LLM model architectures to this xinfer project.

    333 GitHub stars~4.2k tokensUpdated 28 days ago
    AI & LLM EngineeringAuto-check: notes

More from amd/skills

All 9 skills in this repo
  • Turns a natural-language description of routing intent into a valid Lemonade collection.router policy JSON.

    398 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Local AI Use

    amd/skills

    Makes this agent generate images, transcribe audio, and synthesize speech on the user's own machine through a local Lemonade Server instead of a paid cloud API.

    398 GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Serves AI models on AMD Instinct GPU hardware using vLLM. An agent skill from amd/skills.

    398 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Serves an LLM on a supported AMD EPYC server CPU using vLLM with zentorch, in Docker, Podman, or conda.

    398 GitHub stars~5.7k tokensUpdated today
    Auto-check: notes
  • Autonomously optimizes end-to-end LLM inference throughput on AMD Instinct GPUs and reports a validated gain, using the Hyperloom multi-agent optimizer.

    398 GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • Benchmarks LLM inference and drives GPU kernel optimization with Magpie.

    398 GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Apu Memory Tuner

What does Apu Memory Tuner do?

Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the…. Apu Memory Tuner is an agent skill from amd/skills. Inspects and tunes the shared-vs-dedicated memory split on AMD Ryzen APUs with unified memory (UMA) so larger LLMs and image-gen models fit on the iGPU, or so reserved GPU memory is returned to the CPU.

When should I use Apu Memory Tuner?

Apu Memory Tuner fits situations like: the user mentions Ryzen AI; strix Halo / Strix Point / Krackan / Phoenix / Hawk Point; gfx1150 / gfx1151 / gfx1152; integrated Radeon.

How do I install Apu Memory Tuner in Claude Code?

Run `npx skills add amd/skills --skill apu-memory-tuner -a claude-code`. Or copy the skill folder (staging/apu-memory-tuner in amd/skills) into .claude/skills/apu-memory-tuner in your project. Claude Code loads it when a task matches its description.

How do I install Apu Memory Tuner in Codex?

Run `npx skills add amd/skills --skill apu-memory-tuner -a codex`. Or copy the skill folder (staging/apu-memory-tuner in amd/skills) into .agents/skills/apu-memory-tuner in your project. Codex loads it when a task matches its description.

Can I use Apu Memory Tuner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add amd/skills --skill apu-memory-tuner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apu-memory-tuner, .gemini/skills/apu-memory-tuner, .github/skills/apu-memory-tuner and .opencode/skills/apu-memory-tuner in your project.

What does Apu Memory Tuner need to run?

Going by SKILL.md and its folder, Apu Memory Tuner needs Python for the scripts in its folder and the command-line tools its instructions call (python and pipx). Our summary lists: Python 3.

Does Apu Memory Tuner access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Apu Memory Tuner safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Apu Memory Tuner use?

Apu Memory Tuner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Apu Memory Tuner use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Apu Memory Tuner?

Skills that share tags, products or a category with Apu Memory Tuner: Aider Delegate (amElnagdy/delegate-skills, 2.3k stars), Qwen Mtp Gguf (R6410418/Jackrong-llm-finetuning-guide, 1.7k stars), Quantization (vllm-project/vllm-omni, 7.1k stars) and Model Serving Minefield (Blackwellboy/model-serving-minefield, 135 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Apu Memory Tuner?

amd (a GitHub organization) maintains it in amd/skills, which has 398 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: amd/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.