Суть проекта и достигнутый прогресс
Летом 2026 года стажер Фонда FreeBSD Sourojeet Adhikari работал над портированием открытого вычислительного стека AMD ROCm с Linux на FreeBSD. Несмотря на наличие порта драйвера AMDGPU из Linux DRM и слоя совместимости LinuxKPI, задача оказалась нетривиальной. Работа включала не только изменения в ядре, но и патчинг downstream-версии LLVM, используемой ROCm, настройку GPU-рантаймов и модуля drm-kmod.
Ключевым достижением стало то, что драйвер теперь может связываться, загружаться и выполнять простую рабочую нагрузку — сложение векторов. Однако для конечных пользователей платформа пока не готова: остаются проблемы в пространстве пользователя (userspace).
Технические детали и выявленные проблемы
Процесс портирования выявил ряд специфических багов и различий в интерфейсе совместимости LinuxKPI. Разработчику пришлось адаптировать код AMD под особенности FreeBSD, что потребовало глубокого понимания архитектуры обоих операционных систем. Следующим шагом станет изучение систем управления памятью FreeBSD, в частности поддержка Heterogeneous Memory Management (HMM), что критически важно для эффективной работы с GPU.
Состояние работ: ключевые метрики
| Компонент | Статус | Примечания |
|---|---|---|
| Драйвер AMDGPU | Активен | Портирован из Linux DRM, работает в связке с LinuxKPI |
| Вычислительная нагрузка | Базовая | Успешно выполнено сложение векторов (vector addition) |
| Userspace (Пользовательский режим) | Не готов | Требуется устранение багов и допиливание логики |
| LLVM (ROCm stack) | Патчен | Адаптирована downstream-версия, используемая AMD |
| Heterogeneous Memory Management (HMM) | В планах | Следующий этап исследований и реализации |
Почему это важно
Успешное портирование ROCm на FreeBSD откроет путь для использования мощных GPU AMD в серверных и рабочих станциях на базе этой UNIX-подобной ОС. Это особенно актуально для сред, где FreeBSD предпочтительнее Linux из-за стабильности, сетевых стеков или лицензионных соображений. Хотя до полноценного использования еще далеко, текущий прогресс демонстрирует жизнеспособность направления.
Дальнейшие планы
Несмотря на завершение официальной стажировки, Sourojeet Adhikari планирует продолжить работу над проектом. Основной фокус сместится на интеграцию HMM и устранение оставшихся проблем в userspace. Все изменения доступны в репозиториях GitHub, а подробный отчет опубликован в блоге Фонда FreeBSD.
Источник: Phoronix ↗