jrMandel 0.1.2

jrMandel is a command-line, parallel Mandelbrot set fractal renderer.
jrMandel is a command-line, parallel Mandelbrot set fractal renderer. The jrMandel project is specially designed to render high-resolution fractal images taking advantage of parallel processing, either by using multiple threads of execution (and thus suitable to run on multi-core processors) or by using a Parallel Virtual M jrMandel can also render fractals without using any parallelism, in order to compare the efficiency between parallel and non-parallel runs.

I wrote jrMandel in order to evaluate the performance of different distributed process scheduling algorithms during my Master's graduate work. The tools currently used to generate synthetic processing load were too simple and limited, and I wanted something that better reassembled a real parallel task, and with good randomness about the scheduling needs.
jrMandel is written in C++, and it's design is completely object-oriented. The tool is modularized into fractals (currently only mandelbrot is available), generators (standalone, threaded and pvm are available) and output-writers (pgm and null are currently available). It was designed to be easy to add more fractals, generators or output writers in future versions.

Currently, the only options for output are Portable Graymap (PGM) or null output (fractal is only rendered in memory, and then discarded). The output in pgm mode is simple enough to our needs, and since it is an uncompressed and non-interlaced format, it has the advantage of directly assembling the file from the various pieces that arrive unordered from the distributed system. The result is a grayscale image, but you can use ImageMagick's convert tool to colorize and convert the result.


~$ jrMandel -w 0.348,-0.644:0.359,-0.652 -s 1024,768
-G pvm --show-divs --divs=2,2 jrMandel-example2.pgm
~$ convert jrMandel-example2.pgm -fx 'sin(2.5*pi*u)'
-resize 640x480 jrMandel-example2.png

~$ jrMandel -w -0.15,-0.60:0.15,-0.80 -s 640,480 jrMandel-example1.pgm
~$ convert jrMandel-example1.pgm
-channel r -fx 'sin(3*pi*u)'
-channel g -fx 'sin(5*pi*u)'
-channel b -fx 'sin(8*pi*u)' jrMandel-example1.png


· Boost 1.33.1 or higher
· PVM 3.4.0 or higher

last updated on:
October 8th, 2007, 16:05 GMT
developed by:
Juliano F. Ravasi
license type:
GPL v3 
ROOT \ Science and Engineering \ Mathematics


In a hurry? Add it to your Download Basket!

user rating 18



Rate it!
2 Screenshots

Add your review!