Can VPI works only the x86?

Can I use VPI on x86 ? the thiere is no cuda device on the x86 machine?

For now,I compiled the [first application ] in VPI in the x86 ubuntu docker container,
it said that no which is needed.

[ 50%] Building CXX object CMakeFiles/VPI_basic.dir/basic.cpp.o
[100%] Linking CXX executable VPI_basic
/usr/bin/ld: warning:, needed by /opt/nvidia/vpi-0.4/targets/x86_64-linux/lib/, not found (try using -rpath or -rpath-link)
/opt/nvidia/vpi-0.4/targets/x86_64-linux/lib/ undefined reference to `cuCtxGetApiVersion’
collect2: error: ld returned 1 exit status
CMakeFiles/VPI_basic.dir/build.make:100: recipe for target ‘VPI_basic’ failed
make[3]: *** [VPI_basic] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/VPI_basic.dir/all’ failed
make[2]: *** [CMakeFiles/VPI_basic.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target ‘CMakeFiles/VPI_basic.dir/rule’ failed
make[1]: *** [CMakeFiles/VPI_basic.dir/rule] Error 2
Makefile:118: recipe for target ‘VPI_basic’ failed
make: *** [VPI_basic] Error 2


Please install CUDA toolkit on your x86 device first.
The package can be found in this page:


I can confirm that installing CUDA toolkit solves the initial linking issue on a x86 machine with no CUDA device. But when attempting to run one of the VPI sample applications with the CPU backend, the error below comes up. Is a CUDA device required to run VPI with the CPU backend?

jeff@XXXXXX:/opt/nvidia/vpi/samples/06-klt_tracker$ ./vpi_sample_06_klt_tracker cpu …/assets/dashcam.mp4 …/assets/dashcam_bboxes.txt frame.png
VPI_ERROR_INTERNAL: (cudaStreamCreate:cudaErrorNoDevice)