gpu-unlock: разблокировка FP/BF16 на видеокартах Nvidia 3000

gpu-unlock: разблокировка FP/BF16 на видеокартах Nvidia 3000

gpu-unlock — это модуль ядра Linux, который разблокирует скорость выдачи инструкций FP/BF16 на видеокартах Nvidia 3000, позволяя им работать на уровне своих профессиональных аналогов.

Проект предоставляет возможность использовать полную мощность видеокарт GA102, GA103, GA104 и GA106, что значительно увеличивает производительность при вычислениях, предлагая прирост до 80% в BF16 GEMM. В отличие от других решений, gpu-unlock не требует ручного патчинга драйверов после обновлений Nvidia, что упрощает процесс для разработчиков и энтузиастов.

Запускается модуль на системах с ядром Linux, и его использование требует определённых навыков в работе с драйверами и модулями ядра. Учти, что проект находится на ранней стадии, поэтому могут быть ограничения или нестабильные результаты на некоторых картах. Не забудь ознакомиться с совместимостью своих устройств в репозитории.

Проект gpu-unlock предназначен для разблокировки инструкции FP/BF16 на видеокартах Nvidia серии 3000, позволяя им работать на уровне производительности своих профессиональных аналогов. Это достигается благодаря использованию специального модуля ядра Linux, который сочетает в себе методы разблокировки вместе с предварительным управлением драйверами в UEFI. Модуль запускает разблокировку, задает соответствующие селекторы скорости и выполняет процедуру FLR (Function Level Reset) до того, как стандартный драйвер Nvidia свяжется с картой. Это позволяет избежать необходимости вручную патчить драйвер каждый раз при выходе новых версий.

Ожидаемым результатом использования этого модуля является удвоение скорости выдачи инструкций FP/BF16 FMA в операции FP32 на видеокартах с архитектурой GA102, GA103, GA104 и GA106. Например, по тестам пользователи сообщили о значительном увеличении производительности в различных задачах, связанных с матричными вычислениями.

Как установить и запустить

Для установки модуля тебе нужно выполнить следующие команды в терминале:

git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
make install

После установки необходимо добавить параметр `gpu_unlock.targets=all` в командную строку ядра. Это делается по-разному в зависимости от используемого загрузчика:

  • GRUB (Debian/Ubuntu/Mint): добавить его в строку `GRUB_CMDLINE_LINUX_DEFAULT` в файле `/etc/default/grub`, затем выполнить sudo update-grub.
  • GRUB (Arch/CachyOS): аналогично, затем выполнить sudo grub-mkconfig -o /boot/grub/grub.cfg.
  • Fedora/RHEL: выполнить sudo grubby --update-kernel=ALL --args="gpu_unlock.targets=all".
  • systemd-boot: добавить в строку options в твоем загрузочном разделе.

Тестированные карты

Модуль поддерживает все видеокарты GeForce, указанные в файле `kernel/gpu_unlock/main.c`. Ниже представлены результаты тестов пользователей:

Чип Карта PCI ID Результат Увеличение BF16 GEMM Отчёты
GA102RTX 3090 Ti10de:2203Разблокировано+68–80%#1
GA102RTX 309010de:2204Разблокировано+25–67%#5
GA104RTX 307010de:2484Разблокировано+73–81%#10
GA106RTX 3060 12 GB10de:2504Разблокированооколо +80%#31

Ограничения

Следует учитывать, что модуль работает только с не привязанными картами GA102, GA103, GA104 и GA106. Если карта уже привязана к драйверу Nvidia или выключена, модуль пропустит её. Также есть ограничения на производительность в зависимости от модели карты и её настроек, таких как лимит по мощности. При использовании функционала "снижение потребления" во время сна происходит сброс параметров скорости, и модуль будет разблокирован повторно при возобновлении работы.

Важно помнить и о том, что модуль должен быть установлен и включен перед загрузкой драйвера Nvidia, иначе его работа будет бесполезной. Для проверки результатов разблокировки можно использовать команды:

journalctl -k -b | grep gpu_unlock
lspci -nnk -s 0000:21:00.0

Лицензия

Проект распространяется под лицензией GPL-2.0, в то время как программное обеспечение от NVIDIA остаётся под своей лицензией.

Открыть на GitHub: Zagitta/gpu-unlock →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте