Communitygithub.com

2233admin/performance-patterns-skill

SKILL.md-Playbook, das Codex und Claude dabei hilft, Leistungsprobleme unter Windows, WSL, Linux und CUDA zu analysieren und zu beheben.

Was ist performance-patterns-skill?

Dieses Skill-Paket bietet eine wachsende Sammlung bekannter Codemuster, die Leistungsprobleme verursachen, zusammen mit Erkennungssignalen und detaillierten Lösungsanleitungen. Es wurde von Intel Performance Skills abgeleitet und für plattformübergreifende Szenarien erweitert: Windows nativ, WSL Linux, natives Linux sowie CUDA/NVIDIA-Umgebungen. Der Kernkatalog konzentriert sich auf x86-CPU-Code, passt die Optimierungsmechanismen jedoch je nach Plattform an – etwa Profiler-Vokabular, Compiler-Flags, Debug-Info-Formate, Synchronisationsprimitive und CPU-Feature-Erkennung. Eine Besonderheit ist die schrittweise Routenlogik: Zuerst wird die Plattform bestimmt (z. B. über WSL, CUDA oder Container), dann eine plattformspezifische Referenz geladen, und schließlich wird das passende Pattern aus `patterns/` identifiziert und angewendet. Die Bibliothek enthält wiederverwendbare Module wie CPU-Dispatch, SIMD-Upconversion und CRC32C-Implementierungen, die auch unabhängig genutzt werden können. Das Skill unterstützt sowohl die Analyse von Profiling-Ausgaben (VTune, perf, Nsight usw.) als auch die manuelle Code-Review ohne Profiling-Daten. Es ist ideal für Entwickler, die in leistungskritischen C/C++- oder CUDA-Anwendungen arbeiten und eine strukturierte, plattformbewusste Optimierungsmethodik benötigen.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor
npx skills add 2233admin/performance-patterns-skill

In Ihrer bevorzugten KI fragen

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

Dokumentation

Skill für Leistungsmuster

Ein wachsender Katalog bekannter Codemuster, die Leistungsprobleme verursachen, mit Erkennungssignalen und Lösungsanleitungen für jedes Muster. Der Kernkatalog konzentriert sich auf x86-CPU-Code, mit einer Plattform-Routing für Windows, WSL Linux, natives Linux und CUDA/NVIDIA-Umgebungen.

Das Optimierungswissen ist portabel, wenn die Hardware identisch ist. Was sich je nach Plattform ändert, sind die Mechanismen: Profiler-Vokabular, Compiler-Flags, Debug-Info-Format, Synchronisationsprimitive, CPU-Feature-Erkennung und ob der Engpass auf CPU-Host-Code oder CUDA-Device-Arbeit liegt.


Schritt 0 — Plattform routen

Wenn der Benutzer WSL, Linux, CUDA, NVIDIA, GPU, Nsight, Treiber-/Toolkit-Konflikte, Container erwähnt oder die Plattform unklar ist, bitte zuerst references/platform-routing.md lesen.

Dann die plattformspezifische Referenz laden:

Plattform / SymptomLesen
Windows nativ C/C++ CPU-LeistungPORTING-NOTES.md
WSL Linux CPU-Leistungreferences/wsl-linux.md, dann references/linux-native.md
Natives Linux CPU-Leistungreferences/linux-native.md
CUDA/NVIDIA Einrichtung oder GPU-Leistungreferences/cuda.md

Verwenden Sie scripts/collect-perf-env.ps1 unter Windows und scripts/collect-perf-env.sh in WSL/nativem Linux, wenn die Umgebung das Problem ist oder der Benutzer nicht genügend Toolchain-/Profiler-Kontext bereitgestellt hat.


So verwenden Sie dieses Skill

Schritt 1 — Die richtige Datei für Ihren Kontext laden

KontextDiese Datei lesen
Sie haben Profiling-Ausgaben (VTune, AMD uProf, ETW/WPA, perf, Flamegraph, Nsight-Zusammenfassung usw.)triggers/from-profile.md
Sie lesen vorhandenen Quellcode und haben noch keine Profiling-Datentriggers/from-source.md
Sie schreiben neuen leistungskritischen C/C++- oder SIMD-Codeguidelines/new-code.md

Die Trigger-Dateien decken alle dieselben Muster ab; sie sind getrennt, damit Sie nur das Relevante laden. guidelines/new-code.md ist eine Checkliste für das Schreiben – laden Sie sie anstelle einer Trigger-Datei, wenn Sie neuen Code generieren, nicht überprüfen.

Schritt 2 — Das passende Muster identifizieren

