SCUDA is a CUDA over IP bridge allowing GPUs on remote machines to be attached to CPU-only machines.
You can find prebuilt binaries in the release tab
There is also a Docker image ghcr.io/k0in/scuda:latest which can be used.
For an example setup you can look at docker-compose.yml.
Build using earthly
earthly +all
if you want to cross compile (supported: linux/arm64 and linux/amd64) the binaries, you can also run
earthly +cross
If you want to build it using plain docker you can also build the provided docker file.
docker build --build-arg BASE_IMAGE=nvidia/cuda:12.6.2-devel-ubuntu24.04 . -t scuda:local
To use SCUDA, ensure the server is running on a machine with a GPU:
scuda-serveror using docker
docker run --gpus all -p 14833:14833 ghcr.io/k0in/scuda:latestThe server port can be changed using the environment variable SCUDA_PORT.
On the client machine, set the SCUDA_SERVER environment variable to the server's IP and set the SCUDA_PORT if modified, and preload the SCUDA library:
export SCUDA_SERVER=<ip>:port
LD_PRELOAD="libscuda.so" nvidia-smiI (K0IN) did nothing exepct writing a dockerfile, readme and a build that i can understand.
ALL CREDITS GO TO THE AWESOME WORK OF kevmo314 the original author of this project. thank you for your work.