Shodor

a national resource for computational science education

HOME UPEP Shodor Blue Waters

Parallelizing Conway's Game of Life

By Samuel Leeman-Munk

Game of Life is a cellular automaton formulated by the British mathematician, John Orton Conway in 1970. This "game" does not require any players. The user just sets up the initial configuration and leaves the game to evolve on its own. Conway invented Life as a simplification of a much more complex model by John Von Neumann. Von Neumann had invented his automaton in a search for a hypothetical machine that could build copies of itself, and Conway's Life can do the same. What particularly interests the computational community is that Life is Turing Complete, meaning it can compute any algorithm that a conventional computer can. Life and other cellular automata are famous for their "emergent behavior," The process by which elaborate patterns and behaviors can emerge from very simple rules.

This module covers the implementation of life and its parallelization, and includes a lab for studying its scaling as it runs over different numbers of processors and with different problem sizes.

  • Life Module - A PDF document providing background on the problem, instructions for the activities, and rubrics for assessment of student work.
  • Life-Serial - Serial version of Conway's Game of Life.
  • Life-OMP - Shared memory version of Conway's Game of Life.
  • Life-MPI - Distributed memory version of the Conway's Game of Life.

Resources:

Game of Life Manual.pdf : This document describes all the Game of Life's source files and its variables.

GoL Serial Source Files.zip : This file contains all the source code of the Game of Life program.

GoL MPI Source Files.zip : This file contains all the source code of the Game of Life program.

GoL OMP Source Files.zip : This file contains all the source code of the OpenMP Game of Life program.