Multithreaded Mandlebrot
A downloadable project for Windows
For part two of my year 2 module Data Structures and Algorithms at university the task was to implement a parallelised algorithm to solve a problem. We had a choice of doing this on either the CPU or GPU.
For this project CPU multithreading was chosen. The program uses a pool of tasks. Each task consists of a segment of the final image with a height of 1 pixel and a width of the entire image. Worker threads then loop and pick up new tasks until the entire image has been processed. Notably, segments are traversed horizontally rather than vertically as this is more cache friendly and increases performance.
For the multithreading, conditional variables are used to signal waiting threads. Mutexes are used to ensure thread safety in the form of std::unique_lock.
The project has been successful at its goal and performance measurements are further detailed within the report.
Status | Released |
Category | Other |
Platforms | Windows |
Author | SerOleg |
Tags | algorithm, cpu, mandlebrot, multithreading |
Download
Click download now to get access to the following files:
Leave a comment
Log in with itch.io to leave a comment.