Найти в Дзене
DigiNews

Вице-президент AMD использует ИИ для создания драйвера Radeon для Linux на Python

Вице-президент AMD по ПО для ИИ, Ануш Элангован, самостоятельно написал экспериментальный драйвер GPU на Python с помощью Claude Code, но этот инструмент предназначен для тестирования, а не для развертывания у пользователей. — tomshardware.com На прошлой неделе в стеке графических драйверов AMD для Linux произошел необычный момент. Ануш Элангован, корпоративный вице-президент AMD, опубликовал небольшой экспериментальный вычислительный драйвер Radeon, полностью написанный на Python, как сообщил Phoronix. Более того, по словам Элангована, код был полностью создан с использованием Claude Code от Anthropic. Заголовок, естественно, был неотразим: старший инженер AMD использует ИИ для создания нового драйвера GPU? Шокирующе! Но реальность более техническая и менее радикальная; то, что он создал, не является заменой реальным драйверам компании. Вместо этого это, по сути, легкий тестовый стенд для драйвера, предназначенный для прямого взаимодействия с интерфейсами AMD GPU в Linux. Современные

Вице-президент AMD по ПО для ИИ, Ануш Элангован, самостоятельно написал экспериментальный драйвер GPU на Python с помощью Claude Code, но этот инструмент предназначен для тестирования, а не для развертывания у пользователей. — tomshardware.com

На прошлой неделе в стеке графических драйверов AMD для Linux произошел необычный момент. Ануш Элангован, корпоративный вице-президент AMD, опубликовал небольшой экспериментальный вычислительный драйвер Radeon, полностью написанный на Python, как сообщил Phoronix. Более того, по словам Элангована, код был полностью создан с использованием Claude Code от Anthropic. Заголовок, естественно, был неотразим: старший инженер AMD использует ИИ для создания нового драйвера GPU? Шокирующе! Но реальность более техническая и менее радикальная; то, что он создал, не является заменой реальным драйверам компании. Вместо этого это, по сути, легкий тестовый стенд для драйвера, предназначенный для прямого взаимодействия с интерфейсами AMD GPU в Linux. Современные графические процессоры Radeon в Linux обычно работают через довольно глубокий программный стек, построенный вокруг ROCm. Приложения взаимодействуют с библиотеками ROCm, которые, в свою очередь, взаимодействуют с рантаймами в пространстве пользователя, и в конечном итоге команды поступают в драйвер AMDGPU ядра. Проект Элангована обходит значительную часть этого стека. Код на Python взаимодействует непосредственно с драйвером ядра через узлы устройств, такие как /dev/kfd и /dev/dri/render*. Оттуда он может выделять память GPU, создавать вычислительные очереди, отправлять пакеты команд и синхронизировать работу ЦП и ГП. Иными словами, он достигает самого низкого общедоступного уровня вычислительного интерфейса AMD.
Это звучит более драматично, чем есть на самом деле; драйвер ядра (который здесь не заменяется и не затрагивается) по-прежнему выполняет почти всю тяжелую работу. Уровень Python просто конструирует пакеты команд и отправляет их через существующие API ядра. В качестве аналогии, это похоже на использование ноутбука для временной замены блока управления двигателем в вашем проектном автомобиле. Это не то, что вы будете использовать в долгосрочной перспективе, но это очень полезный диагностический инструмент. Суть в том, чтобы взаимодействовать с оборудованием очень контролируемым образом, без остальной части программного стека ROCm посередине.
Очевидно, это делает проект полезным для отладки и экспериментов. Инженеры могут
изолировать ошибки в ROCm или тестировать определенные функции GPU без компиляции огромных проектов на C++. Прототип уже выполняет несколько реальных задач, включая создание очередей команд, выделение памяти, пакеты отправки вычислений и примитивы синхронизации GPU. Поскольку он написан на Python, код небольшой и его легко модифицировать, что делает его идеальным для сценариев тестирования, где цель состоит в быстром воспроизведении поведения оборудования.
Еще одна подсказка о назначении проекта содержится в самом коде. Прототип упоминает «расширяемую архитектуру для будущего бэкенда PCI (AM) bare-metal». Эта фраза звучит экзотично, но указывает в том же направлении, что и остальная часть дизайна. Бэкенд bare-metal обошел бы даже драйвер ядра и обращался бы к GPU напрямую через PCI. Такая настройка обычно используется для вывода оборудования в продакшн, диагностики или
чрезвычайно низкоуровневого тестирования, а не для потребительского программного обеспечения; обход драйвера ядра нарушил бы все, что зависит от функций, предоставляемых этим драйвером, таких как многозадачность, виртуальная память GPU и DRM.
Для тех, кто надеялся, что это превратится в драйвер Radeon на базе Python для повседневных систем Linux, мне жаль сообщать, что это крайне маловероятно. Производственные драйверы GPU — это огромные проекты с компиляторами шейдеров, менеджерами памяти, управлением питанием,
уровнями безопасности и поддержкой сложных API, таких как Vulkan и OpenGL. Ничего из этого нет в этом эксперименте. Вместо этого Элангован продемонстрировал, что интерфейс AMD для ядра Linux достаточно открыт и модулен, чтобы кто-то мог писать скрипты для него с помощью языка высокого уровня. И, я полагаю, что он действительно любит Claude Code.

Facebook*, Instagram* и WhatsApp* принадлежат компании Meta* Platforms Inc., деятельность которой признана экстремистской и запрещена на территории Российской Федерации.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Автор – Zak Killian

Оригинал статьи