B
benchmark-kernel
Precyzyjne pomiary wydajności jąder GPU FlashInfer z profilowaniem sprzętowym CUPTI
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do benchmarkowania jąder FlashInfer z dokładnym pomiarem czasu wykonania na GPU. Obsługuje dwie metody timingu: CUPTI (sprzętowe profilowanie dla najwyższej precyzji) oraz CUDA Events (rezerwowe). Pozwala porównać wydajność różnych backendów (FlashAttention2/3, cuDNN, CUTLASS, TensorRT-LLM) i zapisać wyniki do CSV. Automatycznie wybiera CUPTI jeśli jest dostępny, w przeciwnym razie przechodzi na CUDA Events. Wymaga CUDA 13+ dla pełnej funkcjonalności.
Jak używać
- Zainstaluj CUPTI dla najdokładniejszych pomiarów: uruchom
pip install -U cupti-python. Wymaga CUDA 13 lub nowszej. Jeśli CUPTI nie jest dostępny, skill automatycznie przejdzie na CUDA Events i wyświetli ostrzeżenie. - Wybierz rutynę testową z dostępnych opcji: Attention (BatchDecodeWithPagedKVCacheWrapper, BatchPrefillWithPagedKVCacheWrapper, BatchPrefillWithRaggedKVCacheWrapper, BatchMLAPagedAttentionWrapper), GEMM (bmm_fp8, gemm_fp8_nt_groupwise, group_gemm_fp8_nt_groupwise, mm_fp4) lub MOE (trtllm_fp4_block_scale_moe, trtllm_fp8_block_scale_moe, trtllm_fp8_per_tensor_scale_moe, cutlass_fused_moe).
- Uruchom benchmark dla wybranej rutyny za pomocą skryptu flashinfer_benchmark.py z parametrami określającymi typ testu i konfigurację.
- Skill zmierzy czysty czas wykonania jądra GPU bez narzutu komunikacji host-device (CUPTI) lub z minimalnym narzutem (CUDA Events).
- Wyniki będą zapisane w formacie CSV do analizy i porównania wydajności między różnymi backendami.