title: CUDA convolution - non separable kernels
body: <p>I need to implement an efficient version of an image convolution with non-separable kernels (so CUDA's sdk is useful just for the FFT example, but it is clearly stated that it works great only for big kernel sizes)</p>
  
  <p>Aside from implementing it from scratch as comes to my mind, my need is to operate on priori-unknown-sizes matrices and kernels (they can be 10x10 as 20.000x20.000, I simply can't predict it)</p>
  
  <p>What are your suggestions regarding the FFT example? (if this is your best pick, please provide me some good point to start figuring out how that works)</p>
  
  <p>And for the second pick (manually implementing the convolution by myself), what the suggestions to maximize memory coalescence?</p>