Project Website:

2014. Hoetzlein, R. “Fast Fixed-Radius Nearest Neighbors: Interactive Million-Particle Fluids”. GPU Technology Conference (GTC) 2014. Santa Clara, CA.

Fluids v.3 is a large-scale, open source fluid simulator for the CPU and GPU using the smooth particle hydrodynamics method. Fluids is capable of efficient simulation of millions of particles on the GPU at interactive rates. The key innovation in Fluids v.3 is a novel solution to the fixed-radius nearest neighbor problem using 1-radix sorting.

The goal of Fluids v.3 is to enable next-generation software for motion picture production, media arts, and interdisciplinary research. Most modern software for fluid simulation relies on CPU-based, classical techniques for high quality results, yet take days or weeks for a single simulation. To enable gaming and media arts, visual effects must be accessible to the individual artist both in cost and performance. To move toward this goal, Fluids v.3 is fully open source, and utilizes low-cost GPU hardware to simulate large scale effects in real time.

Fluids v.3 has been adopted by researchers in physics, hydrodynamics, geology and astronomy.


  1. Hello. My name is DJ Byun. I’m a vfx artist. Reading your article, I have a question. Where do we run the counting sort? Is it running per thread(per particle) in GPU or is it running once in CPU?

  2. Hi DJ,
    The sorting is done on GPU. Those steps are: 1) insert, 2) prefix sum, 3) copy. Each step is done with a hardware thread per particle, which enables millions of particles in parallel on GPU. There is also CPU code for comparison which does the same thing using a for loop (sequentially).

Leave a Reply to rchz Cancel reply

Your email address will not be published.