skip to main content
research-article

Large-scale Cellular Automata on FPGAs: A New Generic Architecture and a Framework

Published:14 December 2020Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy. 2001. Winning Ways for Your Mathematical Plays (2nd ed.). A K Peters Ltd.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. Arthur W. Burks. 1971. Essays on Cellular Automata. University of Illinois Press.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. Bert W. C. Chan. 2019. Lenia: Biology of artificial life. Complex Syst. 28, 3 (2019), 251--286.Google ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. Edgar F. Codd. 1968. Cellular Automata. Academic Press, New York, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Alexander K. Dewdney. 1988. Computer recreations: The Hodgepodge Machine makes waves. Sci. Am. 259, 2 (1988), 104--107.Google ScholarGoogle Scholar
  11. Iro Dimitriou. 2013. Cellular Automata in Design: An Approach in Recurring Design Processes. School of Architecture, Technical University of Crete. Dipl. Eng. Thesis.Google ScholarGoogle Scholar
  12. Richard Durrett and David Griffeath. 1993. Asymptotic behavior of excitable cellular automata. Exp. Math. 2, 3 (1993), 183--208.Google ScholarGoogle ScholarCross RefCross Ref
  13. Robert Fisch, Janko Gravner, and David Griffeath. 1991. Threshold-range scaling of excitable cellular automata. Stat. Comput. 1, 1 (1991), 23--39.Google ScholarGoogle ScholarCross RefCross Ref
  14. Martin Gardner. 1970. Mathematical games - The fantastic combinations of John Conway’s new solitaire game “Life.” Sci. Am. 223, 4 (1970), 120--123.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. William R. Gosper. 1984. Exploiting regularities in large cellular spaces. Physica D 10, 1--2 (1984), 75--80.Google ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Rolf Hoffmann, Klaus-Peter Völkmann, and Mark Sobolewski. 1994. The cellular processing machine CEPRA-8L. Math. Res. 81 (1994), 179--188.Google ScholarGoogle Scholar
  23. Paulien Hogeweg. 1988. Cellular automata as a paradigm for ecological modeling. Appl. Math. Comput. 27, 1 (1988), 81--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Andrew Ilachinski. 2001. Cellular Automata: A Discrete Universe. World Scientific. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarCross RefCross Ref
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle ScholarCross RefCross Ref
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle Scholar
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. Melanie Mitchell. 1998. Computation in cellular automata: A selected review. In Non-Standard Computation. Wiley-VCH Verlag, Weinheim, 95--140.Google ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. David A. Patterson and John L. Hennessy. 2012. Computer Organization and Design—The Hardware / Software Interface (Revised 4th Edition). Academic Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Pavlos Progias and Georgios Ch. Sirakoulis. 2013. An FPGA processor for modelling wildfire spreading. Math. Comput. Model. 57, 5-6 (2013), 1436--1452.Google ScholarGoogle ScholarCross RefCross Ref
  45. 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 ScholarGoogle Scholar
  46. Ehsan Rahimi and Shahram Mohammad Nejad. 2013. Radius of effect in molecular quantum-dot cellular automata. Molec. Phys. 111, 5 (2013), 697--705.Google ScholarGoogle ScholarCross RefCross Ref
  47. 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 ScholarGoogle ScholarCross RefCross Ref
  48. 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 ScholarGoogle Scholar
  49. Daniel H. Rothman and Stephane Zaleski. 2004. Lattice-Gas Cellular Automata: Simple Models of Complex Hydrodynamics. Cambridge University Press.Google ScholarGoogle Scholar
  50. James B. Salem and Stephen Wolfram. 1986. Thermodynamics and hydrodynamics with cellular automata. In Theory and Applications of Cellular Automata. 5.Google ScholarGoogle Scholar
  51. Paul Shaw, Paul Cockshott, and Peter Barrie. 1996. Implementation of lattice gases using FPGAs. Physica D 12, 1 (1996), 51--66.Google ScholarGoogle Scholar
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. Tommaso Toffoli. 1977. Computation and construction universality of reversible cellular automata. J. Comput. Syst. Sci. 15, 2 (1977), 213--231.Google ScholarGoogle ScholarCross RefCross Ref
  54. Tommaso Toffoli. 1984. CAM: A high-performance cellular-automaton machine. Physica D 10, 1--2 (1984), 195--204.Google ScholarGoogle ScholarCross RefCross Ref
  55. Tommaso Toffoli and Norman H. Margolus. 1987. Cellular Automata Machines—A New Environment for Modeling. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Stanislaw Ulam. 1950. Random processes and transformations. In Proceedings of the International Congress of Mathematicians. 264--275.Google ScholarGoogle Scholar
  57. Gérard Y. Vichniac. 1984. Simulating physics with cellular automata. Physica D 10, 1-2 (1984), 96--116.Google ScholarGoogle ScholarCross RefCross Ref
  58. John von Neumann. 1951. The general and logical theory of automata. Cerebral Mechanisms in Behavior: The Hixon Symposium. John Wiley & Sons, 1--41.Google ScholarGoogle Scholar
  59. John von Neumann and Arthur W. Burks. 1966. Theory of Self-Reproducing Automata. University of Illinois Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. 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 ScholarGoogle ScholarCross RefCross Ref
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  62. Konrad Zuse. 1970. Calculating Space. MIT Technical Translation AZT-70-164-GEMIT, Massachusetts Institute of Technology (Project MAC).Google ScholarGoogle Scholar

Index Terms

  1. Large-scale Cellular Automata on FPGAs: A New Generic Architecture and a Framework

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Reconfigurable Technology and Systems
              ACM Transactions on Reconfigurable Technology and Systems  Volume 14, Issue 1
              March 2021
              138 pages
              ISSN:1936-7406
              EISSN:1936-7414
              DOI:10.1145/3418746
              • Editor:
              • Deming Chen
              Issue’s Table of Contents

              Copyright © 2020 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 14 December 2020
              • Accepted: 1 September 2020
              • Revised: 1 August 2020
              • Received: 1 May 2020
              Published in trets Volume 14, Issue 1

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed
            • Article Metrics

              • Downloads (Last 12 months)21
              • Downloads (Last 6 weeks)4

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            HTML Format

            View this article in HTML Format .

            View HTML Format
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!