SIFT - Gaussian Convoultion

Hi,
I am in the process of developing SIFT to run on CUDA and I need some advice. As the first step in SIFT I need to run Gaussian convolutions on an image.
What I hope to do is to, create a 1D array of size width*height and copy that to the device and do the calculations.

What I would like to know is, whether this is the best way to do this ?

Thanks in advance.

Regards,
iat

There is an example of 2D convolution in the SDK, convolutionSeparable, start there.

Just for information: SIFT on the GPU is already done by “MÃ¥rten Björkman” (http://www.csc.kth.se/~celle/) and “Changchang Wu” (http://www.cs.unc.edu/~ccwu/siftgpu/).

Don’t forget GPU-SURF, it’s a variation on SIFT, but most of the calculations I propose in the paper are also applicable to SIFT.
It runs at 100+FPS on a GF8800GTX.

http://homes.esat.kuleuven.be/~ncorneli/gpusurf/ (best paper award @ CVGPU 2008)

N.

Hi,

Many thanks to everyone who replied. Yes I did see the other two implementations on SIFT. However I’d like to try and have a go at implementing one also.

I also ran into the issue of passing a 2d array to a global function. Can anyone point out the correct syntax for doing this.

Thanks,

iat.