Abstract
Cellular automata (CA) are discrete mathematical models discovered in the 1940s by John von Neumann and Stanislaw Ulam and have been used extensively in many scientific disciplines ever since. The present work evolved from a Field Programmable Gate Array– (FPGA) based design to simulate urban growth into a generic architecture that is automatically generated by a framework to efficiently compute complex cellular automata with large 29 × 29 neighborhoods in Cartesian or toroidal grids, with 16 or 256 states per cell. The new architecture and the framework are presented in detail, including results in terms of modeling capabilities and performance. Large neighborhoods greatly enhance CA modeling capabilities, such as the implementation of anisotropic rules. Performance-wise, the proposed architecture runs on a medium-size FPGA up to 51 times faster vs. a CPU running highly optimized C code. Compared to GPUs the speedup is harder to quantify, because CA results have been reported on GPU implementations with neighborhoods up to 11 × 11, in which case FPGA performance is roughly on par with GPU; however, based on published GPU trends, for 29 × 29 neighborhoods the proposed architecture is expected to have better performance vs. a GPU, at one-10th the energy requirements. The architecture and sample designs are open source available under the creative commons license.
- José I. Barredo, Marjo Kasanko, Niall McCormick, and Carlo Lavalle. 2003. Modelling dynamic spatial processes: Simulation of urban future scenarios through cellular automata. Landscape Urban Plan. 64, 3 (2003), 145--160.Google Scholar
Cross Ref
- Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy. 2001. Winning Ways for Your Mathematical Plays (2nd ed.). A K Peters Ltd.Google Scholar
- K. Bouazza, Joël Champeau, Pius Ng, Bernard Pottier, and Stéphane Rubini. 1992. Implementing cellular automata on the ArMen machine. In Proceedings of the 2nd International Workshop on Algorithms and Parallel VLSI Architectures. 317--322. Google Scholar
Digital Library
- Arthur W. Burks. 1971. Essays on Cellular Automata. University of Illinois Press.Google Scholar
- Daniel Cagigas-Muniz, Fernando Diaz del Rio, Manuel Ramon Lopez-Torres, Francisco Jimenez-Morales, and Jose Luis Guisado. 2020. Developing efficient discrete simulations on multicore and GPU architectures. Electronics 9, 189 (2020).Google Scholar
- Gregorio Cappuccino and Giuseppe Cocorullo. 2001. Custom reconfigurable computing machine for high performance cellular automata processing. Electronic Engineering Times Retrieved from www.eetimes.com.Google Scholar
- Bert W. C. Chan. 2019. Lenia: Biology of artificial life. Complex Syst. 28, 3 (2019), 251--286.Google Scholar
Cross Ref
- Yuze Chi, Jason Cong, Peng Wei, and Peipei Zhou. 2018. SODA: Stencil with optimized dataflow architecture. In Proceedings of the 2018 IEEE/ACM International Conference on Computer-Aided Design. 1--8. Google Scholar
Digital Library
- Edgar F. Codd. 1968. Cellular Automata. Academic Press, New York, NY. Google Scholar
Digital Library
- Alexander K. Dewdney. 1988. Computer recreations: The Hodgepodge Machine makes waves. Sci. Am. 259, 2 (1988), 104--107.Google Scholar
- Iro Dimitriou. 2013. Cellular Automata in Design: An Approach in Recurring Design Processes. School of Architecture, Technical University of Crete. Dipl. Eng. Thesis.Google Scholar
- Richard Durrett and David Griffeath. 1993. Asymptotic behavior of excitable cellular automata. Exp. Math. 2, 3 (1993), 183--208.Google Scholar
Cross Ref
- Robert Fisch, Janko Gravner, and David Griffeath. 1991. Threshold-range scaling of excitable cellular automata. Stat. Comput. 1, 1 (1991), 23--39.Google Scholar
Cross Ref
- Martin Gardner. 1970. Mathematical games - The fantastic combinations of John Conway’s new solitaire game “Life.” Sci. Am. 223, 4 (1970), 120--123.Google Scholar
- Martin Gerhardt and Heike Schuster. 1989. A cellular automaton describing the formation of spatially ordered structures in chemical systems. Physica D 36, 3 (1989), 209--221.Google Scholar
Cross Ref
- Felix A. Gers, Hugo de Garis, and Michael Korkin. 1998. CoDi-1Bit : A simplified cellular automata based neuron model. In Lecture Notes in Computer Science, Vol. 1363, 315--333. Google Scholar
Digital Library
- Michael J. Gibson, Edward C. Keedwell, and Dragan A. Savić. 2015. An investigation of the efficient implementation of cellular automata on multi-core CPU and GPU hardware. J. Parallel Distrib. Comput. 77 (2015), 11--25. Google Scholar
Digital Library
- William R. Gosper. 1984. Exploiting regularities in large cellular spaces. Physica D 10, 1--2 (1984), 75--80.Google Scholar
Cross Ref
- James M. Greenberg and Stuart P. Hastings. 1978. Spatial patterns for discrete models of diffusion in excitable media. SIAM J. Appl. Math. 34, 3 (1978), 515--523.Google Scholar
Digital Library
- Christian Hochberger, Rolf Hoffmann, Klaus-Peter Völkmann, and Jens Steuerwald. 1997. The CEPRA-1X cellular processor. Reconfigurable Architectures: High Performance by Configware. IT Press, Bruchsal.Google Scholar
- Christian Hochberger, Rolf Hoffmann, Klaus-Peter Völkmann, and Stefan Waldschmidt. 2000. The cellular processor architecture CEPRA-1X and its configuration by CDL. In Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS’00). Lecture Notes in Computer Science, Vol. 1800. 898--905. Google Scholar
Digital Library
- Rolf Hoffmann, Klaus-Peter Völkmann, and Mark Sobolewski. 1994. The cellular processing machine CEPRA-8L. Math. Res. 81 (1994), 179--188.Google Scholar
- Paulien Hogeweg. 1988. Cellular automata as a paradigm for ecological modeling. Appl. Math. Comput. 27, 1 (1988), 81--100. Google Scholar
Digital Library
- Andrew Ilachinski. 2001. Cellular Automata: A Discrete Universe. World Scientific. Google Scholar
Digital Library
- Kazuyoshi Ishimura, Katsuro Komuro, Alexandre Schmid, Tetsuya Asai, and Masato Motomura. 2015. FPGA implementation of hardware-oriented reaction-diffusion cellular automata models. Nonlin. Theory Appl. IEICE 6, 2 (2015), 252--262. DOI:https://doi.org/10.1587/nolta.6.252Google Scholar
Cross Ref
- Katrin Jahns, Kamil Balinski, Martin Landwehr, Jürgen Wübbelmann, and Ulrich Krupp. 2017. Prediction of high temperature corrosion phenomena by the cellular automata approach. Mater. Corr. 68, 2 (2017), 125--132.Google Scholar
- Anastasiya Kireeva, Karl K. Sabelfeld, and Sergey Kireev. 2019. Synchronous multi-particle cellular automaton model of diffusion with self-annihilation. In Parallel Computing Technologies, Victor Malyshkin (Ed.). Springer International Publishing, 345--359.Google Scholar
- Tomoyoshi Kobori, Tsutomu Maruyama, and Tsutomu Hoshino. 2001. A cellular automata system with FPGA. In Proceedings of the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines. 120--129. Google Scholar
Digital Library
- Nikolaos Kyparissas and Apostolos Dollas. 2015. Game of Complex Life—Modeling of urban growth processes with cellular automata. In Xilinx Open Hardware European Design Contest. Retrieved from http://www.openhw.eu/2015-finalists.html.Google Scholar
- Nikolaos Kyparissas and Apostolos Dollas. 2018. A parallel framework for simulating cellular automata on FPGA logic. In Xilinx Open Hardware European Design Contest. Retrieved from http://www.openhw.eu/2018-finalists.html.Google Scholar
- Nikolaos Kyparissas and Apostolos Dollas. 2019. Field programmable gate array technology as an enabling tool towards large-neighborhood cellular automata on cells with many states. In Proceedings of the 2019 International Conference on High Performance Computing and Simulation. 940--947.Google Scholar
Cross Ref
- Nikolaos Kyparissas and Apostolos Dollas. 2019. An FPGA-based architecture to simulate cellular automata with large neighborhoods in real time. In Proceedings of the 29th International Conference on Field Programmable Logic and Applications. 95--99.Google Scholar
Cross Ref
- André C. Lima and João Canas Ferreira. 2013. Automatic generation of cellular automata on FPGA. In Proceedings of the 9th Portuguese Meeting on Reconfigurable Systems. 51--58.Google Scholar
- Norman H. Margolus. 1996. CAM-8: A computer architecture based on cellular automata. In Pattern Formation and Lattice-Gas Automata, Anna T. Lawniczak and Raymond Kapral (Eds.). AMS, Providence, RI, 167--187.Google Scholar
- Norman H. Margolus. 1997. An FPGA architecture for DRAM-based systolic computations. In Proceedings of the 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines. 2--11. Google Scholar
Digital Library
- Norman H. Margolus. 2000. An embedded DRAM architecture for large-scale spatial-lattice computations. In Proceedings of the 27th Annual International Symposium on Computer Architecture. 149--160. Google Scholar
Digital Library
- Emmanuel N. Millán, Nicolás Wolovick, Maria Fabiana Piccoli, Carlos Garcia Garino, and Eduardo M. Bringa. 2017. Performance analysis and comparison of cellular automata GPU implementations. Clust. Comput. 20, 3 (2017). Google Scholar
Digital Library
- Melanie Mitchell. 1998. Computation in cellular automata: A selected review. In Non-Standard Computation. Wiley-VCH Verlag, Weinheim, 95--140.Google Scholar
- Shakeeb Murtaza, Alfons G. Hoekstra, and Peter M. A. Sloot. 2007. Performance modeling of 2D cellular automata on FPGA. In Proceedings of the 2007 International Conference on Field Programmable Logic and Applications. 74--78.Google Scholar
- Shakeeb Murtaza, Alfons G. Hoekstra, and Peter M. A. Sloot. 2008. Floating point based cellular automata simulations using a dual FPGA-enabled system. In Proceedings of the 2nd International Workshop on High-Performance Reconfigurable Computing Technology and Applications. 1--8.Google Scholar
- Shakeeb Murtaza, Alfons G. Hoekstra, and Peter M. A. Sloot. 2009. Compute bound and I/O bound cellular automata simulations on FPGA logic. ACM Trans. Reconfig. Technol. Syst. 1, 4 (2009), 23. Google Scholar
Digital Library
- Shakeeb Murtaza, Alfons G. Hoekstra, and Peter M. A. Sloot. 2010. Cellular automata simulations on a FPGA cluster. Int. J. High Perf. Comput. Appl. 25, 2 (2010), 193--204. Google Scholar
Digital Library
- David A. Patterson and John L. Hennessy. 2012. Computer Organization and Design—The Hardware / Software Interface (Revised 4th Edition). Academic Press. Google Scholar
Digital Library
- Pavlos Progias and Georgios Ch. Sirakoulis. 2013. An FPGA processor for modelling wildfire spreading. Math. Comput. Model. 57, 5-6 (2013), 1436--1452.Google Scholar
Cross Ref
- Stephan Rafler. 2011. Generalization of Conway’s Game of Life to a continuous domain—SmoothLife. arXiv:1111.1567. Retrieved from https://arxix.org/abs/1111.1567.Google Scholar
- Ehsan Rahimi and Shahram Mohammad Nejad. 2013. Radius of effect in molecular quantum-dot cellular automata. Molec. Phys. 111, 5 (2013), 697--705.Google Scholar
Cross Ref
- Paul W. Rendell. 2011. A universal turing machine in Conway’s Game of Life. In Proceedings of the 2011 International Conference on High Performance Computing and Simulation. 764--772.Google Scholar
Cross Ref
- Andreas Rienow. 2018. The future of central european cities -- Optimization of a cellular automaton for the spatially explicit prediction of urban sprawl. In Cellular Automata: A Volume in the Encyclopedia of Complexity and Systems Science (2nd ed.), Andrew Adamatzky (Ed.). Springer US, New York, NY.Google Scholar
- Daniel H. Rothman and Stephane Zaleski. 2004. Lattice-Gas Cellular Automata: Simple Models of Complex Hydrodynamics. Cambridge University Press.Google Scholar
- James B. Salem and Stephen Wolfram. 1986. Thermodynamics and hydrodynamics with cellular automata. In Theory and Applications of Cellular Automata. 5.Google Scholar
- Paul Shaw, Paul Cockshott, and Peter Barrie. 1996. Implementation of lattice gases using FPGAs. Physica D 12, 1 (1996), 51--66.Google Scholar
- Georgios Ch. Sirakoulis. 2018. Cellular automata hardware implementation. In Cellular Automata: A Volume in the Encyclopedia of Complexity and Systems Science (2nd ed.), Andrew Adamatzky (Ed.). Springer US, New York, NY. Google Scholar
Digital Library
- Tommaso Toffoli. 1977. Computation and construction universality of reversible cellular automata. J. Comput. Syst. Sci. 15, 2 (1977), 213--231.Google Scholar
Cross Ref
- Tommaso Toffoli. 1984. CAM: A high-performance cellular-automaton machine. Physica D 10, 1--2 (1984), 195--204.Google Scholar
Cross Ref
- Tommaso Toffoli and Norman H. Margolus. 1987. Cellular Automata Machines—A New Environment for Modeling. MIT Press. Google Scholar
Digital Library
- Stanislaw Ulam. 1950. Random processes and transformations. In Proceedings of the International Congress of Mathematicians. 264--275.Google Scholar
- Gérard Y. Vichniac. 1984. Simulating physics with cellular automata. Physica D 10, 1-2 (1984), 96--116.Google Scholar
Cross Ref
- John von Neumann. 1951. The general and logical theory of automata. Cerebral Mechanisms in Behavior: The Hixon Symposium. John Wiley & Sons, 1--41.Google Scholar
- John von Neumann and Arthur W. Burks. 1966. Theory of Self-Reproducing Automata. University of Illinois Press. Google Scholar
Digital Library
- Yifan Zhao, Stephen A. Billings, and Alexander F. Routh. 2007. Identification of excitable media using cellular automata models. Int. J. Bifurcat. Chaos 17, 01 (2007), 153--168.Google Scholar
Cross Ref
- Hamid Reza Zohouri, Artur Podobas, and Satoshi Matsuoka. 2018. Combined spatial and temporal blocking for high-performance stencil computation on FPGAs using OpenCL. In Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays. Association for Computing Machinery, New York, NY, 153--162. Google Scholar
Digital Library
- Konrad Zuse. 1970. Calculating Space. MIT Technical Translation AZT-70-164-GEMIT, Massachusetts Institute of Technology (Project MAC).Google Scholar
Index Terms
Large-scale Cellular Automata on FPGAs: A New Generic Architecture and a Framework
Recommendations
Cellular Automata and GPGPU: An Application to Lava Flow Modeling
This paper presents an efficient implementation of the SCIARA Cellular Automata computational model for simulating lava flows using the Compute Unified Device Architecture CUDA interface developed by NVIDIA and carried out on Graphical Processing Units ...
Descriptional complexity of cellular automata and decidability questions
Third international workshop on descriptional complexity of automata, grammars and related structuresWe study the descriptional complexity of cellular automata (CA) which are a parallel model of computation. We show that between one of the simplest cellular models, the realtime one-way CA (realtime-OCA), and "classical" models like deterministic finite ...
Closure properties of cellular automata
Concerning the power of one-dimensional cellular automata recognizers, Ibarra and Jiang have proved that real time cellular automata (CA) and linear time CA are equivalent if and only if real time CA is closed under reverse. In this paper we investigate ...






Comments