I had built OpenCV with GPU support using CMAKE. My Windows system has CUDA toolkit 5.0 installed and has an NVIDIA GeForce Graphics card. I am using the BroxOpticalFlow algorithm in OpenCV inside my application successfully (Using Visual Studio 2008).
What I want to do now is to have my application (with OpenCV) run on any user system. Inside my application I do check whether an NVIDIA card is there on the system or not and if not, then it has a fallback software implementation for the optical flow algorithm. But what I am confused about is
- Whether the user system will still need to have NVIDIA toolkit installed on their system for my application to even load properly?
Currently, I am adding cudart64_50_35.dll, npp64_50_35.dll and cufft64_50_35.dll in the application executable folder. The other questions are -
- Should these dlls go into a program files folder as a part of my application, Or would it be better to install them into the system32 folder and if so, then how do i reference them into my application?
- Are there any other CUDA dependencies that i need to worry about for a user system that does not have an NVIDIA card for my application to load and be able to run the software fallback?