A set of utilities for running Vulkan API commands remotely over the network, while presenting the results locally on the client.
This allows easily using a remote GPU for executing GPU-accelerated Vulkan programs, without sharing the program's code with the server providing GPU compute resources.
This repository contains 4 components:
- A protobuf library containing definitions required for calling Vulkan API functions over the network using gRPC.
- A library for serializing the parameters of Vulkan API calls to gRPC.
- A server binary that calls requested Vulkan API functions and returns the results of the functions.
- A Vulkan Layer that intercepts certain Vulkan API calls and sends them to the Vulkan server, while still presenting the results using the client's GPU.
The project uses CMake as a build system.
The following CMake options affect the build:
VVK_LAYERspecifies whether to build the VirtualVulkan Layer.
The install directory should be configured using CMAKE_INSTALL_PREFIX.
For documentation on the proper install directory, consult the official Khronos documentation on where implicit layers should be installed.