Open Source Project

GhostGPU

Your own private AI GPU. No cloud. No monthly fees. A wireless eGPU bridge powered by Raspberry Pi.

A project by Leo Joachim Atienza

18–28
tokens / sec
<1ms
Pi hop latency
~$280
total build cost

What is GhostGPU?

GhostGPU is an open-source wireless eGPU bridge system. It makes your laptop behave as if it has a local GPU — when in reality, the GPU lives on a separate machine connected over your home network.

🔗

Raspberry Pi Bridge

A Pi acts as the network gateway — receiving workloads from your laptop over Wi-Fi and forwarding them to the GPU over wired PCIe/Ethernet.

🔒

Complete Privacy

Your data never leaves your network. No cloud uploads, no third-party servers, no subscriptions. Runs entirely on hardware you own.

AI Inference Focus

Designed for local LLM inference, image generation, ML training, and batch compute — not gaming. Optimized for throughput over frame latency.

Why GhostGPU exists

Millions of laptops and ultrabooks ship without a dedicated GPU. Cloud GPU services are expensive and require uploading private data to third-party servers. There's no affordable, private, open-source alternative — until now.

💸

Cloud is Expensive

Cloud GPU services cost $0.50–$3.00/hr. For students, hobbyists, and indie devs, those costs add up fast — often exceeding the cost of owning hardware outright.

🚫

No Existing Appliance

Solutions like SCUDA and rCUDA are pure software — they assume you already have server hardware. Nobody ships a dedicated Pi-based GPU bridge as a consumer product.

🏠

Privacy Matters

Uploading sensitive data, code, or documents to cloud GPU providers isn't always an option. GhostGPU keeps everything on your own network.

v2.0 — Wired Pi Edition

The signal path has exactly one wireless hop. Everything else is wired Gigabit Ethernet or direct PCIe. This eliminated the dual-wireless bottleneck from v1.0.

💻
Laptop
Any OS
→→→ Wi-Fi 5GHz only wireless hop
📡
Router
5GHz band
→→→ Gigabit ETH wired
🍓
Raspberry Pi 5
Bridge gateway
→→→ PCIe / OCuLink wired
🎮
AMD RX 580
8GB · gfx803
# Key design decision in v2.0
# v1.0: Laptop → Wi-Fi → Router → Wi-Fi → Pi (two wireless hops, 5–25ms jitter)
# v2.0: Laptop → Wi-Fi → Router → Ethernet → Pi (one wireless hop, <1ms Pi hop)

# The Pi connects to the router via Ethernet, not Wi-Fi.
# This single change cut Pi-hop latency from 5–25ms to sub-1ms.

Bill of Materials

Everything you need to build GhostGPU. Estimated total: ~$235–320 CAD. Most components available on Amazon, eBay, Newegg, CanaKit, or PiShop.us.

Component Spec Est. Cost (CAD)
AMD RX 580 8GB gfx803 Polaris · 8GB GDDR5 ~$40–55
Raspberry Pi 5 4GB or 8GB RAM ~$75–95
Pineboards uPCIty Lite HAT PCIe x4 open-ended slot ~$45
M.2 to OCuLink adapter + ReDriver if needed ~$20–30
ATX PSU 400W+ (used is fine) ~$25–40
MicroSD Card 32GB+ Class 10 / A2 ~$10–20
Ethernet Cable Cat5e or Cat6 ~$5
Active Cooler Official Pi 5 or Pimoroni ~$10
ATX 24-pin Jumper Run PSU standalone ~$5
Total estimated build cost ~$235–320

Three Phases

Ordered from simplest to most powerful. Start with Phase 1 to validate your hardware before investing time in Phase 2 or 3.

Phase 1 Recommended Start

llama.cpp Server

Run an AI model on the RX 580 over the network. Your laptop sends prompts via HTTP and receives outputs — no local GPU work. Uses ROCm with HIP backend for AMD GPU acceleration.

Performance 18–28 tok/s (Mistral 7B Q4)
Stack llama.cpp + ROCm 6.0.2 + HIP
Difficulty Low
# Build llama.cpp with AMD GPU support
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp && mkdir build && cd build
cmake .. -DLLAMA_HIPBLAS=ON -DAMDGPU_TARGETS=gfx803
cmake --build .

# Start the server
./bin/llama-server -m ../models/mistral-7b-q4.gguf --host 0.0.0.0 --port 8080
Phase 2

ROCm Remote Execution

Transparent GPU offloading using PyTorch + a gRPC/HTTP server on the Pi. Your laptop code stays the same — you just swap the forward pass to hit the Pi. Full tensor serialization over the network.

Stack PyTorch + FastAPI + ROCm
Difficulty Medium
Phase 3

Vulkan Compute (GPU-Agnostic Fallback)

