Translations of Cellular Automata for Efficient Simulation

Cellular automata can be described in many different ways, one of which is to use a special purpose description language. Here, the language CDL is used as the source for translations into Java or C code for computer simulations. Several coding styles are generated automatically: The state transition function can be coded as Java code, as C code with stubs for integration into a Java simulation environment, as a lookup table, or as Java code consisting of boolean functions which allow the parallel simulation of 32 or 64 cells on one processor. The coding styles are compared for several examples and it is found that the boolean function style (also called multispin-coding) realized in Java is often, but not always, significantly more efficient than even native C code.

[1]  John G. Zabolitzky,et al.  Monte Carlo simulation of Ising models by multispin coding on a vector computer , 1984 .

[2]  Rolf Drechsler,et al.  Binary Decision Diagrams - Theory and Implementation , 1998 .

[3]  Rolf Hoffmann,et al.  The Cellular Processing Machine CEPRA-8L , 1994, Parcella.

[4]  Jörg R. Weimar Cellular Automata for Reaction Diffusion Systems , 1997, Parallel Comput..

[5]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[6]  Hans J. Herrmann,et al.  Tests of the multi-spin-coding technique in Monte Carlo simulations of statistical systems , 1981 .

[7]  Stefan Waldschmidt,et al.  Compilation of CDL for Different Target Architectures , 1995, PaCT.

[8]  Christian Hochberger CDL: eine Sprache für die Zellularverarbeitung auf verschiedenen Zielplattformen , 1998 .

[9]  J. Dana Eckart,et al.  A cellular automata simulation system , 1991, SIGP.

[10]  M. H. Kalos,et al.  A new multispin coding algorithm for Monte Carlo simulation of the Ising model , 1984 .

[11]  Edward J. McCluskey,et al.  Introduction to the theory of switching circuits , 1965 .

[12]  Randal E. Bryant Binary decision diagrams and beyond: enabling technologies for formal verification , 1995, ICCAD.

[13]  Sauro Succi Cellular automata modeling on IBM 3090/VF , 1987 .

[14]  Rolf Hoffmann,et al.  CDL - a language for cellular processing , 1996 .

[15]  R. Friedberg,et al.  Test of the Monte Carlo Method: Fast Simulation of a Small Ising Lattice , 1970 .

[16]  Kai Nagel,et al.  Microscopic Traffic Modeling on Parallel High Performance Computers , 1994, Parallel Comput..

[17]  John von Neumann,et al.  Theory Of Self Reproducing Automata , 1967 .

[18]  R. Bryant Binary decision diagrams and beyond: enabling technologies for formal verification , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[19]  Uwe Freiwald,et al.  The Java based cellular automata simulation system--JCASim , 2002, Future Gener. Comput. Syst..

[20]  C. Rebbi,et al.  Multi-spin coding: A very efficient technique for Monte Carlo simulations of spin systems , 1981 .

[21]  Thomas Worsch,et al.  Simulation of cellular automata , 1999, Future Gener. Comput. Syst..

[22]  D. Stauffer,et al.  Vectorized multisite coding for hydrodynamic cellular automata , 1989 .