Skip to content

A set of programs that produce the Mandelbrot set as a PPM image using a variety HPC parrallelisation concepts with OpenMPI.

License

Notifications You must be signed in to change notification settings

LDRyan0/mandelbrot

Repository files navigation

Mandelbrot

A set of HPC C programs that produce the Mandelbrot set as a PPM image. Implementation of a variety of partionining philosophies through the use of message passing within OpenMPI.

  1. Serial (naive)
  2. Block partitioning (static)
  3. Master-worker (dynamic)
  4. Cyclic partitioning (static)

Usage

Standard usage

git clone git@github.com:LDRyan0/mandelbrot.git
./make.sh
cd mandelbrot/2-master-worker/
srun -n 4 master-worker
xli mandelbrot2.ppm

Timing usage

All programs utilise conditional compilation, add the TIME flag to the make script to enable timing functionality and disable image output.

./make.sh TIME

Output validation

Generate all images and then run the checking script to validate output. Uses diff on the .ppm files.

./check.sh
Mandelbrot Set Image Example Timing Analysis

About

A set of programs that produce the Mandelbrot set as a PPM image using a variety HPC parrallelisation concepts with OpenMPI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published