Communitygithub.com

2233admin/performance-patterns-skill

SKILL.md que ayuda a Codex y Claude a diagnosticar y resolver problemas de rendimiento en Windows, WSL, Linux y CUDA.

¿Qué es performance-patterns-skill?

Este skill proporciona un catálogo de patrones de código conocidos que causan problemas de rendimiento, junto con señales de detección y guías de resolución. Está diseñado para agentes de IA como Claude y Codex, y se enfoca en código x86 CPU, con enrutamiento específico para plataformas Windows, WSL Linux, Linux nativo y entornos CUDA/NVIDIA. La habilidad permite diagnosticar el rendimiento a partir de perfiles de herramientas como VTune, perf o Nsight, o analizando código fuente directamente. También incluye módulos de biblioteca reutilizables para detección de características CPU, implementación de CRC32C, y algoritmos SIMD, entre otros. La información de optimización es portable cuando el hardware es el mismo; lo que cambia por plataforma son los detalles mecánicos como el vocabulario del profiler, flags del compilador, primitivas de sincronización y detección de características CPU. Este skill se integra con otras habilidades de recolección de perfiles y puede usarse de forma independiente.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Skill de patrones de rendimiento

Un catálogo creciente de patrones de código conocidos que causan problemas de rendimiento, con señales de detección y guías de resolución para cada uno. El catálogo central de patrones se enfoca en código CPU x86, con enrutamiento de plataforma para Windows, WSL Linux, Linux nativo y entornos CUDA/NVIDIA.

El conocimiento de optimización es portable cuando el hardware es el mismo. Lo que cambia por plataforma son los aspectos mecánicos: vocabulario del profiler, flags del compilador, formato de información de depuración, primitivas de sincronización, detección de características CPU, y si el cuello de botella es código de CPU host o trabajo de dispositivo CUDA.


Paso 0 — Enrutar la plataforma

Si el usuario menciona WSL, Linux, CUDA, NVIDIA, GPU, Nsight, falta de coincidencia de driver/toolkit, contenedores, o la plataforma no está clara, lea references/platform-routing.md primero.

Luego cargue la referencia específica de la plataforma:

Plataforma / síntomaLeer
Rendimiento CPU nativo Windows C/C++PORTING-NOTES.md
Rendimiento CPU Linux WSLreferences/wsl-linux.md, luego references/linux-native.md
Rendimiento CPU Linux nativoreferences/linux-native.md
Configuración CUDA/NVIDIA o rendimiento GPUreferences/cuda.md

Use scripts/collect-perf-env.ps1 en Windows y scripts/collect-perf-env.sh dentro de WSL/Linux nativo cuando el entorno sea el problema o el usuario no haya proporcionado suficiente contexto del toolchain/profiler.


Cómo usar este skill

Paso 1 — Cargue el archivo correcto para su contexto

ContextoLeer este archivo
Tiene salida de perfil (VTune, AMD uProf, ETW/WPA, perf, flamegraph, resumen de Nsight, etc.)triggers/from-profile.md
Está leyendo código fuente existente y aún no tiene datos de perfiltriggers/from-source.md
Está escribiendo código nuevo C/C++ o SIMD sensible al rendimientoguidelines/new-code.md

Los archivos disparadores cubren todos los mismos patrones; están separados para que solo cargue lo relevante. guidelines/new-code.md es una lista de verificación para escritura — cárguelo en lugar de un archivo disparador al generar código nuevo, no al revisarlo.

Paso 2 — Identifique el patrón coincidente

Cada archivo disparador contiene una tabla compacta y descripciones breves — suficiente para decidir si el código o el perfil coincide con un patrón conocido.

Paso 3 — Lea el archivo de detalle del patrón

Cuando un patrón coincida, lea el archivo correspondiente de patterns/. No intente la corrección de memoria.

Paso 4 — Aplique la corrección y verifique

Siga las instrucciones paso a paso y el método de verificación en el archivo del patrón, usando los aspectos mecánicos de la plataforma desde el archivo de enrutamiento cargado en el Paso 0.

Varios patrones pueden aplicarse simultáneamente. Verifique todas las coincidencias plausibles antes de elegir una.


Módulos de biblioteca reutilizables

Estas guías de implementación independientes están disponibles para cualquier agente que trabaje en este skill, no solo cuando se sigue un patrón específico. Cargue el archivo relevante directamente si la capacidad es necesaria.

MóduloQué proporciona
library/cpu-dispatch.mdDetección de características CPU en tiempo de ejecución y selección de variantes en Windows. Solo despacho manual con punteros a función — target_clones no está disponible en el destino PE/COFF (sin IFUNC). Cubre __builtin_cpu_supports, la ruta explícita __cpuid/_xgetbv, y __attribute__((target(...))) por variante. Neutral respecto al proveedor (Intel + AMD). Úselo siempre que una función tenga múltiples implementaciones de diferentes niveles de rendimiento que deban conectarse en tiempo de ejecución.
patterns/simd-upconversion-impl.mdAlgoritmo de cremallera completo paso a paso para duplicar el ancho del registro vectorial en intrínsecos (SSE→AVX2 o AVX2→AVX-512); plantilla de acumulador AVX-512; lista de verificación posterior a la transformación (guardas CPUID, vzeroupper, atributos target).
patterns/fast-crc32c-impl.mdBiblioteca CRC32C lista para usar: fusión AVX-512 VPCLMULQDQ, multi-acumulador SSE4.2 + PCLMULQDQ, fallback en C puro. Incluye envoltorio de despacho CPU en tiempo de ejecución. Úselo siempre que se necesite código CRC32C nuevo o una implementación existente sea el cuello de botella.
references/platform-routing.mdEnruta solicitudes de Windows / WSL / Linux nativo / CUDA antes de aplicar un patrón.
references/cuda.mdConfiguración CUDA y triaje de rendimiento: visibilidad de driver/toolkit, Nsight Systems vs Nsight Compute, límites de GPU WSL.

Integración entre skills

Las habilidades de recolección de datos/perfiles pueden invocar este skill después de identificar un patrón conocido. Este skill también funciona de forma independiente a partir de código fuente, fragmentos de perfil o resultados de sondas de entorno.

Estado del skill

Migrado y revisado para Windows nativo C/C++, luego extendido con notas de enrutamiento para WSL Linux, Linux nativo y entornos CUDA/NVIDIA. Los siguientes archivos centrales están presentes: este SKILL.md, PORTING-NOTES.md, triggers/from-source.md, triggers/from-profile.md, guidelines/new-code.md, design.md, library/cpu-dispatch.md, fuentes de la biblioteca CRC32C, referencias de plataforma, pruebas de benchmark y todos los archivos de patrones:

  • 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 mantiene intencionalmente entradas de DLL de terceros no verificadas en una tabla TODO; no promueva esas a recomendaciones sin verificación de fuente primaria y medición en Windows.

Skills relacionados