المهارات debug-cuda-crash
🔧

debug-cuda-crash

آمن ⚡ يحتوي على سكربتات

Отладка сбоев CUDA в FlashInfer

Сбои CUDA часто не оставляют отладочной информации. Этот учебник научит вас использовать логирование API FlashInfer для захвата метаданных тензоров перед сбоями. Научитесь быстро выявлять несоответствия форм, ошибки типов данных и числовые проблемы.

يدعم: Claude Codex Code(CC)
⚠️ 68 ضعيف
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "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

التدقيق الأمني

آمن
v4 • 1/17/2026

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.

2
الملفات التي تم فحصها
754
الأسطر التي تم تحليلها
1
النتائج
4
إجمالي عمليات التدقيق

عوامل الخطر

⚡ يحتوي على سكربتات (1)
تم تدقيقه بواسطة: claude عرض سجل التدقيق →

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
20
المجتمع
100
الأمان
78
الامتثال للمواصفات

ماذا يمكنك بناءه

Отладка сбоев ML в продакшене

Диагностика ошибок CUDA в продакшен LLM с использованием логирования API для захвата входных данных, вызывающих сбой

Отладка ошибок памяти ядра

Использование compute-sanitizer в сочетании с логированием API для поиска незаконного доступа к памяти и ошибок выхода за границы

Исправление числовой нестабильности

Обнаружение значений NaN/Inf в вычислениях внимания путём анализа статистики тензоров из залогированных выходных данных

جرّب هذه الموجهات

Базовая отладка сбоев
Мой код FlashInfer сбросился с ошибкой 'illegal memory access'. Помогите настроить логирование API для отладки.
Числовые проблемы
Моё ядро внимания производит значения NaN. Как использовать логирование уровня 5 для поиска источника?
Отладка multi-GPU
Мой job обучения на нескольких GPU сбросился. Покажите, как логировать каждый ранг отдельно для отладки.
Ошибки памяти
Объедините логирование API FlashInfer с compute-sanitizer для отладки ошибок доступа к памяти. Дайте точную команду.

أفضل الممارسات

  • Всегда начинайте с логирования уровня 3 для метаданных тензоров без перегрузки вывода
  • Логируйте в файл вместо stdout для сохранения логов после сбоев
  • Сравните последний успешный вызов API (входные и выходные данные залогированы) с первым неудачным вызовом (только входные данные залогированы)

تجنب

  • Использование логирования уровня 5 по умолчанию (добавляет накладные расходы статистики для каждого вызова)
  • Логирование в stdout при сбросе программы (вывод может быть потерян)
  • Забывание отключить логирование в продакшене (добавляет накладные расходы даже на уровне 1)

الأسئلة المتكررة

Какие версии CUDA поддерживают логирование API?
Логирование API работает с любой версией CUDA, поддерживаемой FlashInfer (CUDA 11.8+). Логирование реализовано на Python.
Замедляет ли логирование мой код?
Уровень 0 (отключено) имеет нулевые накладные расходы. Уровни 1-3 добавляют минимальные накладные расходы для извлечения метаданных.
Можно ли использовать это с torch.compile() PyTorch?
Да. Логирование API работает со скомпилированным кодом PyTorch. Статистика (уровень 5) пропускается во время захвата графа.
Безопасны ли мои данные в файлах логов?
Файлы логов содержат формы тензоров, типы данных и статистику. Они НЕ содержат фактические значения тензоров.
Что делать, если логи не появляются даже с FLASHINFER_LOGLEVEL=3?
Проверьте, что переменная окружения установлена. Проверьте, что API имеет декоратор @flashinfer_api.
Чем это отличается от встроенных инструментов CUDA?
Логирование API показывает, КАКИЕ данные вызвали сбой. Инструменты типа compute-sanitizer показывают, ГДЕ это произошло. Используйте их вместе.

تفاصيل المطور

المؤلف

flashinfer-ai

الترخيص

Apache-2.0

مرجع

main

بنية الملفات

📄 SKILL.md