CommunityCodierung & Entwicklunggithub.com

pytorch/aoti-debug

Debuggen von AOTInductor (AOTI)-Fehlern und Abstürzen. Verwenden bei AOTI-Segfaults, Geräteinkonsistenzfehlern, Fehlern beim Laden von Konstanten oder Laufzeitfehlern von aot_compile, aot_load, aoti_compile_and_package oder aoti_load_package.

Was ist aoti-debug?

Diese Skill-Fähigkeit ist für Entwickler konzipiert, die mit AOTInductor (AOTI) in PyTorch arbeiten, und hilft bei der Diagnose und Behebung von häufigen Fehlern und Abstürzen. Sie ist besonders nützlich bei Segmentierungsfehlern (Segfaults), Geräteinkonsistenzfehlern (z.B. CPU vs. GPU), Fehlern beim Laden von Konstanten und anderen Laufzeitfehlern, die bei der Verwendung von Funktionen wie `aot_compile`, `aot_load`, `aoti_compile_and_package` oder `aoti_load_package` auftreten. Der Skill bietet systematische Debugging-Ansätze, einschließlich der Überprüfung von Gerätekonfigurationen, der Validierung von Konstantenpfaden und der Analyse von AOTI-Kompilierungs- und Ladevorgängen. Er unterstützt die gängigen AI-Agent-Plattformen wie Claude Code, Cursor und Codex und liefert direkt umsetzbare Schritte zur Fehlerbehebung basierend auf den Symptomen des auftretenden Fehlers.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pytorch/pytorch/tree/main/skills/aoti-debug

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht aoti-debug?

Debuggen von AOTInductor (AOTI)-Fehlern und Abstürzen. Verwenden bei AOTI-Segfaults, Geräteinkonsistenzfehlern, Fehlern beim Laden von Konstanten oder Laufzeitfehlern von aot_compile, aot_load, aoti_compile_and_package oder aoti_load_package.

Häufige Probleme und Lösungen

1. Segmentierungsfehler (Segfaults)

Symptom: Der Prozess stürzt mit einer Segmentation-Fault-Meldung ab.

Mögliche Ursachen:

  • Inkompatible C++-ABI zwischen Kompilierungs- und Ausführungsumgebung
  • Unzusammenhängende Speicherzugriffe im generierten Code
  • Fehlerhafte benutzerdefinierte Kernel

Lösung:

  1. Überprüfen Sie die Konsistenz der C++-ABI mit python -c "import torch; print(torch._C._GLIBCXX_USE_CXX11_ABI)"
  2. Versuchen Sie, die Umgebungsvariable TORCHINDUCTOR_COMPILE_ONLY=1 zu setzen, um die Ausführung zu isolieren
  3. Verwenden Sie einen Debug-Build von PyTorch, um detailliertere Stacktraces zu erhalten

2. Geräteinkonsistenzfehler

Symptom: Fehlermeldung wie "expected all tensors to be on the same device"

Ursache: Eingabetensoren befinden sich auf unterschiedlichen Geräten (z.B. CPU und CUDA).

Lösung:

  1. Stellen Sie sicher, dass alle Eingabetensoren auf demselben Gerät liegen, z.B. mit .to(device)
  2. Überprüfen Sie das standardmäßige Gerät mit torch.cuda.current_device() oder str(tensor.device)

3. Fehler beim Laden von Konstanten

Symptom: Fehler beim Aufruf von aot_load oder aoti_load_package

Ursache: Die kompilierte Artefaktdatei fehlt oder wurde mit inkompatiblen PyTorch-Versionen erstellt.

Lösung:

  1. Stellen Sie sicher, dass die Datei existiert: ls -la <pfad-zur-datei>
  2. Überprüfen Sie die PyTorch-Versionen: python -c "import torch; print(torch.__version__)"
  3. Kompilieren Sie erneut mit der aktuellen Umgebung

Debugging-Workflow

  1. Identifizieren Sie die Fehlerquelle: Handelt es sich um einen Segfault, einen Python-Ausnahmefehler oder einen Laufzeitfehler?
  2. Isolieren Sie das Problem: Versuchen Sie, das Problem mit minimalen reproduzierbaren Beispielen zu reproduzieren
  3. Überprüfen Sie die Umgebungskonsistenz: Stellen Sie sicher, dass Kompilierungs- und Ausführungsumgebung identisch sind
  4. Aktivieren Sie die detaillierte Protokollierung: Setzen Sie TORCHINDUCTOR_DEBUG=1 oder TORCH_COMPILE_DEBUG=1
  5. Verwenden Sie Debug-Tools: GDB für Segfaults, Python-Traceback für Ausnahmen

Unterstützte Plattformen

Dieser Skill funktioniert mit Claude Code, Cursor, Codex und anderen KI-Agent-Plattformen, die benutzerdefinierte Skills unterstützen.

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

pytorch/add-uint-support

Add unsigned integer (uint) type support to PyTorch operators by updating AT_DISPATCH macros. Use when adding support for uint16, uint32, uint64 types to operators, kernels, or when user mentions enabling unsigned types, barebones unsigned types, or uint support.

pytorch/at-dispatch-v2

Convert PyTorch AT_DISPATCH macros to AT_DISPATCH_V2 format in ATen C++ code. Use when porting AT_DISPATCH_ALL_TYPES_AND*, AT_DISPATCH_FLOATING_TYPES*, or other dispatch macros to the new v2 API. For ATen kernel files, CUDA kernels, and native operator implementations.

pytorch/docstring

Write docstrings for PyTorch functions and methods following PyTorch conventions. Use when writing or updating docstrings in PyTorch code.

pytorch/metal-kernel

Write Metal/MPS kernels for PyTorch operators. Use when adding MPS device support to operators, implementing Metal shaders, or porting CUDA kernels to Apple Silicon. Covers native_functions.yaml dispatch, host-side operators, and Metal kernel implementation.

pytorch/pr-review

Review PyTorch pull requests for code quality, test coverage, security, and backward compatibility. Use when reviewing PRs, when asked to review code changes, or when the user mentions "review PR", "code review", or "check this PR".

pytorch/pyrefly-type-coverage

Migrate a file to use stricter Pyrefly type checking with annotations required for all functions, classes, and attributes.

pytorch/skill-writer

Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.

pytorch/triaging-issues

Triages GitHub issues by routing to oncall teams, applying labels, and closing questions. Use when processing new PyTorch issues or when asked to triage an issue.

Verwandte Skills