Virtualizing General Purpose GPUs for High Performance Cloud Computing: An Application to a Fluid Simulator