  One of the current challenges in physically-based simulations, and, more
specifically, fluid simulations, is to produce visually appealing results at
interactive rates, capable of being used in multiple forms of media. In recent
times, a lot of effort has been made with regards to this with the use of
multi-core architectures, as many of the computations involved in the
algorithms for these simulations are very well suited for these architectures.
Although there is a considerable amount of works regarding acceleration
techniques in this field, there is yet room to further explore and analyze some
of them. To investigate this problem, we surveyed the topic of fluid
simulations and some of the recent contributions towards this field.
Additionally, we implemented two versions of a fluid simulation algorithm, one
on the CPU and the other on the GPU using NVIDIA's CUDA framework, with the
intent of gaining a better understanding of the effort needed to move these
simulations to a multi-core architecture and the performance gains that we get
with it.
