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.

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_SERVERvalues 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_traintest 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.