Найти тему

Nvidia наконец-то выпустила модули ядра графического процессора с открытым исходным кодом для Linux

Оглавление

NVIDIA опубликовала исходный код модулей ядра графического процессора Linux с двойной лицензией GPL/MIT, начиная с версии драйвера R515. Исходный код этих модулей ядра располагается в репозитории NVIDIA Open GPU Kernel Modules на GitHub.

Это сделает использование графических процессоров NVIDIA в Linux более удобным, а также приведёт к более тесной интеграции с ОС и возможности отладки. Для поставщиков дистрибутивов Linux модули с открытым исходным кодом упрощают использование. Они также улучшают пользовательский интерфейс для подписи и распространения драйвера графического процессора NVIDIA. Canonical и SUSE могут сразу же упаковать открытые модули ядра в дистрибутивы Ubuntu и SUSE Linux Enterprise.

Разработчики могут отслеживать пути кода и видеть, как планирование событий ядра взаимодействует с их рабочей нагрузкой для более быстрой отладки. Кроме того, разработчики корпоративного программного обеспечения теперь могут беспрепятственно интегрировать драйвер в настроенное для своего проекта ядро ​​Linux.

Это поможет улучшить качество и безопасность драйверов графических процессоров NVIDIA благодаря отзывам и комментариям сообщества пользователей Linux.

С каждым новым выпуском драйвера NVIDIA публикует исходный код на GitHub . Представленные сообществом исправления проверяются и, если они одобрены, интегрируются в будущие версии драйверов.

Поддерживаемый функционал

Первый выпуск открытых модулей ядра графического процессора — R515. Вместе с исходным кодом предоставляются полностью собранные и упакованные версии драйверов.

Код готов к работе для семейств архитектур NVIDIA Turing и NVIDIA Ampere. Это стало возможным благодаря поэтапному развертыванию архитектуры драйверов GSP в прошлом году, которая была разработана для упрощения перехода для клиентов NVIDIA. Компания сосредоточилась на тестировании самых разных рабочих нагрузок, чтобы обеспечить соответствие функций и производительности проприетарному драйверу режима ядра.

В будущем такие функции, как HMM, станут основополагающим компонентом конфиденциальных вычислений на архитектуре NVIDIA Hopper.

В этом выпуске с открытым исходным кодом находится альфа-версия поддержки графических процессоров GeForce и рабочих станций. Пользователи GeForce и рабочих станций могут использовать этот драйвер на графических процессорах с архитектурой Turing и NVIDIA Ampere для запуска компьютеров под Linux и использования таких функций, как несколько дисплеев, G-SYNC и трассировка лучей NVIDIA RTX в Vulkan и NVIDIA OptiX.

Более надежная и полнофункциональная поддержка GeForce и рабочих станций появится в последующих выпусках, а модули NVIDIA Open Kernel в конечном итоге заменят драйвер с закрытым исходным кодом.

Клиенты с графическими процессорами Turing и Ampere могут выбирать, какие модули устанавливать. Клиенты Pre-Turing продолжат использовать модули с закрытым исходным кодом.

Драйвер режима ядра с открытым исходным кодом работает с той же прошивкой и такими же стеками пользовательского режима, как CUDA, OpenGL и Vulkan. Однако все компоненты стека драйверов должны соответствовать версиям в пределах выпуска.

Установка согласия

Выпуск R515 содержит предварительно скомпилированные версии как драйвера с закрытым исходным кодом, так и модулей ядра с открытым исходным кодом. Эти версии являются взаимоисключающими, и пользователь может сделать выбор во время установки. Параметр по умолчанию гарантирует, что автоматическая установка выберет оптимальный путь для NVIDIA Volta и более старых графических процессоров по сравнению с графическими процессорами Turing+.

Пользователи могут создавать модули ядра из исходного кода и устанавливать их с соответствующими драйверами пользовательского режима.

-2

Драйверы графических процессоров NVIDIA разрабатывались на протяжении многих лет для совместного использования кода между операционными системами, графическими процессорами и однокристальными системами Jetson для обеспечения единообразия работы на всех поддерживаемых платформах. Текущая кодовая база не соответствует соглашениям о проектировании ядра Linux и не подходит для исходной версии Linux. Планируется работать с сообществом ядра Linux и партнерами Canonical, Red Hat и SUSE.

Тем временем опубликованный исходный код служит справочным материалом для улучшения драйвера Nouveau. Nouveau может использовать ту же прошивку, что и драйвер NVIDIA, раскрывая многие функции графического процессора, такие как управление тактовой частотой и управление температурой, добавляя новые функции в драйвер Nouveau.