I am getting started with CUDA programming, mainly to use the cuFFT libraries for rapid image processing and fourier transforms on the GPU.
I am looking to accomplish the following: capture an image from a Point Grey camera, and apply a fast fourier transform (FFT) to the image on the GPU.
I have a camera driver program already programmed in c++ with Flycapture (camera) and OpenCV libraries that will capture an image and convert the image to a usable 2D matrix. The CUDA program I am looking to create will include the FFT algorithm I am looking to implement.
My main question: is it considered bad programming practice to include everything into a single CUDA file? Should the camera driver program (.cpp) be kept separate from the FFT program (.cu), and then compiled together? Does this make a big difference whether they are separate files? If kept separate, can someone point me in the right direction for sharing image data between the c++ and CUDA file?