Skip to content

A parallel implementation of the “escape time” algorithm to produce drawings of the Mandelbrot Set (CUDA and MPI).

License

Notifications You must be signed in to change notification settings

e-bug/parallel-mandelbrot-set

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A High-Performance Implementation of the Mandelbrot Set

Repository for the project in Parallel and High-Performance Computing, EPFL 2016/2017.


A parallel implementation of the “escape time” algorithm to produce drawings of the Mandelbrot Set.
Application coded in C; parallel implementations in CUDA and CUDA+MPI.

Alt text

Overview

The aim of this project is to obtain a parallal and high performance implementation to generate images of the Mandelbrot Set.

After optimizing the serial version, we move the workload to the GPU using CUDA and tune hyperparameters, like the block size, to increase the application's achieved occupancy and obtain a first optimized parallel version.
Finally, we distribute the workload to different processors and multiple GPUs using MPI (including MPI-IO for parallel I/O).

The performance of these versions is then assessed in terms of Strong Scaling and Weak Scaling.

Description of this repository

  • code/: source code for the application, from serial to hybrid versions. Step-by-step optimizations are provided.
  • plots/: plots used in the report and the IPython notebooks used to produce them.
  • presentation/: slides shown during the final presentation.
  • proposal/: submitted final report.
  • results/: execution times of the different versions; used to generate the plots. Each value is the median of five measurements.

About

A parallel implementation of the “escape time” algorithm to produce drawings of the Mandelbrot Set (CUDA and MPI).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published