Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
lupinemachines/lupine
Мост GPU-over-IP позволяет машинам без GPU использовать CUDA GPU, установленные на удалённых серверах, через сеть.
Open source альтернатива:Juice Labs
Thunder Compute
- Звёзды
- 2,451
- Форки
- 140
- Открытые issues
- 39
- Последний коммит
- 5 дней назад
Что это?
LUPINE перенаправляет вызовы CUDA driver и NVML с клиентской машины на сервер с физическими GPU. Программы на клиенте используют собственные CUDA runtime и библиотеки без изменений — по сети передаются только вызовы драйвера. Сервер запускается в Docker на машине с GPU, а контейнер клиента предоставляет shim-библиотеки libcuda и NVML, благодаря чему команды вроде nvidia-smi показывают удалённые устройства.
В переменной LUPINE_SERVER можно указать несколько серверов, и на клиенте их GPU будут отображаться единым списком устройств. Копирование данных между устройствами на разных серверах проходит через клиент. Сервер также предоставляет метрики Prometheus на своём RPC-порту и поддерживает HTTPS-адреса за прокси, завершающим TLS. Для подключений используются TCP keepalive и сжатие Zstd, а при получении SIGTERM сервер завершает уже выполняющиеся вызовы CUDA.
Проект написан на C++ и собирается с помощью CMake. Объекты клиента для Linux, macOS и Windows встроены в исполняемый файл сервера. Автор отмечает, что передача данных между устройствами работает медленнее, поскольку проходит по сети, тогда как при обучении моделей и инференсе данные на хост обычно передаются в небольшом объёме.
Ключевые возможности
- 01Перенаправляет вызовы CUDA driver и NVML, чтобы удалённые GPU отображались локально, в том числе в nvidia-smi.
- 02Принимает список из нескольких серверов и объединяет их GPU в единый список устройств.
- 03Предоставляет метрики Prometheus по памяти GPU, загрузке и процессам отдельных клиентов.
- 04Поддерживает HTTPS-адреса за прокси, завершающим TLS.
- 05Предоставляет Docker-образы для сочетаний версий CUDA и Ubuntu, а на сервере поддерживает HIP.
Сценарии использования
- Запуск обучения моделей или инференса с машины для разработки или CI без GPU, используя удалённый GPU-сервер.
- Совместное использование GPU в серверной стойке несколькими клиентскими машинами по сети.
- Мониторинг памяти и загрузки удалённых GPU через Prometheus.
Быстрый старт
- 1
Запустите сервер на машине с GPU
docker run --rm --gpus all -p 14833:14833 ghcr.io/lupinemachines/lupine-server:cuda-13.3.1-ubuntu24.04 - 2
Запустите клиент, указав адрес этого сервера
docker run --rm -it -e LUPINE_SERVER=<server>:14833 ghcr.io/lupinemachines/lupine-client:cuda-13.3.1-ubuntu24.04 nvidia-smi
Что важно знать
- Для запуска сервера требуется Docker и машина с GPU, поддерживающим CUDA.
- Образы клиента основаны на Ubuntu, а образ сервера рассчитан на определённые версии CUDA.
Темы
Частые вопросы
- Что такое lupine?
- Мост GPU-over-IP позволяет машинам без GPU использовать CUDA GPU, установленные на удалённых серверах, через сеть. LUPINE перенаправляет вызовы CUDA driver и NVML с клиентской машины на сервер с физическими GPU. Программы на клиенте используют собственные CUDA runtime и библиотеки без изменений — по сети передаются только вызовы драйвера. Сервер запускается в Docker на машине с GPU, а контейнер клиента предоставляет shim-библиотеки libcuda и NVML, благодаря чему команды вроде nvidia-smi показывают удалённые устройства.
- lupine можно использовать бесплатно? Какая у него лицензия?
- lupine распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lupine всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lupine — 15 окт. 2026 г..
- Для чего можно использовать lupine?
- Запуск обучения моделей или инференса с машины для разработки или CI без GPU, используя удалённый GPU-сервер. Совместное использование GPU в серверной стойке несколькими клиентскими машинами по сети. Мониторинг памяти и загрузки удалённых GPU через Prometheus.
- Как установить lupine?
- Запустите сервер на машине с GPU: docker run --rm --gpus all -p 14833:14833 ghcr.io/lupinemachines/lupine-server:cuda-13.3.1-ubuntu24.04 Запустите клиент, указав адрес этого сервера: docker run --rm -it -e LUPINE_SERVER=<server>:14833 ghcr.io/lupinemachines/lupine-client:cuda-13.3.1-ubuntu24.04 nvidia-smi
- Где скачать lupine?
- Исходный код и инструкции по установке — на GitHub: https://github.com/lupinemachines/lupine
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.
Открытая система для запуска, управления и масштабирования AI-нагрузок в Kubernetes, Slurm и более чем 20 облаках и у GPU-провайдеров через единый интерфейс.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
SGLang — открытый фреймворк для инференса больших языковых и мультимодальных моделей, а также diffusion-моделей на GPU, TPU и CPU разных платформ.