Biocentis

Note
My website is currently under construction.
Different sections of the website will have wildly different styles and layouts.
Location: Milan, Italy
Role: Software Engineer - Bioinformatics
Duration: May 2023 - August 2023
At Biocentis, an agrotech firm specializing in vector pest control through genetic engineering, I worked on a GPU Agent-Based Model which simulated everything from the genotype to the swarm flight patterns of the Drosophila Suzukii.
During my time, I brought the Agent Based Simulator’s execution time from 8 hours in the Python simulator to just over 3 minutes with the C++ algorithm.
I did this in many ways:
- The biggest change was going from a Python program that ran on the CPU to a C++ Real-Time GPU-native program (FLAMEGPU RTC).
- Implementing chunking in data transfer from the GPU’s memory to the system’s memory also brought simulation time down, because data transfer and simulation could happen at the same time.
- Developing a resource-saving data structure to store simulation state information to minimize the amount of data transfered (and saved) between CPU and GPU.
- Employing pre-processing strategies to minimize the amount of trigonometric calculations done during simulation times.
I also worked on a web-based visualizer for the simulation data in plotly (which for testing purposes was centered on Rome, my hometown), shown below: