BTW: I thought about that unaswered question from the 2011 mathgroup post and came up with: Needs["CUDALink`"];
test[n_] := Module[{m = 2^n, a, b, lico},
{a, b} = RandomReal[1, {2, m}];
lico = ListConvolve[a, b, {1, 1}];
{AbsoluteTiming[
Total[Chop[lico - Sqrt[m]*InverseFourier[
Fourier[a]*Fourier[b]],
10^(-8)]] === 0], AbsoluteTiming[
Total[Chop[lico - Sqrt[m]*
CUDAInverseFourier[CUDAFourier[a]*
CUDAFourier[b]], 10^(-8)]] === 0]}]; calling now test[20] or so shows that the CUDA version is three times slower. ? Why that. Is the data transfer that costly? How could I do a CUDAListConvo…