Academia.eduAcademia.edu

Programming cellular automata algorithms on parallel computers

1999, Future Generation Computer Systems

Abstract

A high-level programming support is an essential component for the practical development of computational science applications using the cellular automata model. This paper, after introducing the CARPET language, shows its practical use for programming cellular automata simulations on parallel computers. CARPET is a high-level language designed for supporting rapid prototyping and full implementation of a large number of science and engineering applications on high-performance computers. The language provides a user with a programming layer that offers constructs for the direct definition of the cellular automata features such as lattice dimension, cell state, neighborhood, and transition function. The CARPET parallel run-time system maps CA programs on a parallel computer hiding the architecture issues to a user and it provides advanced visualization of program’s output. The paper describes how practical cellular automata algorithms for lattice gas, gas diffusion simulation, and traffic flow modeling can be designed using the CARPET programming language.

Loading...

Loading Preview

Sorry, preview is currently unavailable. You can download the paper by clicking the button above.

References (14)

  1. A. Sameh, Computational science and engineering, ACM Computing Surveys 28(4) (1996) 810-817.
  2. D.B. Skillicorn, D. Talia, Models and languages for parallel computation, ACM Computing Surveys 30(2) (1998) 123- 169.
  3. J. von Neumann, Theory of Self Reproducing Automata, University of Illinois Press, Champaign. IL, 1966.
  4. S. Di Gregorio, R. Rongo, W. Spataro, G. Spezzano, D. Talia, A parallel cellular tool for interactive modeling and simulation, IEEE Computational Science & Engineering 3 (1996) 33-43.
  5. G. Spezzano, D. Talia, A high-level cellular programming model for massively parallel processing, Proc. 2nd Int. Workshop on High-Level Programming Models and Supportive Environments (HIPS97), IEEE Computer Society, 1997, pp. 55-63.
  6. S. Di Gregorio, R. Rongo, W. Spataro, G. Spezzano, D. Talia, A parallel cellular environment for high-performance scientific computing, in: H. Liddell (Eds.), HPCN'96
  7. High-Performance Computing and Networking, LNCS 1067, Springer, Berlin, 1996, pp. 514-521.
  8. S. Wolfram, Computation theory of cellular automata, Comm. Math. Phys. 96 (1984).
  9. T. Worsch, Programming environments for cellular automata, Proc. Cellular Automata for Research and Industry (ACRI 96), Springer, Berlin, 1997, pp. 3-12.
  10. M. Cannataro, S. Di Gregorio, R. Rongo, W. Spataro, G. Spezzano, D. Talia, A parallel cellular automata environment on multicomputers for computational science, Parallel Computing 21 (1995) 803-824.
  11. T. Toffoli, N. Margolus, Cellular Automata Machines A New Enviroment for Modeling, MIT Press, Cambridge. MA, 1986.
  12. U. Firsh, B. Hasslacher, Y. Pomeau, Lattice-gas automata for the Navier-Stokes equation, Phys. Rev. Lett. 56 (1986) 1505.
  13. S. Di Gregorio, D.C. Festa, Cellular automata for freeway traffic, Proceedings of the First Int. Conference Applied Modelling and Simulation Lyon, France, vol. 5, 1981, pp. 133-136.
  14. S. Di Gregorio et al., Cellular automata for freeway traffic simulation, in: E. Benussi, A. Cecchini (Eds.), Artificial Worlds and Urban Studies, Venice University, Venice, 1996.