RDMA символы macOS: NVIDIA GPU plug-and-play zero-copy | AiManual
AiManual Logo Ai / Manual.
06 Май 2026 Новости

Скрытые RDMA символы в macOS: NVIDIA GPU на Mac могут стать plug-and-play через zero-copy

В macOS найдены скрытые символы RDMA, дающие надежду на zero-copy GPU memory sharing с NVIDIA. Разбираем технические детали и перспективы для Mac-энтузиастов.

Представьте: подключаете внешний NVIDIA GPU к Mac через Thunderbolt, и он работает без лагов, без копирования данных туда-сюда, напрямую обращаясь к памяти видеоускорителя. Звучит как несбыточная мечта? А теперь смотрите: в бинарниках macOS нашли скрытые символы RDMA — Remote Direct Memory Access. Это не шутка, и это ровно тот кирпичик, которого не хватало для zero-copy на Mac.

Если вы хоть раз пытались прикрутить NVIDIA к Mac — вы знаете боль. Драйверов нет с 2019 года, eGPU через Thunderbolt — черепашья скорость из-за копирования через CPU. Мы уже писали, почему Thunderbolt 4 превращает llama.cpp в улитку. Но RDMA меняет правила игры.

Что нашли в бинарниках macOS?

Энтузиасты из XNU-сообщества обнаружили в dyld shared cache (раздел IOKit) недокументированные символы IOUserClient::RDMA и AppleRDMAProvider. Они не экспортируются публично, но линковщик их видит. Система готова к zero-copy на уровне ядра, просто Apple не открыла API. Зачем? Может, готовят кремниевый реванш, а может, просто оставили закладку для внутренних проектов. Но факт: символы есть и мигают зелёным для тех, кто умеет их дёргать.

Ключевое: RDMA позволяет передавать данные между устройствами без участия CPU. GPU может читать из памяти другого GPU напрямую. Это единственный способ выжать из Thunderbolt максимальную пропускную способность (до 40 ГБ/с) в режиме DMA.

Zero-copy — святой Грааль Mac-энтузиаста

Сейчас при запуске LLM или рендеринга через eGPU каждый чих копирует данные через CPU. В статье про eGPU NVIDIA мы обманывали Apple Silicon и получали 24 ГБ VRAM, но упирались в пропускную способность шины. Zero-copy убивает этот узкий участок: GPU сам запрашивает данные из системной памяти или другого GPU, минуя CPU. В теории это даёт прирост скорости до 10 раз на операциях, где важна задержка.

Но есть нюанс: даже если вы найдёте RDMA-символы и заставите macOS их экспортировать, драйвер NVIDIA для macOS мёртв. Как я взламывал ограничения NVIDIA — читали? Там C-плагин на 1500 строк для кластеризации DGX Sparks. Здесь потребуется нечто похожее, но уже на уровне KEXT или DEXT. Энтузиасты уже форкают ioreg и пробуют подсаживаться на недокументированные сервисы.

Plug-and-play мечты: от теории к практике

Как это может работать? Внешний NVIDIA GPU подключается через Thunderbolt (желательно 5 — до 80 Гбит/с, но и 4 сойдёт). В macOS запускается кастомный демон, который мапит память GPU через обнаруженные RDMA-процедуры. Приложение (например, llama.cpp) использует unified memory? Нет, всё сложнее: нужно адаптировать драйвер CUDA или Metal для работы поверх RDMA. Мы уже сравнивали Thunderbolt, RoCE v2 и Mellanox для RDMA-кластеров — и выводы обнадёживают: Thunderbolt 5 даёт задержку всего 1.5 мкс при P2P. Если привязать к этому NVIDIA — получим первую настоящую распределённую AI-станцию на Mac.

В теории это открывает дорогу к multi-GPU на Mac без переплаты за Apple Silicon Ultra. Ранее мы разбирали multi-GPU для LLM — NVLink, P2P драйверы, Linux-настройки. Теперь этот список пополнится Mac-овыми хаками. Ирония в том, что Linux-решения уже есть (Mellanox, ROCm), а Mac оставался в стороне. Но скрытые символы говорят: Apple сама готовила почву.

Но есть нюанс: Thunderbolt, драйверы и другие грабли

Даже если RDMA-символы удастся активировать через приватные фреймворки, остаётся проблема драйвера NVIDIA. Последний официальный — для High Sierra. Мы уже знаем, как AMD vs NVIDIA для обучения LLM — на Mac раньше можно было ставить NVIDIA, но теперь без дров. Однако community-драйверы (как Nvidia Web Driver для старых карт) существуют. Если RDMA-часть будет на стороне ОС, то остаётся написать слой совместимости с CUDA или DirectML. Это титаническая работа, но первые proof-of-concept уже появились на GitHub.

Осторожно: Использование недокументированных символов в macOS приведёт к отзыву подписи в SIP, возможно к крахам. Без права на ошибку. Но ставки высоки.

Что дальше? Если сообщество доведёт это до ума, то уже к зиме 2026 мы увидим работающую сборку llama.cpp на Mac с eGPU GeForce RTX 5090 (да, она выйдет позже, но RTX 4090 тоже подходит), где инференс будет идти на 48 ГБ VRAM с пропускной способностью 40 ГБ/с через zero-copy. MLX 26.2 и RDMA — эта тема уже не фантастика. Mac перестанет быть «красивой коробкой для блогеров» и станет серьёзным инструментом AI-энтузиаста.

Мой совет: не ждите официального релиза от Apple. Она вряд ли захочет поддерживать чужой GPU. Следите за форками на GitHub, пригодится любой Mac с Thunderbolt и пара свободных рук для пайки (шутка — паять ничего не нужно). Если найдёте символы сами — пишите в сообщество, а не прячьте под подушкой.

Подписаться на канал