The objective in this project was to improve an existing simulator for people studying the dynamics of biofilm formation in bacterial ecosystems. The simulator used the concept of individual-based modeling, where local interactions between individual bacteria evolving in a controlled environment were used to characterize the emergent global behavior leading to the formation of biofilms. The original simulator was written in a traditional serial programming model, which seriously limited its speed and scalability to model realistic large-scale systems containing millions of bacteria.

After a careful profiling of the original code, we detected that one of the main bottlenecks was related to the dynamics of the physical interactions between bacteria competing for space and nutrients while they grow and reproduce. The required loops to update the physical properties of each individual in the system became prohibitively slow when having a couple of thousands of bacteria shoving each other.

We noted that the problem mapped fairly well to a classical Particle System model, which in turn maps pretty well to the parallel architecture of GPUs. Starting from this observation, we studied some open-source code for rigid particle systems based on CUDA and adapted it to add properties of bacterial ecosystems (particles that grow, reproduce, die, etc.).

A naive preliminary implementation reported an acceleration of around 100x with respect to the original simulator. Further optimizations and the use of more powerful GPUs enabled accelerations over 300x, reducing the required time to simulate large-scale systems from days to minutes. A by-product from this implementation was the ability to visualize the evolution of the system on-the-fly for early estimation of the final results. Biologists used the simulator to validate results observed in-vitro in the wet-lab and is currently used at Carnegie Mellon University for research on how bacteria communicates to form biofilms.

Computational biology is only one of the many examples that illustrate how the adequate use of modern computing technology can generate groundbreaking results in other areas of knowledge, emphasizing the increasing importance of researchers in my area to leave the bubble and get out the comfort zone to foster intra-, and especially inter-disciplinary approaches.