If ROCm proves unstable, Phase 3 uses Vulkan compute — which the RX 580 supports fully (Vulkan 1.2) — as a hardware-agnostic alternative. Uses Kompute + FastAPI. Works with any Vulkan-capable GPU.

Stack Kompute + FastAPI + Vulkan 1.2
Difficulty Hard

Key Technical Notes

Critical configuration details and design decisions that will save you hours of debugging.

# ── Critical environment flags ──────────────────────────────
export HSA_OVERRIDE_GFX_VERSION=8.0.3
export AMDGPU_TARGETS="gfx803"

# ── ROCm version pinning (ESSENTIAL) ────────────────────────
# ROCm 6.1+ DROPPED Polaris (gfx803) support
# You MUST use ROCm 6.0.2 for the RX 580

# ── GPU verification ────────────────────────────────────────
rocminfo | grep -A5 'Agent 2'
# Should show: Name: gfx803 (this is the RX 580 identifier)

# ── Why AMD over NVIDIA? ────────────────────────────────────
# Open-source ARM driver compatibility on Raspberry Pi
# NVIDIA requires proprietary drivers — not viable on Pi's ARM SoC

How GhostGPU is Different

GhostGPU fills a specific gap: a dedicated, open-source, Pi-based hardware appliance for wireless GPU compute. Nobody else has shipped this as a consumer product.

SCUDA

Pure software — no hardware appliance

Assumes you already have server hardware with a GPU. GhostGPU adds the dedicated Pi-based PCIe-to-network hardware gateway that SCUDA doesn't provide.

rCUDA

CUDA-only — NVIDIA-only

Locked to NVIDIA's proprietary ecosystem. GhostGPU targets AMD GPUs with fully open-source drivers that work on ARM (Pi).

VMware Bitfusion

Enterprise — proprietary & expensive

Enterprise-grade GPU virtualization. Requires VMware licensing. GhostGPU is open-source and costs under $300 in hardware.

Jeff Geerling's Pi eGPU

Proof of concept — not a product

Proved PCIe on Pi 5 is viable. GhostGPU builds on this foundation to create a complete networked GPU bridge system with software stack.

Expected Results

Benchmarks from Phase 1 (llama.cpp) on the RX 580 8GB with wired Pi architecture.

GhostGPU (RX 580)
18–28 tok/s
CPU Only (i7 laptop)
2–4 tok/s

✓ Best Workloads

LLM inference (Mistral, LLaMA, etc.) · Image generation (Stable Diffusion) · ML training on small–medium datasets · Batch compute and data processing

✗ Not Recommended

Real-time gaming (latency too high) · Live video encoding · Latency-critical applications under 1ms · Large-scale distributed training

What's Next

GhostGPU is under active development. Here's where we're headed.

Near-term
Phase 1 Proof of Concept
Complete Phase 1 validation with Pi 5 + OCuLink + RX 580. Confirm llama.cpp performance benchmarks. Publish setup guide and build documentation.
Mid-term
Phase 2 Remote Execution
PyTorch remote execution via FastAPI. systemd auto-start for unattended operation. Multi-model support and model hot-swapping.
Long-term
Product & Ecosystem
Phase 3 Vulkan fallback. Pre-built hardware kits. SaaS management dashboard. Multi-GPU cluster support. Alternative GPU testing (Intel Arc, newer AMD).

Getting Started

From zero to running LLM inference on your own GPU — in 7 steps.

1

Acquire Hardware

Get everything from the bill of materials above. Used RX 580s are plentiful and cheap.

2

Flash Pi OS

Write Raspberry Pi OS Lite (64-bit) to your microSD card using the Pi Imager.

3

Wire the Pi

Connect Pi to your router via Ethernet. Attach RX 580 via uPCIty Lite HAT + OCuLink adapter.

4

Install ROCm 6.0.2

Install the AMD GPU compute stack. Verify with rocminfo | grep gfx803.

5

Build llama.cpp

Clone and compile with -DLLAMA_HIPBLAS=ON -DAMDGPU_TARGETS=gfx803.

6

Download a Model

Grab a GGUF model (e.g., Mistral 7B Q4) from Hugging Face and place it in the models directory.

7

Start & Connect

Run the server, then point your laptop browser to http://<pi-ip>:8080 — done.

Contributing

GhostGPU is open-source and welcomes contributions. Here are the areas where help is most needed:

🔧

GPU Remoting Software

Phase 3 Vulkan compute and full GPU API interception — the hardest unsolved piece of the project.

🖥️

Multi-GPU & Alt Hardware

Testing with Intel Arc, newer AMD GPUs, multi-GPU setups, and different Pi configurations.

📖

Docs & Guides

Improving setup documentation, writing tutorials, and creating video walkthroughs for the community.

GHOSTGPU · ORIGINAL CONCEPT BY LEO JOACHIM ATIENZA · 2026