GPU-unlock для RTX 30 и RTX 40: где видеокарты ускорились вдвое и что показали тесты приложений
GPU-unlock почти удвоил скорость отдельных вычислений на RTX 4090. В тестах приложений прирост оказался другим: разбираем результаты RTX 30 и RTX 40.
Открытые проекты GPU-unlock и GPU-unlock-ada повысили скорость отдельных тензорных вычислений на видеокартах Nvidia. В тестах RTX 4090 прирост достиг почти двух раз. В приложениях результаты скромнее: например, модели в Immich на RTX 3060 заработали на 20–32% быстрее.
К 26 октября пользователи опубликовали замеры для нескольких видеокарт и разных нагрузок. Среди них есть как заметное ускорение, так и тест нейросетевой модели, в котором производительность практически не изменилась.
GPU-unlock меняет режим вычислений до запуска драйвера Nvidia
Тензорные ядра видеокарты выполняют операции с матрицами, то есть таблицами чисел. Такие вычисления используются в нейросетях. GPU-unlock повышает скорость отдельных операций с числами FP16 и BF16, в которых результат накапливается в формате FP32.
По описанию исходного проекта, модуль Linux загружается раньше обычного драйвера Nvidia и меняет параметры, управляющие скоростью этих операций. После этого видеокарту подхватывает штатный драйвер.
Проект работает без патча самого драйвера Nvidia. Выигрыш зависит от того, какие вычисления выполняет программа: в опубликованных тестах разные форматы чисел и размеры матриц давали разный прирост даже на одной видеокарте.
RTX 3090 Ti прибавила 80% в BF16, но 35% в FP16
Авторы GPU-unlock проверили умножение плотных матриц размером 8192 × 8192 на RTX 3090 Ti. Лимит мощности составлял 450 Вт. В таблице приведены медианные результаты пяти измерений:
| Формат | До разблокировки | После | Прирост |
| FP16 | 87,46 TFLOPS | 118,39 TFLOPS | около 35% |
| BF16 | 87,50 TFLOPS | 157,41 TFLOPS | около 80% |
| TF32 | 42,58 TFLOPS | 82,61 TFLOPS | около 94% |
TFLOPS показывает, сколько триллионов операций с плавающей точкой видеокарта выполняет за секунду. Здесь измеряли конкретную матричную операцию. Скорость работы приложений проверяли отдельно.
В таблице совместимости есть и неудачный результат. На RTX 3080 Ti 20 GB OEM процедура разблокировки завершилась, но скорость BF16 осталась на прежнем половинном уровне. Пользовательские отчёты в репозитории содержат модель карты, условия проверки и результаты замеров.
На RTX 4090 инструкции ускорились вдвое, а матричные тесты прибавили 12–34%
В GPU-unlock-ada опубликованы результаты RTX 4090: пропускная способность FP16 выросла со 165,6 до 331,6 TFLOPS, BF16 — со 165,5 до 330,6 TFLOPS. Оба показателя почти удвоились.
В отдельном сравнении на одной RTX 4090 при одинаковом лимите 450 Вт проверили умножение матриц через библиотеку cuBLAS. Результат зависел от формата и размера матриц:
- FP16 ускорился на 12–34%;
- BF16 прибавил 16–20% для двух размеров;
- при размере матриц 4096³ скорость BF16 практически не изменилась.
Авторы описывают эту проверку как одну пару сравнительных прогонов с работающим рабочим столом. Длительное тестирование стабильности в неё не входило.
25 октября появился ещё один отчёт, на этот раз о модифицированной RTX 4090 с 48 ГБ памяти. Скорость отдельных инструкций снова выросла почти вдвое. Но в тесте квантованной MoE-модели обработка контекста из 8 тысяч токенов показала 0,983 от исходной скорости — практически прежний результат.
RTX 3060 ускорила модели в Immich на 20–32%
25 октября пользователь опубликовал отчёт о проверке ASUS RTX 3060 12 GB на NixOS. Тензорная производительность выросла в 1,75–1,80 раза. Выполнение моделей в приложении Immich ускорилось в 1,20–1,32 раза, то есть на 20–32%.
Автор сохранил одинаковые условия до и после разблокировки:
- лимит мощности 170 Вт;
- версии ядра, драйвера и приложений;
- модели и параметры их выполнения;
- частоты, память и VBIOS видеокарты.
В сборку GPU-unlock входили три дополнительные правки проекта. Их версии и назначение перечислены в отчёте вместе с конфигурацией системы и журналом работы модуля.
Этот тест дал два отдельных результата: прирост тензорной производительности на 75–80% и ускорение моделей в приложении на 20–32%. Оба измерены на одной карте при одном лимите мощности.
Нейросеть тратит время на вычисления и передачу данных
В документации Nvidia нагрузки разделены по тому, что ограничивает их скорость. В одних задачах видеокарта занята арифметикой, в других основное время уходит на чтение и запись данных. Во втором случае ускоренная арифметика не устраняет задержку.
У языковой модели обработка входного контекста и генерация ответа создают разную нагрузку. В пользовательских отчётах, собранных в GPU-unlock, обработка контекста ускорялась на 14–36%, а генерация, ограниченная пропускной способностью памяти, оставалась примерно на прежнем уровне.
Поэтому в тестах языковых моделей отдельно измеряют время до первого токена, скорость дальнейшей генерации и полное время выполнения запроса. На результат влияют модель, размер контекста, количество одновременно обрабатываемых запросов и лимит мощности GPU.
От разблокировки CMP проект дошёл до тестов RTX 30 и RTX 40
Исходный GPU-unlock объединяет подходы CMP-unlocker и запуск до инициализации драйвера. Он включает более быстрый режим отдельных тензорных операций. Результаты проверки конкретных карт пользователи добавляют в репозиторий.
Для архитектуры Ada появилась отдельная ветка GPU-unlock-ada. В ней опубликованы тесты RTX 4090 и экспериментальные результаты RTX 4070 Ti SUPER. Там же описан отдельный Windows-порт, проверенный на конкретной конфигурации RTX 4070 Ti.
За выходные, 24–25 октября, появились дополнительные прикладные замеры, в том числе отчёт RTX 3060 с Immich и тест квантованной модели на RTX 4090. В первом случае приложение ускорилось на 20–32%, во втором скорость обработки контекста осталась практически прежней.