Toolverse
Wszystkie skille

debug-cuda-crash

autor: flashinfer-ai

Debuguj błędy CUDA w FlashInfer dzięki logowaniu API — zobacz dane przed awariąą

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
10

O skillu

Skill do debugowania awarii CUDA w bibliotece FlashInfer. Używa dekoratora @flashinfer_api do rejestrowania danych wejściowych przed wykonaniem kodu, co pozwala zidentyfikować przyczynę błędu nawet po zawieszeniu programu. Przechwytuje kształty tensorów, typy danych i wartości przechodzące przez pipeline, wykrywając problemy numeryczne takie jak NaN, Inf czy nieprawidłowe wymiary. Rozwiązuje problem braku informacji debugowania przy typowych błędach CUDA (dostęp do niedozwolonej pamięci, przekroczenie granic, wartości nieskończone).

Jak używać

  1. Zainstaluj FlashInfer z repozytorium flashinfer-ai, jeśli jeszcze tego nie zrobiłeś. Skill znajduje się w katalogu .claude/skills/debug-cuda-crash w głównym repozytorium projektu.

  2. Włącz logowanie API poprzez zmienne środowiskowe. Dla podstawowego logowania (tylko nazwy funkcji) ustaw FLASHINFER_LOGLEVEL=1 i FLASHINFER_LOGDEST=stdout, a następnie uruchom swój skrypt: export FLASHINFER_LOGLEVEL=1 && export FLASHINFER_LOGDEST=stdout && python moj_skrypt.py

  3. Jeśli potrzebujesz szczegółowych informacji o wejściach i wyjściach, zmień poziom logowania na FLASHINFER_LOGLEVEL=3 i skieruj wynik do pliku: export FLASHINFER_LOGLEVEL=3 && export FLASHINFER_LOGDEST=debug.log && python moj_skrypt.py

  4. Przeanalizuj wygenerowany plik dziennika (debug.log). Zawiera on informacje systemowe (wersja FlashInfer, CUDA toolkit, GPU), a następnie szczegółowe logi każdego wywołania API z danymi wejściowymi, kształtami tensorów i typami danych.

  5. Porównaj zarejestrowane dane z miejscem awarii w kodzie. Szukaj anomalii: nieprawidłowych wymiarów tensorów, wartości NaN/Inf, lub danych, które nie pasują do oczekiwanego zakresu.

  6. Użyj tych informacji do naprawy błędu w swoim kodzie — najczęściej problem leży w przygotowaniu danych wejściowych lub w konfiguracji parametrów funkcji FlashInfer.

Podobne skille