debug-cuda-crash
Отладка сбоев CUDA в FlashInfer
Сбои CUDA часто не оставляют отладочной информации. Этот учебник научит вас использовать логирование API FlashInfer для захвата метаданных тензоров перед сбоями. Научитесь быстро выявлять несоответствия форм, ошибки типов данных и числовые проблемы.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "debug-cuda-crash". My batch_decode_with_padded_kv_cache crashed with 'illegal memory access'
النتيجة المتوقعة:
- Set environment variables: export FLASHINFER_LOGLEVEL=3, export FLASHINFER_LOGDEST=debug.log
- Run your code again - inputs will be logged BEFORE the crash
- Check the log for tensor shapes and dtypes
- Common issues: shape mismatch, wrong dtype, CPU tensor passed to GPU
- For deeper analysis: compute-sanitizer --tool memcheck python your_script.py
استخدام "debug-cuda-crash". My attention output has NaN values
النتيجة المتوقعة:
- Use level 5 logging: export FLASHINFER_LOGLEVEL=5
- Check nan_count and inf_count in the log file
- Look for large min/max values indicating numerical instability
- Check preceding operations for division by zero or overflow
استخدام "debug-cuda-crash". My distributed training crashed on multiple GPUs
النتيجة المتوقعة:
- Use process-specific logs: export FLASHINFER_LOGDEST=rank_%i.log
- Each GPU process creates its own log file
- Check individual rank logs to identify which process crashed first
- Compare inputs across ranks to find inconsistencies
التدقيق الأمني
آمنAll 160 static findings are FALSE POSITIVES. This skill contains ONLY markdown documentation with zero executable code. The 'backtick execution' findings flag markdown code block formatting, not shell commands. 'Weak cryptographic algorithm' findings flag hash identifiers in metadata. 'System reconnaissance' findings flag environment variable documentation. Pure educational content for CUDA debugging.
عوامل الخطر
⚡ يحتوي على سكربتات (1)
درجة الجودة
ماذا يمكنك بناءه
Отладка сбоев ML в продакшене
Диагностика ошибок CUDA в продакшен LLM с использованием логирования API для захвата входных данных, вызывающих сбой
Отладка ошибок памяти ядра
Использование compute-sanitizer в сочетании с логированием API для поиска незаконного доступа к памяти и ошибок выхода за границы
Исправление числовой нестабильности
Обнаружение значений NaN/Inf в вычислениях внимания путём анализа статистики тензоров из залогированных выходных данных
جرّب هذه الموجهات
Мой код FlashInfer сбросился с ошибкой 'illegal memory access'. Помогите настроить логирование API для отладки.
Моё ядро внимания производит значения NaN. Как использовать логирование уровня 5 для поиска источника?
Мой job обучения на нескольких GPU сбросился. Покажите, как логировать каждый ранг отдельно для отладки.
Объедините логирование API FlashInfer с compute-sanitizer для отладки ошибок доступа к памяти. Дайте точную команду.
أفضل الممارسات
- Всегда начинайте с логирования уровня 3 для метаданных тензоров без перегрузки вывода
- Логируйте в файл вместо stdout для сохранения логов после сбоев
- Сравните последний успешный вызов API (входные и выходные данные залогированы) с первым неудачным вызовом (только входные данные залогированы)
تجنب
- Использование логирования уровня 5 по умолчанию (добавляет накладные расходы статистики для каждого вызова)
- Логирование в stdout при сбросе программы (вывод может быть потерян)
- Забывание отключить логирование в продакшене (добавляет накладные расходы даже на уровне 1)