problem 2 - removed unnecessary branching from kernel and uses shared memory for filter (1.554944 ms)