Заполнение пробела в экосистеме AMD
В отличие от NVIDIA, которая десятилетиями предоставляет драйверы для FreeBSD (хотя и без официальной поддержки CUDA), AMD традиционно уделяла мало внимания BSD-системам. FreeBSD уже использует драйвер AMDGPU DRM, портированный из Linux-ядра, и синхронизируется с новыми версиями для поддержки графики. Однако вычислительный стек ROCm (Radeon Open Compute) оставался недоступным нативно.
На недавнем FreeBSD Developer Summit была представлена работа стажёра Sourojeet Adhikari. Его задача — не просто запустить графику, а обеспечить поддержку вычислений на GPU через ROCm, что критически важно для научных расчётов и машинного обучения.
Текущие цели и технические детали
Первоначальная цель проекта амбициозна, но реалистична для периода стажировки: добиться работы хотя бы простейших операций, таких как векторное сложение (vector addition) с использованием ROCm. Полноценный стек HIP и OpenCL, вероятно, потребует значительно больше времени и ресурсов, чем один период стажировки.
Прогресс отслеживается в публичном репозитории через каталог с HTML-страницами ROCmFreeBSD_*. Adhikari уже добился успеха в компиляции различных открытых компонентов ROCm и адаптировал изменения для работы в среде FreeBSD.
Сравнение подходов к GPU-вычислениям на FreeBSD
На данный момент альтернативой для пользователей NVIDIA является эмуляция Linux через Podman-контейнеры для запуска CUDA. Однако нативная поддержка ROCm может стать более предпочтительным и производительным решением для AMD-карт в BSD-среде.
| Параметр | AMD ROCm (в разработке) | NVIDIA CUDA (текущее состояние) |
|---|---|---|
| Статус драйверов | AMDGPU DRM (синхронизирован с Linux) | Официальные проприетарные драйверы |
| Вычислительный стек | Отсутствует нативно (порт от Sourojeet Adhikari) | Отсутствует нативно |
| Обходные пути | Нет (на данный момент) | Linux-эмуляция + Podman контейнеры |
| Перспективы | После успеха на FreeBSD — портирование на другие BSD | Стабильная, но ограниченная эмуляция |
Значение для сообщества
Успех этого проекта имеет стратегическое значение. Если ROCm заработает на FreeBSD, это упростит портирование вычислительного стека на другие BSD-системы (OpenBSD, NetBSD). Это создаст полноценную альтернативу Linux-окружению для задач GPU-вычислений, снижая зависимость от эмуляции и повышая производительность.
Источник: Phoronix ↗
