Communitygithub.com

2233admin/效能模式技巧集

幫助 Codex 和 Claude 診斷 Windows、WSL、Linux 及 CUDA 環境中的效能問題的 SKILL.md 指南書。

效能模式技巧集 是什麼?

這個 AI 代理技能提供了一個結構化的劇本,用於識別和解決跨 x86 CPU 平台(包括 Windows、WSL/Linux、原生 Linux 和 CUDA/NVIDIA GPU 環境)的常見效能模式。它的核心是一個不斷增長的、已知會導致效能問題的程式碼模式目錄,每個模式都附有檢測訊號和逐步解決方案。該技能會自動引導使用者完成平台特定的路由(例如,載入正確的參考文件,如 `references/platform-routing.md` 或 `references/cuda.md`),確保所提供的建議使用正確的術語、編譯器標誌和該環境適用的工具。與傳統的性能分析指南不同,此技能在兩個層級上運作:它可以從性能分析輸出(如 VTune 或 Nsight 摘要)中識別模式,或者僅僅通過審查原始程式碼就能識別模式,使其在除錯和主動開發場景中都很有用。該技能還包括適用於 CPU 分派、SIMD 上轉換和 CRC32C 實作的可重用程式庫模組,所有這些都可以作為獨立檔案直接載入。它支援多個 AI 代理平台,包括 Codex 和 Claude,並且設計用於與其他 Profiler 數據收集技能整合,從而實現自動化效能工作流程。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add 2233admin/performance-patterns-skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

效能模式技巧集 是做什麼的?

一本不斷增長的、已知會導致效能問題的程式碼模式目錄, 包含每個模式的檢測訊號和解決劇本。核心模式目錄專注於 x86 CPU 程式碼,並提供 Windows、WSL Linux、原生 Linux 和 CUDA/NVIDIA 環境的平台路由。

在硬體相同的情況下,最佳化知識是可移植的。不同平台之間 變化的是實作細節:Profiler 詞彙、編譯器標誌、除錯資訊格式、 同步原語、CPU 功能檢測,以及瓶頸是在 CPU 主機程式碼還是 CUDA 設備工作中。


步驟 0 — 路由平台

如果使用者提到了 WSL、Linux、CUDA、NVIDIA、GPU、Nsight、 驅動程式/工具套件不匹配、容器,或者平台不明確,請先閱讀 references/platform-routing.md。

然後載入平台特定的參考:

平台 / 症狀閱讀
Windows 原生 C/C++ CPU 效能PORTING-NOTES.md
WSL Linux CPU 效能references/wsl-linux.md,然後 references/linux-native.md
原生 Linux CPU 效能references/linux-native.md
CUDA/NVIDIA 設定或 GPU 效能references/cuda.md

當環境是問題所在,或者使用者沒有提供足夠的工具鏈/Profiler 上下文時,在 Windows 上使用 scripts/collect-perf-env.ps1, 在 WSL/原生 Linux 內部使用 scripts/collect-perf-env.sh。


如何使用此技巧

步驟 1 — 為你的情境載入正確的檔案

情境閱讀此檔案
你擁有 ** Profiling 輸出**(VTune、AMD uProf、ETW/WPA、perf、火焰圖、Nsight 摘要等)triggers/from-profile.md
你正在 閱讀現有原始碼 且尚無 Profiling 資料triggers/from-source.md
你正在 編寫新的 效能敏感的 C/C++ 或 SIMD 程式碼guidelines/new-code.md

這些觸發檔案涵蓋了所有相同的模式;將它們分開是為了讓你只 載入相關的內容。guidelines/new-code.md 是一個寫入時的檢查 清單 — 在生成新程式碼時載入它,而不是在審查程式碼時載入。

步驟 2 — 識別匹配的模式

每個觸發檔案都包含一個精簡的表格和簡短的描述 — 足以判斷 程式碼或 Profile 是否匹配某個已知模式。

步驟 3 — 讀取模式詳細檔案

當模式匹配時,讀取 patterns/ 中對應的檔案。不要僅憑記憶 嘗試修復。

步驟 4 — 應用修復並驗證

按照模式檔案中的逐步說明和驗證方法進行操作,使用在步驟 0 中載入的路由檔案中的平台機制。

多個模式可以同時應用。在選擇一個模式之前,檢查所有可能的 匹配項。


可重複使用的程式庫模組

這些獨立的實作指南可供任何使用此技巧的代理程式使用,不僅限 於遵循特定模式時。如果需要該功能,請直接載入相關檔案。

模組提供的內容
library/cpu-dispatch.mdWindows 上的執行時期 CPU 功能檢測和變體選擇。僅限手動函式指標分派 — target_clones 在 PE/COFF 目標上不可用(無 IFUNC)。涵蓋 __builtin_cpu_supports、顯式 __cpuid/_xgetbv 路徑以及每個變體的 __attribute__((target(...)))。供應商中立(Intel + AMD)。每當一個函式有多個需要執行時期連接的效能級別實作時使用。
patterns/simd-upconversion-impl.md在內建函式中加倍向量暫存器寬度的完整逐步拉鍊演算法(SSE→AVX2 或 AVX2→AVX-512);AVX-512 累加器模板;轉換後檢查清單(CPUID 保護、vzeroupper、目標屬性)。
patterns/fast-crc32c-impl.md即插即用 CRC32C 函式庫:AVX-512 VPCLMULQDQ 融合、SSE4.2 + PCLMULQDQ 多累加器、純 C 後備方案。包含執行時期 CPU 分派包裝器。每當需要新的 CRC32C 程式碼或現有實作是瓶頸時使用。
references/platform-routing.md在應用模式之前路由 Windows / WSL / 原生 Linux / CUDA 請求。
references/cuda.mdCUDA 設定和效能分級:驅動程式/工具套件可見性、Nsight Systems 與 Nsight Compute、WSL GPU 邊界。

跨技巧整合

Profiler/數據收集技巧可以在識別出已知模式後調用此技巧。此技巧 也可以單獨從原始碼、Profiler 片段或環境探測輸出中獨立運作。

技巧狀態

已針對 Windows 原生 C/C++ 進行移植和審查,然後擴展了 WSL Linux、 原生 Linux 和 CUDA/NVIDIA 環境的路由說明。以下核心檔案已存在: 此 SKILL.md、PORTING-NOTES.md、triggers/from-source.md、 triggers/from-profile.md、guidelines/new-code.md、design.md、 library/cpu-dispatch.md、CRC32C 函式庫原始檔、平台參考、 基準測試以及所有模式檔案:

  • 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 有意將未經驗證的第三方 DLL 條目保留在待辦事項表中;在沒有主要來源驗證和 Windows 測量的 情況下,請勿將這些條目提升為建議。

相關技能