Суть взлома: отключение «тормозов» в прошивке
Группа моддеров нашла способ обойти программное ограничение, которое Nvidia внедрила в GeForce RTX 20, 30 и 40-й серий. Согласно официальным спецификациям, производительность накопления FP32 (FP32-accumulate) была искусственно снижена до 50% от показателя FP16-accumulate. Это ограничение не применялось к профессиональным картам Turing и Ampere, но сильно бьет по потребительским моделям при работе с AI-нагрузками.
Эксплойт использует уязвимость стекового переполнения (stack buffer overflow) в подписанной прошивке SEC2 «Booter» Nvidia. Злоумышленник (в данном случае — разработчик мода) может записать 4-байтовый полезный груз (V67 payload), который открывает маску привилегий. Это позволяет хост-драйверу установить полную скорость вычислений. Модуль сбрасывает карту до того, как загрузится официальный драйвер Nvidia, фиксируя изменения.
Результаты тестирования: от удвоения пиковых значений до реального прироста
Хотя пиковая тензорная скорость RTX 4090 удваивается (с 165.6 до 331.6 TFLOPS в FP16/BF16), реальные рабочие нагрузки показывают меньший, но все же значительный прирост. Скорость генерации токенов в чат-ботах остается прежней, так как она упирается в пропускную способность памяти, а не в вычислительную мощность GPU. Однако скорость обработки промптов и генерации изображений (diffusion) заметно возрастает.
Важнейшим фактором, влияющим на результат, является лимит энергопотребления (power limit). Картам, ограниченным по мощности, требуется больше времени для достижения пиковых частот, что снижает процент прироста в бенчмарках.
Сравнение прироста производительности по поколениям
| Модель GPU | Точность | Прирост (матричные вычисления) | Примечания |
|---|---|---|---|
| RTX 4090 | FP16 / BF16 | +12–34% / до +20% | Linux, лимит 450 Вт. Пиковый прирост не всегда достигается в реальных задачах. |
| RTX 4070 Ti | FP16 / BF16 | +80.1% / +76.4% | Windows-порт, один тестовый образец. |
| FP16 / BF16 / TF32 | +35% / +80% / +94% | Модифицированный драйвер Nvidia, лимит 450 Вт. | |
| RTX 3090 | BF16 | +25–67% | Зависит от лимита мощности: при 225 Вт прирост минимален (+25%). |
| RTX 3080 10GB | BF16 | +70–73% | Данные от пользователей. |
| RTX 3070 | BF16 | +73–81% | Данные от пользователей. |
| RTX 3060 12GB | BF16 | ~+80% | Данные от пользователей. |
| RTX 2080 Ti (22GB mod) | FP16 | +36–64% | Зависит от размера матрицы и лимита мощности (250–260 Вт). BF16 не поддерживается архитектурой Turing. |
Доступные инструменты и риски
Существует три основных проекта для разблокировки, каждый со своими особенностями:
- gpu-unlock: Основной проект для Ampere (RTX 30-й серии). Поддерживает GA102/GA103/GA104/GA106. Разработчик Zagitta отмечает, что сам эксплойт не является его идеей, а лишь «переключает 2 бита».
- gpu-unlock-ada: Форк для Ada Lovelace (RTX 40-й серии). Официально поддерживает RTX 4090. Экспериментально тестируется на 4090 D, 4070 Ti Super и 4060 Ti 16GB.
- turing-unlock / KohakUnlock: Решения для Turing (RTX 20-я серия). Работают преимущественно с модифицированными картами (например, 2080 Ti с 22 ГБ памяти). Поддержка BF16 отсутствует из-за аппаратных ограничений архитектуры.
Разработчики предупреждают: модификация прошивки может привести к зависанию системы, повреждению данных или аппаратному выходу из строя GPU. Проекты не имеют официального roadmap, а поддержка новых архитектур (Hopper, Blackwell) на данный момент не планируется, так как подход считается неактуальным для них.
Источник: Tom's Hardware ↗
