OpenAI互換APIで大規模言語モデルを実行・提供する、高速でメモリ効率に優れたライブラリ兼サーバー。
lupinemachines/lupine
ネットワーク経由で、CPUのみのマシンからリモートサーバー上のCUDA GPUを利用できるGPU over IPブリッジ。
代替できる製品:Juice Labs
Thunder Compute
- スター
- 2,451
- フォーク
- 140
- 未解決の Issue
- 39
- 最終コミット
- 5 日前
これは何?
LUPINEは、クライアントマシンから物理GPUを搭載したサーバーへCUDAドライバーとNVMLの呼び出しを転送します。クライアント上のプログラムは、CUDAランタイムとライブラリを変更せずにそのまま実行でき、ネットワークを通るのはドライバー呼び出しだけです。サーバーはGPUマシン上のDockerで動作し、クライアントコンテナにはlibcudaとNVMLのshimが用意されるため、nvidia-smiなどのコマンドからリモートデバイスを確認できます。
1つのLUPINE_SERVERの値に複数のサーバーを指定でき、それらのGPUはクライアント上で1つの連番リストとして表示されます。サーバーをまたぐデバイス間コピーは、クライアントを経由して行われます。サーバーはRPCポートでPrometheusメトリクスも公開し、TLS終端プロキシの背後にあるHTTPSエンドポイントにも対応しています。接続にはTCP keepaliveとZstd圧縮を使用し、サーバーはSIGTERMを受け取ると処理中のCUDA呼び出しが完了するまで待機します。
プロジェクトはC++で記述され、CMakeでビルドされます。Linux、macOS、Windows向けのクライアントオブジェクトはサーバー実行ファイルに埋め込まれています。作者によると、デバイス転送はネットワークを経由するため遅くなりますが、モデルの学習や推論では通常、ホストとのデータのやり取りは少量です。
主な機能
- 01CUDAドライバーとNVMLの呼び出しを転送し、nvidia-smiからも含め、リモートGPUをローカルにあるかのように利用できます。
- 021つのエンドポイントリストに複数のサーバーを指定でき、それらのGPUを1つのデバイスリストにまとめて表示します。
- 03GPUメモリ、使用率、クライアントごとのプロセスに関するPrometheusメトリクスを公開します。
- 04TLS終端プロキシの背後にあるHTTPSエンドポイントに対応しています。
- 05CUDAとUbuntuのバージョンの組み合わせに対応したDockerイメージを提供し、サーバーではHIPもサポートします。
ユースケース
- CPUのみの開発マシンやCIマシンから、リモート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は、クライアントマシンから物理GPUを搭載したサーバーへCUDAドライバーとNVMLの呼び出しを転送します。クライアント上のプログラムは、CUDAランタイムとライブラリを変更せずにそのまま実行でき、ネットワークを通るのはドライバー呼び出しだけです。サーバーはGPUマシン上のDockerで動作し、クライアントコンテナにはlibcudaとNVMLのshimが用意されるため、nvidia-smiなどのコマンドからリモートデバイスを確認できます。
- lupine は無料で使えますか?ライセンスは?
- lupine は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- lupine は今もメンテナンスされていますか?
- 活発にメンテナンス中。lupine の最終コミットは 2026年10月15日 です。
- lupine は何に使えますか?
- CPUのみの開発マシンやCIマシンから、リモート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 の数値は毎日更新されます。
関連プロジェクト
GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
Kubernetes、Slurm、20以上のクラウドやGPUプロバイダーで、AIワークロードの実行・管理・スケールを一元的に行えるオープンソースシステム。
大規模モデルの分散学習と推論を、より簡単かつ効率的にする深層学習最適化ライブラリ。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
SGLangは、多様なGPU、TPU、CPU環境で大規模言語モデル、ビジョン言語モデル、拡散モデルを提供するオープンソース推論フレームワークです。