Сделать CUDA необязательной и включаемой явно на Linux/WSL и Windows #2
Notifications
Due Date
No due date set.
Blocks
#56 Углубить module выполнения транскрипции для развития ONNX
ddmitry/local-transcriber
Reference: ddmitry/local-transcriber#2
Reference in new issue
Block a user
Решение и проблема
Обычная установка Linux/WSL x86_64 скачивает обязательную cuBLAS даже для ONNX/CPU. Наличие
nvidia-smiпереключаетautoна CUDA, хотя драйвер может стоять на несовместимом старом GPU. Дополнительная установка библиотек такую несовместимость не исправляет.На Windows x64 CUDA Toolkit обычно не установлен; текущая инструкция требует его системной установки. Цель — единый способ подключения CUDA на Linux/WSL x86_64 и Windows x64: совместимый драйвер NVIDIA, установка extra
cuda, явный выбор CUDA через CLI или TOML. Полный системный CUDA Toolkit для этого сценария не требуется; драйвер устанавливается отдельно и не входит в extra.Владелец выбрал optional CUDA и явное включение. Исследовательский вопрос этой задачи решён; задача переведена в реализацию. Первоначально выделена из #1.
Согласованная спецификация — разделы «Выбор исполнения и ошибки» и «Документация и прежние решения». Эта задача дополняет спецификацию согласованным расширением установки extra на Windows x64.
Объём
nvidia-cublas-cu12из обязательных зависимостей в extracudaдля Linux/WSL x86_64 и Windows x64 с соответствующими platform markers. Обновить lock-файл; FasterWhisper CPU и Linux bootstrap сохранить.autoвыбирает ONNX CPU независимо от драйвера,nvidia-smiи установки extra. CUDA выбирается только через явный CLI-аргумент или TOML. Загрузка библиотек сама по себе не включает CUDA.cudaна Linux/WSL x86_64 и Windows x64 из клона, черезuv tool, для локальной разработки; явный запуск и TOML; обновление существующей установки. Различать драйвер NVIDIA, runtime-библиотеки в extra и полный системный CUDA Toolkit. Указать проверенные внешние требования Windows, включая Visual C++ runtime, если он необходим. Инструкция не должна обещать, что extra устанавливает драйвер или исправляет старое железо. Убрать безусловный совет установить Toolkit при любой CUDA-ошибке Windows.autoADR-003/006, относящихся разделах docs/gpu.md и спецификации выполнения транскрипции. Исправить утверждение ADR-001 о недоступности Windows wheel cuBLAS; выводы о runtime-зависимостях привязать к проверенной платформе и версии.Критерии приёмки
nvidia-smiпри обычном запуске не загружает CUDA и не приводит через её ошибку к FasterWhisper CPU; установка extra также не меняетauto.uv run pytest. Проверки packaging не требуют скачивания ASR-моделей. Отсутствующий реальный GPU-прогон не выдаётся за выполненный.Границы
Поддерживаемые CUDA-платформы этой задачи — Linux/WSL x86_64 и Windows x64. Без автоматической установки драйвера, поддержки CUDA на Windows ARM64, рефакторинга владения моделью, настройки бюджета потоков, внедрения CoreML/Windows ML и изменений диаризации. Основная задача рефакторинга использует правила, принятые здесь. Задача готова к работе независимо от неё.
Основания для Windows
nvidia.cublasне добавляется в поиск DLL автоматически. Наличие wheel само по себе не подтверждает работоспособность полного Windows CUDA-пути.Исследовать опциональную установку CUDA runtime в Linux и WSLto Сделать CUDA необязательной и включаемой явноСделать CUDA необязательной и включаемой явноto Сделать CUDA необязательной и включаемой явно на Linux/WSL и WindowsРеализация влита в master через PR #57 (merge-коммит
343a31b35b321f03c6dd75eb5183270d47ec19ba). Задача закрыта по решению владельца; аппаратная проверка Windows остаётся явно невыполненной.Итог:
cudaдоступен на Linux/WSL x86_64 и Windows x64;autoвсегда выбирает ONNX CPU независимо от драйвера и extra.local-transcriber[cuda], затем передать--device cudaлибо сохранитьdevice = "cuda"в.transcriber.toml. Полные команды установки и обновления: README — Подключение CUDA.Оставшаяся проверка: реальная транскрипция на Windows x64 с совместимым NVIDIA GPU, драйвером, Visual C++ Runtime и extra, без системного Toolkit и ручного изменения PATH. Зафиксировать версии драйвера/GPU, команду запуска и результат; отдельно проверить, возникает ли требование NVRTC из cuBLAS Lt. Статический аудит DLL и тесты с подменами не заменяют этот прогон; соответствующий пункт приёмки оставлен неотмеченным. Подробности — ADR-001.