Implementation of 1/2/3d separable convolution using CUDA