A CUDA implementation of SIFT