Implementation - radumarias/rvirt-gpu GitHub Wiki
- Virtual GPU API: using wgpu create an
abstraction layer
for GPU
instructions
- vGPU (GPU driver): create a
GPU driver
that virtualizes the GPU, as a vGPU
- Local app: decrypts the data with the key from OS's
keyring
and runs on vGPU
- Network Communication Layer: Using tokio-rustls send the instructions to
GPU-coordinator
over TLS
- GPU-Coordinator: distribute the instructions to multiple real
GPU
s and sends back the results over TLS
.
- Server-Side GPU Execution
- using ash
- Rust-CUDA to run the instructions on the actual
GPU
s. GPU-Coordinator
sends back the results over TLS
.
- we can monitor the GPU with nvml-wrapper
- Handling Results: On the client side, deserialize the received results and make them available to the local application through the
Virtual GPU API
.