answered 2014-02-13 11:06:50 -0600
GPU filters don't work in-place. Use different GpuMat objects for input and output parameters:
GpuMat
cv::gpu::GpuMat gpuinput=...; cv::gpu::GpuMat gpuoutput; cv::gpu::filter2D(gpuinput,gpuoutput,gpuinput.depth(),ker);