Skip to content
Back to skills

Backend Selection

ASecurity

"Choose and configure ExecuTorch backends/delegates, including CPU,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
developmentpythonbashbackendperformance

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill backend-selection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Backend Selection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Backend Selection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-backend-selection/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-backend-selection)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: backend-selection
description: "Choose and configure ExecuTorch backends/delegates, including CPU,
  mobile, desktop, GPU, and vendor accelerator paths, while preserving hardware
  and SDK prerequisites."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# backend-selection

Use this sub-skill when the user asks which ExecuTorch backend to target, how to add partitioners or CMake flags, why delegation fell back to CPU, or how backend prerequisites differ across mobile, desktop, embedded, and accelerator targets.

## Route Here For

- XNNPACK mobile/desktop CPU export, fallback, and quantization placement.
- Core ML, MPS/Metal, Vulkan, CUDA/AOTI, OpenVINO, MediaTek, NXP, Samsung Exynos, Cadence, Arm Ethos-U, and Arm VGF high-level setup/export decisions.
- Backend build flags, optional dependencies, SDK/toolchain prerequisites, and native verification expectations.
- Deciding whether an accelerator can be validated on CPU or must be treated as unverified until device/SDK tests run.

## Route Elsewhere

- General install/build commands: `../setup-build/SKILL.md`.
- Export sequence and `.pte`/`.ptd` validation after the backend is chosen: `../export-runtime/SKILL.md`.
- Qualcomm QNN details: `../qualcomm/SKILL.md`.
- Cortex-M/CMSIS-NN details: `../cortex-m/SKILL.md`.
- LLM model-runner choices: `../llm-workflows/SKILL.md`.

## First Decisions

1. Identify target hardware and platform: CPU, Android GPU/NPU, iOS/macOS, NVIDIA GPU, Intel, embedded MCU, or vendor NPU/DSP.
2. Decide whether the backend is required for correctness or optional for performance. Do not treat CPU export as proof of QNN/Core ML/MPS/Vulkan/CUDA behavior.
3. Choose a fallback strategy. XNNPACK/portable CPU fallback is often useful when a GPU/NPU delegate only covers part of a model.
4. Read [backend matrix](references/backend-matrix.md) for prerequisites and [backend export patterns](references/backend-export-patterns.md) for partitioner/build patterns.
5. Use the bundled import checker for Python-side availability only:

```bash
python scripts/check_backend_imports.py --json
```

## Common Patterns

- Start with no delegate or XNNPACK to prove the model exports and runs functionally.
- Add one backend at a time and inspect which graph partitions were delegated.
- For multiple targets, export one `.pte` per backend/target instead of assuming one artifact is optimal everywhere.
- If backend-specific quantization is required, quantize with that backend's quantizer before lowering.

Files in this skill

  • SKILL.md2.5 KB
  • references/backend-export-patterns.md1.5 KB
  • references/backend-matrix.md2.2 KB
  • references/troubleshooting.md1.1 KB
  • scripts/check_backend_imports.py1.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.