I am in the process (just begun) of coding the SIFT algorithm in CUDA. I use C# for the user to add images to the application.
So far I have managed to covert the image to a 2D double array on the host side. What I wish to do is to have one thread do the SIFT computations for one image, i.e one 2D array, thereby allowing separate threads to process separate images. Furthermore I hope to pass all the image data to the device by using a 3D array, where the row and column will contain the normalized pixel values for each image, which is identified by the 3rd dimension.
At the moment I am having difficulty in passing a 2D/3D array to the device. Any advice would be most appreciated.
Furthermore any comments, suggestions on the above mentioned method would be helpful.
Thanks in advance.