This project demonstrates the parallel computation of the Mandelbrot set using the Qt framework and OpenMP. The application efficiently calculates and visualizes the Mandelbrot set, leveraging the power of multi-core processors to speed up the computation process.
- Parallel Computation: Uses OpenMP to parallelize the Mandelbrot set calculations, significantly reducing computation time.
- Qt Framework: Provides a graphical user interface (GUI) for visualizing the Mandelbrot set.
- Zoom and Pan: Allows users to zoom into and pan around the Mandelbrot set for detailed exploration.
- Performance Measurement: Calculates and displays speedup and efficiency graphs to showcase the performance gains achieved through parallelization.
- Qt (version 5 or later)
- OpenMP
- C++ Compiler with OpenMP support (e.g., GCC, Clang)
-
Clone the Repository:
git clone https://github.com/osmancanaksoy/mandelbrot-parallel-computation.git cd mandelbrot-parallel-computation
-
Open the Project in Qt Creator:
Open Qt Creator and select
File
->Open File or Project
and navigate to the cloned repository to open the project file. -
Run the Application:
Click the Run button in Qt Creator to compile and run the application.
-
Launch the Application:
Run the app executable from Qt Creator.
-
Explore the Mandelbrot Set:
- Use the mouse to zoom in and out.
- Click and drag to pan around the image.
-
View Performance Metrics:
- The application calculates and displays speedup and efficiency graphs based on the number of threads used.
- Speedup: The ratio of the time taken to solve the problem sequentially to the time taken to solve it in parallel.
- Efficiency: The speedup divided by the number of processors, indicating how effectively the processors are being used.
Performance metrics are calculated and displayed as graphs within the application.
We welcome contributions to improve this project. Here are some ways you can contribute:
- Report Bugs: If you find a bug, please open an issue with detailed information.
- Submit Pull Requests: If you have a fix or a new feature, submit a pull request. Please ensure your code follows the project's coding standards.
This project is licensed under the MIT License. See the LICENSE file for details.