OpenAI 호환 API로 대규모 언어 모델을 빠르고 메모리 효율적으로 실행하고 서빙하는 라이브러리 및 서버입니다.
lupinemachines/lupine
네트워크를 통해 CPU 전용 머신에서 원격 서버의 CUDA GPU를 사용할 수 있게 해주는 GPU-over-IP 브리지입니다.
대체할 수 있는 제품:Juice Labs
Thunder Compute
- 스타
- 2,451
- 포크
- 140
- 열린 이슈
- 39
- 마지막 커밋
- 5일 전
어떤 프로젝트인가요?
LUPINE은 클라이언트 머신에서 발생한 CUDA 드라이버 및 NVML 호출을 실제 GPU가 장착된 서버로 전달합니다. 클라이언트의 프로그램은 자체 CUDA runtime과 라이브러리를 변경 없이 사용하며, 드라이버 호출만 네트워크를 통과합니다. 서버는 GPU 머신에서 Docker로 실행되고, 클라이언트 컨테이너는 libcuda 및 NVML shim을 제공해 nvidia-smi 같은 명령어로 원격 장치를 조회할 수 있습니다.
하나의 LUPINE_SERVER 값에 서버를 여러 대 지정할 수 있으며, 클라이언트에서는 서버들의 GPU가 하나의 ordinal 목록으로 표시됩니다. 서버 간 장치 대 장치 복사는 클라이언트를 거쳐 처리됩니다. 서버는 RPC 포트에서 Prometheus 메트릭도 제공하며, TLS 종료 프록시 뒤의 HTTPS 엔드포인트를 지원합니다. 연결에는 TCP keepalive와 Zstd 압축을 사용하고, 서버는 SIGTERM을 받으면 진행 중인 CUDA 호출을 처리한 뒤 종료합니다.
이 프로젝트는 C++로 작성되었으며 CMake로 빌드합니다. Linux, macOS, Windows 클라이언트 객체는 서버 실행 파일에 포함됩니다. 작성자는 데이터 전송이 네트워크를 거치므로 느려지지만, 모델 학습과 추론에서는 일반적으로 호스트로 이동하는 데이터가 적다고 설명합니다.
핵심 기능
- 01CUDA 드라이버 및 NVML 호출을 전달해 원격 GPU를 로컬에서 사용할 수 있으며, nvidia-smi에서도 조회할 수 있습니다.
- 02하나의 엔드포인트 목록에 여러 서버를 지정하고, 각 서버의 GPU를 하나의 장치 목록으로 통합합니다.
- 03GPU 메모리와 사용률, 클라이언트별 프로세스의 Prometheus 메트릭을 제공합니다.
- 04TLS 종료 프록시 뒤의 HTTPS 엔드포인트를 지원합니다.
- 05CUDA 및 Ubuntu 버전 조합별 Docker 이미지를 제공하며, 서버에서 HIP도 지원합니다.
활용 사례
- CPU 전용 개발 머신이나 CI 머신에서 원격 GPU 서버를 대상으로 GPU 학습 또는 추론을 실행합니다.
- 네트워크를 통해 서버 랙의 GPU를 여러 클라이언트 머신과 공유합니다.
- Prometheus를 통해 원격 GPU 메모리와 사용률을 모니터링합니다.
빠른 시작
- 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
사용 전 알아둘 점
- 서버를 실행하는 GPU 머신에는 Docker와 CUDA를 지원하는 GPU가 필요합니다.
- 클라이언트 이미지는 Ubuntu 기반이며, 서버 이미지는 특정 CUDA 버전을 대상으로 합니다.
토픽
자주 묻는 질문
- lupine은(는) 무엇인가요?
- 네트워크를 통해 CPU 전용 머신에서 원격 서버의 CUDA GPU를 사용할 수 있게 해주는 GPU-over-IP 브리지입니다. LUPINE은 클라이언트 머신에서 발생한 CUDA 드라이버 및 NVML 호출을 실제 GPU가 장착된 서버로 전달합니다. 클라이언트의 프로그램은 자체 CUDA runtime과 라이브러리를 변경 없이 사용하며, 드라이버 호출만 네트워크를 통과합니다. 서버는 GPU 머신에서 Docker로 실행되고, 클라이언트 컨테이너는 libcuda 및 NVML shim을 제공해 nvidia-smi 같은 명령어로 원격 장치를 조회할 수 있습니다.
- lupine은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- lupine은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- lupine은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. lupine의 마지막 커밋은 2026년 10월 15일입니다.
- lupine은(는) 어디에 사용할 수 있나요?
- CPU 전용 개발 머신이나 CI 머신에서 원격 GPU 서버를 대상으로 GPU 학습 또는 추론을 실행합니다. 네트워크를 통해 서버 랙의 GPU를 여러 클라이언트 머신과 공유합니다. Prometheus를 통해 원격 GPU 메모리와 사용률을 모니터링합니다.
- 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를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Transformer 모델의 GPU 학습과 추론을 위한 메모리 효율적인 exact attention 커널 FlashAttention의 공식 구현입니다.
하나의 인터페이스로 Kubernetes, Slurm, 20개 이상의 클라우드 및 GPU 제공업체에서 AI 워크로드를 실행·관리·확장하는 오픈소스 시스템입니다.
대규모 모델의 분산 학습과 추론을 더 쉽고 효율적으로 지원하는 딥러닝 최적화 라이브러리입니다.
대형 언어 모델을 레이어별로 실행해 양자화 없이도 70B급 모델을 단일 4GB GPU에서 추론할 수 있는 Python 라이브러리입니다.
SGLang은 다양한 GPU, TPU, CPU 플랫폼에서 대규모 언어·비전 언어·디퓨전 모델을 서빙하는 오픈소스 추론 프레임워크입니다.