Conway's Game of Life (SIMDitized)
This project is a demonstration on how to creatively use SSE* instructions to implement Conway's Game of Life.
- use of SSE2 instructions (obviously)
- can be expanded to using different MP techniques such as posix threads and OpenMP, to get the best performance. The inner processing loop was constructed to minimize dependencies.
- some crafty bit packing that I came up with. This reduces memory bandwidth.
- Minimal branching using equality SSE instructions.
This is Work in Progress
I'm still working on user input, and possible different methods of visualization. Right now, the application supports the following modes:
Go here for installation instructions.
Life still has many Limitations.
Benchmark mode (no visualization). used in conjunction with time to get statistics on how long n iterations take to run.
OpenGL implementation with GLUT. This is the primary method of displaying the world. I intend on adding user input with the mouse, and making it scale and zoom in and out. If somebody wants to convert this to SDL for me, go ahead.
stdout implementation that represents a 128x128 block with with @'s and .'s this is broken at the moment
Information on fakesse.h
You can find out here: fakesse
Note on Hashing
Considerations were not taken as far as hashing algorithms go, so don't ask (but if you want to implement it for me, go ahead).