LUPINE 是一种基于 IP 的 GPU 桥接器,允许将远程机器上的 GPU 连接到仅支持 CPU 的机器。
LUPINE 是一种基于 IP 的 GPU 桥接器,可允许将远程机器上的 GPU 连接到 到仅支持 CPU 的机器。
使用已发布的 GHCR 图像。以下示例将 CUDA 13.3.1 固定在
Ubuntu 24.04;其他发布的标签使用相同的
cuda-<cuda 版本>-ubuntu<ubuntu 版本> 格式。
在 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在远程 RTX 4090 上进行实际运行的示例输出:
…在客户端容器中,LD_LIBRARY_PATH=/opt/lupine/lib 已经设置好,因此 CUDA 驱动程序用户会自动获取 LUPINE libcuda.so.1 代理,而 NVML 用户(例如 nvidia-smi) 也会自动获取 LUPINE libnvidia-ml.so.1 代理。
端点报告了主机 GPU 内存容量、内存使用情况和利用率,以及每个连接的客户端进程的内存和利用率。此外,它还导出了客户端身份、Lupine 连接子进程和 NVML 报告的主机 PID 之间的映射。值在请求 /metrics 时被收集,因此服务器不会进行后台 NVML 探测。
每个生产服务器可执行文件都包含对应的 Linux、macOS 和 Windows 客户端对象(用于 amd64 和 arm64),没有与之配套的客户端包目录。Python 客户端从 /.well-known/lupine/client/v1/<os>/<arch> 中获取当前对象,验证其强 ETag、内容摘要、清单和文件哈希,并将其缓存到本地。选定的 ETag 在 RPC 连接打开时也会被确认,从而避免了发现和服务器升级之间的竞争。LUPINE_LIBDIR 仍然是开发时的明确本地覆盖。Linux 客户端对象针对 manylinux2014 ABI(glibc 2.17)并静态地包含其私有 C++、HTTP/2 和 TLS 代码。
暂无开放 Issues,或尚未同步最近议题。