My interests

are  Parallel computing mainly using Message Passing and GPGPU techniques,  and mathematical modelling/simulation of complex systems. My works combine strong theory with applications.


  • Rahmat hidayat, Davide Spataro, Elisa De Giorgio, William Spataro, Donato D'AmbrosioMulti-Agent System with Multiple Group Modelling for Bird Flocking on GPU, Proceedings of The 2016 International Conference on Parallel, Distributed and Network-Based Processing (PDP), Crete, Greece.
  • Giuseppe Filippone, William Spataro, Donato D'Ambrosio, Davide Spataro, Davide Marocco,Giuseppe A. Trunfio, CUDA Dynamic Active Thread List Strategy to Accelerate Debris Flow Simulations, Proceedings of The 2015 International Conference on Parallel, Distributed and Network-Based Processing (PDP), Turku, Finland, pp 330-338.
  • Spataro D., D’Ambrosio D., Filippone G., Spataro W.,The new SCIARA-fv3 numerical model and acceleration by GPGPU strategies,  International Journal of High Performance and ApplicationsPDF
  • Spataro W., D’Ambrosio D., Filippone G.,Spataro D., G. Iovine, D. Marocco, Lava flow modeling by the SCIARA-fv3 parallel numerical model, Proceedings of The 2014 International Conference on Parallel, Distributed and Network-Based Processing (PDP), Turin, Italy, Feb.12-14, 2014, pp 330-338.PDF
  • G. Filippone, R. Parise, D. Spataro, D. D’Ambrosio, R. Rongo, and W. Spataro, Evolutionary applications to Cellular Automata models for volcano risk mitigation, Proceedings of The 2014 International Conference on Workshop on Artificial Life and Evolutionary Computation (WIVACE), May 14-15 2014, Vietri sul Mare, Salerno, Italy. PDF


Here listed a few projects/works I'm related with:

A CUDA header only library for performing stream compaction on newest devices (Compute Capability >=3.5) that uses ballotting intrinsic functions to achieve high performance. Tests shows that this implementation is faster than the Thrust library (see image, thanks to Zhang Jingrong).  The library's implementation and its usage are described in this blog article (here). Freely available on github (here)res

  • CuCCAl

acronym for “Cuda complex cellular automata 3d-tetrahedronslibrary”, capable of hiding all the complexity behind the GPU programming process. The aim of this library is to make life easier to researchers that need to parallelize using GPU cellular automata. The programmer has only to write the elementary processes that compose the transition function, register substates and set up some parameters (for example, the number of steps). Memory management is completely behind the scene, letting the programmer concentrate only on the model he needs to write. (Full article)

A parallel version of the moMultiRBBExampledel SCIARA-fv3 was designed and implemented using General-Purpose Computation with Graphics Processing Units and specifically adopting CUDA framework in order to improve the overall execution time. It involves the design and the application of strategies that allow to avoid incorrect computation results due to race conditions of any type and at the same time to achieve the best performance and occupancy of the underlying available hardware. Carried out experiments show that significant performance improvement in terms of speedup are achieved also thanks to some original optimizations strategies adopted, confirming the validity of graphics hardware as an alternative to much more expensive solutions for the simulation of cellular automata models.
Download as latex source or read the html version