Энтузиасты нашли способ удвоить скорость Tensor Core на GeForce прошлых поколений без перепрошивки BIOS — но в играх это не даст ни кадра.
Nvidia много лет аккуратно режет возможности потребительских карт, чтобы те не конкурировали с профессиональными решениями. И вот нашелся человек, который решил, что хватит. Разработчик под ником Zagitta выпустил проект GPU-Unlock — утилиту, которая снимает ограничение на скорость выполнения инструкций Tensor Core в картах GeForce RTX 20, 30 и 40 серий. Звучит как обещание вечного двигателя, но здесь всё честнее: никакого волшебства, только работа с низкоуровневыми регистрами до загрузки драйвера.
Что именно сделал GPU-Unlock
Речь идет о модуле ядра Linux, который загружается раньше фирменного драйвера Nvidia. Он меняет регистры выбора скорости, отвечающие за частоту выполнения операций FP16 и BF16 с накоплением в FP32, сбрасывает видеокарту и отдает её обратно стандартному драйверу. Ни перепрошивки BIOS, ни патченного драйвера, ни паяльника. Правда, есть нюанс: изменения временные и слетают при отключении питания. Но это скорее особенность реализации, чем преграда.
Метод вырос из более ранних исследований, которыми вскрывали майнинговые карты Nvidia CMP. Zagitta просто собрал всё воедино и оформил в удобный инструмент.
Цифры: почти двукратный рост в матричных задачах
Прирост впечатляет, если смотреть на синтетику. На RTX 3090 Ti плотное умножение матриц BF16 подскочило с 87,5 до 157,4 TFLOPS. FP16 вырос с 87,5 до 118,4 TFLOPS, TF32 — с 42,6 до 82,6 TFLOPS. В сообществе уже отчитались об аналогичных результатах на обычной RTX 3090: BF16 с 77,5 до 129,6 TFLOPS.
По данным из репозитория, для Nvidia Geforce Rtx 40 и более старых карт линейки RTX 20 прирост в BF16-операциях тоже фиксируется. Причем точность не страдает: сравнение результатов до и после показало побитовую идентичность. Это чистое изменение скорости, а не подмена вычислений.
А в реальных задачах?
Здесь начинается самое интересное. В синтетических тестах всё красиво, а в живых сценариях цифры скромнее. Генерация изображений в ComfyUI на RTX 3090 Ti ускорилась на 47–59% в BF16-нагрузках. Это уже ощутимо.
С языковыми моделями сложнее. Один пользователь RTX 3090 отметил ускорение обработки длинного контекста примерно на 16%, а вот генерация токенов не изменилась вовсе. В отдельном обсуждении на GitHub прирост тензорной производительности в 77% дал лишь 1,5–12,9% в обработке подсказок и ноль в декодировании. Причина простая: узкое место — не Tensor Core, а пропускная способность памяти.
А игры?
Ноль. Совсем. Несмотря на то что DLSS тоже использует Tensor Core, ни одного независимого теста с приростом кадров в секунду нет. Так что рассчитывать на бесплатный апгрейд для игр не стоит. Это инструмент для тех, кто гоняет локальные модели и генераторы картинок, а не для тех, кто хочет больше FPS в любимой игре.
Отдельно стоит упомянуть ограничения. Оригинальный проект работает только на Linux. Существует экспериментальный порт под Windows, но он проверен буквально на одной системе одним человеком. Поддержка карт тоже неровная: GA103 и RTX 3070 Ti пока без отчетов, а мобильные версии Ampere вообще не тестировались. И да, это модуль ядра, который лезет в железо на уровне прошивки — ставить его на основной игровой ПК явно не стоит.
Что дальше? Чем больше людей протестирует утилиту на разных картах и лимитах питания, тем понятнее станет реальная польза. Пока же GPU-Unlock выглядит как грамотный способ выжать чуть больше из уже купленного железа Nvidia GeForce. Если у вас завалялась RTX 3090 и вы гоняете на ней модели — почему бы и нет. А вот ждать, что старые карты подорожают на вторичке из-за этого мода, не стоит. Слухи о таком сценарии уже поползли, но пока это лишь разговоры.
Редакция TechLoot будет следить за тем, как проект развивается и появятся ли стабильные сборки под Windows. Вопрос «а не выгоднее ли просто купить новую карту» каждый решит для себя сам. Спойлер: скорее всего, выгоднее, но энтузиастов это никогда не останавливало.