Sé que en el dominio del tiempo la convolución es una operación bastante costosa entre dos matrices y puede realizarla en el dominio de frecuencia transformándolas en el plano complejo y usando la multiplicación (y luego en el dominio del tiempo)Convolución con FFT, ¿cómo funciona esto?
De todos modos no entiendo cómo se realiza esto en el SDK de CUDA donde los datos y el kernel se rellenan y colocan en dos búferes (m_PaddedKernel y m_PaddedData), esto debería ser para acelerar el método Cooley-Tuckey, luego se llama a la función cufftExecC2C para transformar primero el Kernel (y ¿por qué C2C? complejo a complejo, ¿por qué no de real a complejo?) en el plano complejo y luego todos los datos en el mismo plano
El kernel definido spProcess2D_kernel activa un d parece que se normaliza y ejecuta la multiplicación entre datos y kernel en el dominio de la frecuencia (¿cómo hacer la multiplicación de dos funciones? Creo que se refieren a la composición de las dos funciones) y de vuelta con la transformación C2C (todavía preguntándose por qué C2C y no C2R)
¿Te refieres al ejemplo 'simpleCUFFT.cu'? –
sí señor, exactamente –