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.
- Serial (naive)
- Block partitioning (static)
- Master-worker (dynamic)
- Cyclic partitioning (static)
git clone git@github.com:LDRyan0/mandelbrot.git
./make.sh
cd mandelbrot/2-master-worker/
srun -n 4 master-worker
xli mandelbrot2.ppm
All programs utilise conditional compilation, add the TIME
flag to the make script to enable timing functionality and disable image output.
./make.sh TIME
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 |
---|---|