Skip to content

mavosy/ParallelMandelbrot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues LinkedIn


ParallelMandelbrot

Generating mandelbrot fractals with GPU parallel computing.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

About The Project

ParallelMandelbrot is a school project focused on generating Mandelbrot fractal images using parallel computing techniques. The project explores GPU acceleration by leveraging the Amplifier.NET library to parallelize the Mandelbrot fractal calculations, allowing for improved performance compared to traditional CPU-bound methods. While the fractal generation algorithm itself was provided as part of the course, the parallelization of the calculations using the GPU was done collaboratively with a classmate.

This project serves as an educational exercise in exploring parallel computing and GPU-based optimizations for computationally expensive tasks in C#/.NET.


Product Screenshot Product Screenshot

(back to top)

Built With

  • C#

(back to top)

Getting Started

Follow these steps to get a local copy up and running.

Prerequisites

  • .NET 7.0 SDK or later
  • Visual Studio 2022 or another IDE with WPF support

Installation

  1. Clone the repo.

  2. Open the solution in Visual Studio and build the project.

(back to top)

Usage

  1. Launch the console application.
  2. Choose sequential or parallel execution.
  3. Either click on the screen where you want to zoom, or zoom towards a predestined coordinate using the instructions.
  4. Expand your mind!

(back to top)

Roadmap

Optimization and Performance:

  • Fine-tune the parallelization to maximize GPU usage and minimize idle time.
  • Benchmark and present performance differences between GPU and CPU computations for various dataset sizes.

Features:

  • Add real-time zoom functionality to explore fractal regions interactively, steering through the fractals with the arrows.
  • Implement color schemes to enhance fractal visualization.
  • Add support for saving fractal images at different resolutions.

Visualization and UI Enhancements:

  • Improve the graphical interface with better control over fractal parameters (e.g., zoom levels, iteration limits).
  • Display real-time performance metrics (e.g., frame rates, GPU utilization) while generating the fractal.

See the open issues for a full list of proposed features (and known issues).

(back to top)

Top contributors:

contrib.rocks image

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

mavosy - maltesydow@gmail.com

Project Link: https://github.com/mavosy/ParallelMandelbrot

(back to top)

About

Generating mandelbrot fractals with GPU parallel computing.

Resources

Stars

Watchers

Forks

Contributors

Languages