Post

Distributed Fractals

Clustered fractal renderer

Distributed Fractals

Distributed fractals is a command-line application for rendering fractals (Such as Mandelbrot and Julia) using CPU-based parallelism with MPI. This approach makes it suitable for both local and distributed rendering setups. You can find the source code on GitHub.

I’ve always wanted to learn about fractal rendering and with this project, I finally did. I was also eager to explore cluster programming and MPI, so I decided to combine both goals into a single challenge.

What I learned:

  • Applying MPI in a real-world project.
  • Setting up and managing a compute cluster.
  • Implementing a Master-Worker architecture with dynamic task pulling for improved load balancing.
  • Exploring fractal mathematics and coloring techniques.
  • Understanding the impact of numerical precision limits at high zoom levels.
  • Leveraging mpfr for arbitrary-precision arithmetic.
  • Profiling performance using tools like perf, Score-P, and visualizing results with vampir.

I’ve also written a whitepaper detailing the project (in Spanish).

Sample video

This post is licensed under CC BY 4.0 by the author.