PS: There is another project Tensorlink that implements CUDA runtime, driver, BLAS, and DNN API hooks. 😁 You may be interested in this.
- Transport render api request through network.
- Supply fake render client dll to gather all render api, pack them up and send to server point.
- Handle render api on server side, then pack the response up and send back to client.
Build Environment: vs2019 + sdk19041
Usage:
- Set environment variables CLINK_HOST for server address.
- Set environment variables CLINK_PORT for server port.
- Set environment variables CLINK_NET for transport protocol, tcp or kcp.
- Set environment variables CLINK_UUID with uuid string.
- Put fake cuda dlls into the path where the execute file exists, the dll would be loaded by the program automatically.
mkdir build && meson compile -c build
Tips: Cuda 12.1 or newer needs to be installed completely on the host.
Usage:
./clink --port 9999 --net tcp --uuid 60fe43ab-6860-4317-88cc-968ee3c3f3ad
- We handled about 70 functions of cuda 12.1 driver api to make cinema4d oc-render work on any computer without nvidia graphics card.
- It is proved that we can use fake cuda dll to supply cuda render engine for application on windows.
- By the way, if it can work properly over a network, then it should certainly be able to operate correctly within a guest/host environment on a virtual machine.