next up previous contents
Next: 2D FFT ``Image Compression'' Up: ``HPJava'': Demo Description. Bryan Previous: ``HPJava'': Demo Description. Bryan   Contents

Conway's Game of Life

``Life'' is a familiar cellular automaton, in which cells on a two-dimensional board are updated according to the current state of their eight neighbours. It provides a simple illustration of the the archetypal nearest-neighbour update, which recurs in various numerical simulations, and lends itself well to parallel computation.

The Java implementation uses an experimental version of a class library intended to facilitate data-parallel computations on regular arrays. Characteristics of this approach, similar to High Performance Fortran, include

Clicking on the ``Life'' button brings up a menu of parameters which can be changed. These include the size of the grid (``board''), the number of iterations, and the frequency with which the state of the board is displayed. Displaying the board generally takes much longer than updating it: for benchmarking purposes the display should happen infrequently (for demonstration purposes, frequently). The options also allow changing the distribution format of the board--the way the board is split between processors. Like HPF, block or cyclic distributions are allowed.

Figure 3: Screens of the ``Life'' demo.
\begin{figure}\centerline{\psfig{figure=lifeset.eps,height=2.5in}
\hspace{0.25in}
\psfig{figure=liferun.eps,height=2.5in}}\end{figure}

Clicking on the ``Begin'' button causes the simulation to start. The initial state of the board is currently a fixed ``cross'' of live cells. This will evolve into more interesting patterns as the simulation proceeeds. The processor ``owning'' a portion of the board is coded through the colour of the cells, providing a clear visualization of the various distribution formats.

The processor set can be changed by clicking the ``Proc'' button. The parameters or distribution format can be changed by clicking the ``Life'' button again.


next up previous contents
Next: 2D FFT ``Image Compression'' Up: ``HPJava'': Demo Description. Bryan Previous: ``HPJava'': Demo Description. Bryan   Contents
Bryan Carpenter 2002-07-12