30.03.2022, 19:44
I was finally able to get vs-dpir working on my system with no CUDA installed.
The presence of CUDA_PATH is not relevant, this string is used only in the file onnxruntime_pybind_state.cc. The function TryGetProviderInfo_CUDA() is using the standard way used by windows to find the dlls, i.e. looking in the paths specified in the environment variable PATH.
So after having uninstalled CUDA, I created the folder "D:\Programs\Hybrid\64bit\cuda_11_4" and then I copied in this folder the files:
Then I added in the env variable PATH, the folder "D:\Programs\Hybrid\64bit\cuda_11_4". The vs-dpir is working perfectly using both CUDA and TensorRT engine.
If I remove from the path "D:\Programs\Hybrid\64bit\cuda_11_4" and move the files above in "Vapoursynth\Lib\site-packages\onnxruntime\capi" vs-dpir crash without any message.
It seems that on my system windows does not look in the onnxruntime\capi folder. I don't know way because torch, which is using the same approach, works as expected.
The presence of CUDA_PATH is not relevant, this string is used only in the file onnxruntime_pybind_state.cc. The function TryGetProviderInfo_CUDA() is using the standard way used by windows to find the dlls, i.e. looking in the paths specified in the environment variable PATH.
So after having uninstalled CUDA, I created the folder "D:\Programs\Hybrid\64bit\cuda_11_4" and then I copied in this folder the files:
cublas64_11.dll
cublasLt64_11.dll
cudart64_110.dll
cudnn64_8.dll
cudnn_cnn_infer64_8.dll
cudnn_ops_infer64_8.dll
cufft64_10.dll
cufftw64_10.dll
nvinfer.dll
nvinfer_plugin.dll
nvonnxparser.dll
nvparsers.dll
Then I added in the env variable PATH, the folder "D:\Programs\Hybrid\64bit\cuda_11_4". The vs-dpir is working perfectly using both CUDA and TensorRT engine.
If I remove from the path "D:\Programs\Hybrid\64bit\cuda_11_4" and move the files above in "Vapoursynth\Lib\site-packages\onnxruntime\capi" vs-dpir crash without any message.
It seems that on my system windows does not look in the onnxruntime\capi folder. I don't know way because torch, which is using the same approach, works as expected.