Added diffusion (no opencl acceleration now).