Basically work (mostly) non-naive convolution; achieves ~3x speedup on my laptop