← all repositories
lupinemachines/lupine

Your laptop just borrowed a data-center GPU over Wi-Fi

LUPINE fakes the CUDA driver so CPU-only machines can rent remote GPUs as if they were local.

lupine
Not currently ranked — collecting fresh signals.
star history

What it does LUPINE is a pair of shims — libcuda.so.1 and libnvidia-ml.so.1 — plus an HTTP/2 server. The client side intercepts CUDA and NVML calls, serializes them, and ships them to a remote machine that owns the actual GPU. The server runs the real driver and returns results. To applications, the remote GPU looks like cuda:0.

The interesting bit The project auto-generates its RPC layer by parsing NVIDIA’s own headers (CUDA, cuBLAS, cuDNN, NVML) with a Python codegen script. The author cheerfully admits some of the repo is AI-generated — “would you want to hand write hundreds of tedious API stubs?” — which is both honest and plausible given the surface area.

Key highlights

  • Multi-server support: comma-separated LUPINE_SERVER values pool GPUs from several hosts into one local ordinal list
  • Runs fully inside Docker; published client and server images for CUDA 12.4.1 and 13.1.0 on Ubuntu 22.04/24.04
  • Mac-to-Linux demo works: an arm64 Darwin machine can fire up a container and see a remote RTX 4090 as cuda:0
  • PyTorch training verified via a microgpt_train test that exercises real backprop on the remote card
  • TLS and auth are left to your reverse proxy; the server itself is plain HTTP/2 on port 14833

Caveats

  • Cross-server peer access and device-to-device copies are not implemented; multi-GPU jobs must fit on one server’s cards
  • The README warns against video encode/decode workloads — too PCIe-hungry — unless you happen to have a 1 Tbps link lying around
  • Building from source requires the full NVIDIA SDK stack installed locally just to run codegen

Verdict Worth a look if you want to turn a rack of headless GPU boxes into a shared pool for training, or if you’re stuck on a Mac and tired of cloud notebooks. Not a replacement for local GPU workstations where latency matters, and not yet a drop-in fix for multi-node NCCL jobs.

Frequently asked

What is lupinemachines/lupine?
LUPINE fakes the CUDA driver so CPU-only machines can rent remote GPUs as if they were local.
Is lupine open source?
Yes — lupinemachines/lupine is open source, released under the Apache-2.0 license.
What language is lupine written in?
lupinemachines/lupine is primarily written in C++.
How popular is lupine?
lupinemachines/lupine has 2.3k stars on GitHub.
Where can I find lupine?
lupinemachines/lupine is on GitHub at https://github.com/lupinemachines/lupine.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.