kamil-tarnas / GameOfLife

Implementation of John Conway's Game of Life cellular automation
GNU General Public License v2.0
0 stars 1 forks source link

Create an interface to run multithreaded simulations #2

Open kamil-tarnas opened 7 years ago

kamil-tarnas commented 7 years ago

There could be implemented mechanism for setting up and running multiple threads of simulations running in parallel.

kamil-tarnas commented 6 years ago

Divide array traversing to std::thread::hardware_concurrency() threads. Use command line parameters to obtain thread concurrency flag.

kamil-tarnas commented 6 years ago

Think through how to divide computation between cores in SimMatrix::DoSimStep() to avoid cache locality, stale times and all the other problems with multi threaded systems.

kamil-tarnas commented 6 years ago

Interface for multithread join and fork functionality.

kamil-tarnas commented 6 years ago

Separate function for non-threaded simulations.

kamil-tarnas commented 4 years ago

Still needs some work - for example the encapsulation of threaded logic. Alternatively, the approach of hooking ThreadPool repository when it is ready might be a good idea - https://github.com/cavemanjaw/ThreadPool