Jede Trigger-Datei enthält eine kompakte Tabelle und kurze Beschreibungen – genug, um zu entscheiden, ob der Code oder das Profil mit einem bekannten Muster übereinstimmt.

Schritt 3 – Die detaillierte Pattern-Datei lesen

Wenn ein Muster zutrifft, lesen Sie die entsprechende Datei aus patterns/. Versuchen Sie nicht, die Lösung aus dem Gedächtnis umzusetzen.

Schritt 4 — Die Lösung anwenden und verifizieren

Folgen Sie den Schritt-für-Schritt-Anweisungen und der Verifikationsmethode in der Pattern-Datei, unter Verwendung der Plattformmechanik aus der in Schritt 0 geladenen Routing-Datei.

Mehrere Muster können gleichzeitig zutreffen. Prüfen Sie alle plausiblen Übereinstimmungen, bevor Sie sich für eines entscheiden.


Wiederverwendbare Bibliotheksmodule

Diese eigenständigen Implementierungsanleitungen stehen jedem Agenten zur Verfügung, der in diesem Skill arbeitet – nicht nur bei der Verfolgung eines bestimmten Musters. Laden Sie die relevante Datei direkt, wenn die Fähigkeit benötigt wird.

ModulBereitgestellte Funktionen
library/cpu-dispatch.mdLaufzeit-CPU-Feature-Erkennung und Variantenauswahl unter Windows. Nur manuelle Funktionszeiger-Dispatch – target_clones ist auf dem PE/COFF-Ziel nicht verfügbar (kein IFUNC). Behandelt __builtin_cpu_supports, den expliziten __cpuid/_xgetbv-Pfad und __attribute__((target(...))) pro Variante. Anbieterneutral (Intel + AMD). Verwenden Sie dies, wenn eine Funktion mehrere leistungsbezogene Implementierungen hat, die zur Laufzeit zusammengeschaltet werden müssen.
patterns/simd-upconversion-impl.mdVollständiger Schritt-für-Schritt-Reißverschluss-Algorithmus zur Verdoppelung der Vektorregisterbreite in Intrinsics (SSE→AVX2 oder AVX2→AVX-512); AVX-512-Akkumulator-Vorlage; Checkliste nach der Transformation (CPUID-Guards, vzeroupper, Zielattribute).
patterns/fast-crc32c-impl.mdFertige CRC32C-Bibliothek: AVX-512 VPCLMULQDQ-Fusion, SSE4.2 + PCLMULQDQ-Multi-Akkumulator, einfacher C-Fallback. Inklusive Laufzeit-CPU-Dispatch-Wrapper. Verwenden Sie dies, wenn neuer CRC32C-Code benötigt wird oder eine vorhandene Implementierung den Engpass darstellt.
references/platform-routing.mdRouting für Windows / WSL / natives Linux / CUDA-Anfragen vor Anwendung eines Musters.
references/cuda.mdCUDA-Setup und Leistungs-Triage: Treiber-/Toolkit-Sichtbarkeit, Nsight Systems vs. Nsight Compute, WSL-GPU-Grenzen.

Skill-übergreifende Integration

Profiling-/Datenerfassungs-Skills können dieses Skill aufrufen, nachdem sie ein bekanntes Muster identifiziert haben. Dieses Skill funktioniert auch eigenständig anhand von Quellcode, Profiler-Ausschnitten oder Ausgaben der Umgebungsabfrage.

Skill-Status

Ported und überprüft für Windows nativ C/C++, dann erweitert mit Routing-Hinweisen für WSL Linux, natives Linux und CUDA/NVIDIA-Umgebungen. Die folgenden Kern-Dateien sind vorhanden: diese SKILL.md, PORTING-NOTES.md, triggers/from-source.md, triggers/from-profile.md, guidelines/new-code.md, design.md, library/cpu-dispatch.md, CRC32C-Bibliotheksquellen, Plattformreferenzen, Benchmark-Tests und alle Pattern-Dateien:

  • parallel-accumulator, missing-vzeroupper, missing-restrict
  • ttas, false-sharing, per-cpu-stats, cold-path-annotation
  • cv-thundering-herd, mutex-to-rwlock, simd-sort
  • simd-upconversion + simd-upconversion-impl
  • fast-crc32c + fast-crc32c-impl
  • library-version-upgrade

references/library-versions.md enthält absichtlich ungeprüfte Drittanbieter-DLL-Einträge in einer TODO-Tabelle; diese nicht ohne primäre Quellenverifikation und Windows-Messung zu Empfehlungen erheben.

Verwandte Skills