GPU render giving strange results

Hi guys,

I am trying to experiment with fluid physics, and cpu rendering is very slow for me. It speeds up a lot (nearly double) if I render the viewport with gpu. However, once I try to actually render it, it gives me a completely different result which is unusable. I would be able to render it with cpu selected, but 30 frames took 3 hours with only 100 samples.

Viewport:

Rendered:

Cpu Render:

I really hope someone can help, and I am sorry if this is in the wrong section but this seemed the best place to ask.

Thanks