Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 1.27 KB

README.md

File metadata and controls

26 lines (21 loc) · 1.27 KB

Next Level Game of Life

This repository contains a performance engineering overview for a Conway's Game of Life implementation, where performance is pushed to the maximum.

Optimizations

The project contains the following optimizations build incrementally on top the reference implementation (v0):

  • Optimized datastructure for GIF encoding after changing to uint_8_t (v1) and updating the border code (v2).
  • Removed excessive looping in GIF encoding (v3).
  • Optimized indexing in world step generation (v4).
  • Parallelization using OpenMP (v5.0) and PThreads (v6.0).
  • Different way to write the GIF files using mmap (v5.1 and v6.1).
  • Instruction level parallelization using SIMD (v7.0 and v7.1)

You can find all implementations in the apps directory.

Acknowledgements

The inital code was based on the assignment from the Parallel Programing Practical course at the Vrije Universiteit in Amsterdam, the Netherlands, and the CS2110 course at Dalhousie University in Halifax, NS, Canada.