Modelling of Stochastic Compartmental Spatio - Temporal Epidemic Simulations with Cellular Automata and acceleration with CPU and GPGPU parallelism

This thesis elaborates on the construction of a user-friendly epidemic model for the Dengue disease and the analysis of parallelization methodologies for this model. In detail, this thesis investigates, implements and examines:


This thesis has two main goals: First, to construct an epidemic model for the Dengue disease and provide this as a user-friendly tool. Second, to investigate the parallelization methodologies for the generated model in terms of implementation effort and achieved speedup/acceleration.

The resulting model is a multi-layer host SIR + vector SI CA (Cellular Automata) model with births/deaths, environmental, climate and population data parameters. Input data is integrated with normalization and feature scaling techniques. Population dynamics are simulated using Moore neighborhood based commuting micromovements. The model is highly scalable regarding the population sizes and the level of detail. The most influencing factor on the speed of simulation is the size of the grid. The ratio mosquito/human count per cell, was the most important factor for the disease spread. The infection dies out in most cases, if this ratio decreases below 0.05, as also noted by the literature [2].

The parallelization technique applied on the CA model is "Data Parallelism"[53, 54]. We investigated and optimized the performance of computationally intensive simulations, by using parallelization on CPU (Central Processing Unit) and GPGPU (General- Purpose computing on Graphics Processing Units) resources. Speed up gains using CPU and GPU parallelism with the STL library on a desktop computer ranged from 4x with CPU parallelism up to 13x-94x with GPU Parallelism. Performance was improved by replacing the STL library in C++ 11 by the Random Generator Sitmo PRNG [16, 17]. Using the Sitmo PRNG in multiple platforms, speedups are reported from 2x-4x with CPU parallelism and 2x-12x with GPU Parallelism. We started from execution times around 2-13 minutes and ended up with 2-9 seconds.

CPU parallelization with Intel TBB is recommended if a quick way to increase performance is required. The TBB template library provides ready-to-use and threadsafe algorithms and requires minimal thread management. Existing object-oriented serial C++ source code can easily be transformed into parallel TBB code. GPGPU parallelization with Cuda is recommended in cases if "as fast as possible" batch executions are needed. The added benefit of the GPGPU approach for this model will increase in the future with additional model features and calculations. The downside is the requirement to change the algorithm logic, transform object oriented code to lower level languages and the need for specialized debugging and profiling tools.


Dengue, Epidemic Modelling, Stochastic Cellular Automata, Spatial Model, Parallelization, GPGPU



Bibliographic Information

Konstantinos Theodorakos, 2016, Modelling of Stochastic Compartmental Spatio - Temporal Epidemic Simulations with Cellular Automata and acceleration with CPU and GPGPU parallelism. M.Sc. thesis, Faculty of Science, University of Antwerp.



Faculty of Science
Department of Mathematics and Computer Science
University of Antwerp
Campus Groenenborger, Groenenborgerlaan 171
2020 Antwerpen, Belgium, Antwerp