Image_convolution_2D Two-dimensional image convolution for large images and large kernels, CPU and GPU implementations