Суть взлома: от софтового ограничения к аппаратному потенциалу
Разработчики из сообщества (репозиторий Vasiy/Nvidia-gpu-unlock) создали модуль ядра Linux, который модифицирует параметры инициализации видеокарт NVIDIA на архитектуре Ampere (чипы GA102, GA103, GA104, GA106). Метод сочетает технику разблокировки CMP (V67/PLM) с таймингами UEFI, позволяя записывать селекторы скорости (SS0 и SS1) до того, как загрузится официальный драйвер NVIDIA.
Ключевое преимущество решения — отсутствие необходимости патчить драйверы NVIDIA при каждом обновлении. Модуль внедряется в initramfs и работает на уровне ядра, обходя стандартные ограничения, которые NVIDIA намеренно снизила в потребительских картах по сравнению с профессиональными аналогами (RTX A-series).
Результаты бенчмарков: рост TFLOPS
Тестирование проводилось на RTX 3090 Ti с плотными матричными операциями (GEMM 8192³) при потреблении 450 Вт. Разница между «до» и «после» видна в скорости выдачи инструкций FP/BF16 FMA в FP32. Обратите внимание: прирост в BF16 и TF32 практически двукратный, что критично для современных LLM.
| Формат данных | До разблокировки (TFLOPS) | После разблокировки (TFLOPS) | Прирост |
|---|---|---|---|
| FP16 | 87.46 | 118.39 | +35% |
| BF16 | 87.50 | 157.41 | +80% |
| TF32 | 42.58 | 82.61 | +94% |
Совместимость и реальные кейсы
Отчетность пользователей показывает вариативность прироста в зависимости от модели чипа и лимита мощности (TDP). Карточки с ограничением питания (например, 225 Вт) показывают меньший прирост (+25%), так как упираются в энергопотребление, а не в пропускную способность тензорных ядер. Однако для большинства моделей серии 3000 прирост составляет 60–80%.
| Чип | Модель видеокарты | PCI ID | Результат | Прирост BF16 GEMM |
|---|---|---|---|---|
| GA102 | RTX 3090 Ti | 10de:2203 | Unlocked | +68–80% |
| GA102 | RTX 3090 | 10de:2204 | Unlocked | +25–67% |
| GA102 | RTX 3080 10/20 GB | 10de:2206 | Unlocked | +56–73% |
| GA104 | RTX 3070 / 3070 Ti | 10de:2484/2482 | Unlocked | +73–81% |
| GA106 | RTX 3060 12 GB | 10de:2504 | Unlocked | ~+80% |
Влияние на ИИ-задачи
Разработчики отмечают, что ускорение затрагивает именно плотные матричные операции. Это дает значительный буст в:
- LLM Prefill: ускорение на 14–36% (фаза обработки входного промпта).
- Diffusion models: ускорение генерации изображений.
- FlashAttention: оптимизация внимания в трансформерах.
Важно: фаза LLM Decode (генерация токенов по одному) остается неизменной, так как она ограничена пропускной способностью памяти (VRAM), а не вычислительной мощностью GPU. Результаты вычислений остаются бит-в-бит идентичными оригинальным.
Установка и риски
Решение работает только в Linux. Установка требует компиляции модуля ядра и добавления параметра gpu_unlock.targets=all в загрузчик (GRUB/systemd-boot). Модуль загружается в initramfs до инициализации драйвера NVIDIA.
Важно: Использование подобных инструментов может привести к нестабильности системы, перегреву карт (так как снимаются лимиты) и потенциальному повреждению оборудования при неправильном разгоне. NVIDIA не гарантирует стабильность при таких модификациях. Решение актуально для энтузиастов, собирающих домашние AI-фермы на б/у картах серии 3000.
Источник: Github ↗
