sparse matrix multiply in cuda, and FFT using it