Skip to content

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

License

Notifications You must be signed in to change notification settings

okkevaneck/NextLevelGOL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published