Добавить в корзинуПозвонить
Найти в Дзене
Games4Linux

NVIDIA изучает расширение поддержки драйвера ядра с открытым исходным кодом для GPU

NVIDIA объявила, что изучает способы улучшения поддержки усилий по созданию драйвера ядра с открытым исходным кодом для графических процессоров, способных запускать прошивку GSP-RM. Эта работа ведется с момента появления Nova, драйвера ядра, написанного на Rust компанией Red Hat, который фокусируется на использовании прошивки NVIDIA GSP (GPU System Processor) для взаимодействия с графическими процессорами RTX 20 "Turing" и более новыми. Бен Скеггс из NVIDIA изложил текущие мысли компании по поводу наличия драйвера ядра GPU с отдельными модулями "core" и "DRM" в недавнем сообщении в списке рассылки dri-devel: > NVIDIA изучает способы улучшения поддержки усилий по созданию драйвера ядра с открытым исходным кодом для графических процессоров, способных запускать прошивку GSP-RM, с момента появления Nova. > Были определены варианты использования, для которых отделение основного программирования графического процессора из полного стека драйверов DRM является жестким требованием наших осн

NVIDIA объявила, что изучает способы улучшения поддержки усилий по созданию драйвера ядра с открытым исходным кодом для графических процессоров, способных запускать прошивку GSP-RM. Эта работа ведется с момента появления Nova, драйвера ядра, написанного на Rust компанией Red Hat, который фокусируется на использовании прошивки NVIDIA GSP (GPU System Processor) для взаимодействия с графическими процессорами RTX 20 "Turing" и более новыми.

Бен Скеггс из NVIDIA изложил текущие мысли компании по поводу наличия драйвера ядра GPU с отдельными модулями "core" и "DRM" в недавнем сообщении в списке рассылки dri-devel:

> NVIDIA изучает способы улучшения поддержки усилий по созданию драйвера ядра с открытым исходным кодом для графических процессоров, способных запускать прошивку GSP-RM, с момента появления Nova.

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

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

> Для сред с повышенными требованиями к безопасности, таких как облачная инфраструктура, важно продолжать поддержку работы минимального драйвера хоста vGPU в урезанной/урезанной среде ядра.

> Этого можно добиться, поддерживая как драйверы VFIO, так и DRM в качестве клиентов базового драйвера, не требуя, чтобы полнофункциональный драйвер DRM (или сама подсистема DRM) был встроен в ядро хоста.

> Базовый драйвер будет отвечать за загрузку и связь с GSP-RM, перечисление конфигурации оборудования, управление разделяемыми/распределенными ресурсами, обработку исключений и рассылку событий.

> Драйвер DRM будет выполнять все стандартные действия, которые выполняет драйвер DRM, а также реализовывать управление памятью графического процессора (TTM/HMM), KMS, отправку команд и т. д., а также предоставлять UAPI для клиентских приложений пользовательского пространства. Эти функции будут реализованы с использованием аппаратных ресурсов, выделенных из базового драйвера, а не путем прямой ответственности драйвера DRM за программирование оборудования.

> Поскольку KMD Nouveau уже разделен (в логическом смысле) по аналогичным направлениям, мы используем его здесь для целей этого RFC, чтобы продемонстрировать осуществимость такой архитектуры и открыть ее для обсуждения.

NVIDIA поддерживает драйвер ядра с открытым исходным кодом в течение двух лет, и этот компонент теперь используется по умолчанию в новых выпусках драйверов. Однако этот драйвер ядра с открытым исходным кодом остается вне дерева и в текущей форме не подходит для загрузки по восходящей линии.

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

В настоящее время NVIDIA не планирует открывать какие-либо компоненты своего драйвера пользовательского пространства для OpenGL, OpenCL, Vulkan или CUDA.

Ссылка: https://lore.kernel.org/dri-devel/20240613170211.88779-1-bskeggs@nvidia.com/T/#m17464be2ff30be41d75b214a10102ad60b708812