Mandel (sorry about the name) is a very simple, multithreaded, high resolution Mandelbrot fractal generator. It can generate large, high resolution files (say, 40000x30000 pixels) with just a few MB of RAM, and use as many processors as you care to give it. And it's GPL.
Obviously, this is no great technical feat, but for some reason I had great difficulty finding generators capable both of dimensions over 8k pixels and of leveraging SMP.
Download it here. It's licensed under the GNU General Public License. Here is a 640x10000 sample (make sure your browser doesn't scale it)
Here's a copy of the README:
Mandel - Parallel large mandelbrot set generator by Vidar 'koala_man' Holen This is a simple app for generating huge mandelbrot sets (such as 40000x30000 pixels). It supports SMP and antialiasing, and includes a tool for plotting XaoS .xpf files with the default XaoS palette. It was written because no other simple tools appeared to support sets with dimensions larger than 8000 pixels, and few handled SMP (even though Mandelbrot sets are embarrasingly parallel). Compiling: make Usage: ./mandel -w width -h height # Pixel width, height -l left -r right -u upper -d lower # Set boundaries -i iterationcount # Iterations -j jobcount # Number of threads to use -a antialiasingfactor # Antialising factor > file.ppm # Redirect to a ppm file -i, -l, -r, -u and -d can be determined by 'parsexpf' from a XaoS xpf file. Example: ./mandel `./parsexpf sample.xpf` -w 320 -h 240 -j 3 -a 2 > sample.ppm Tips for generating posters: - Check with a local print stores to see what kind of sizes and resolutions they can print. They might handle 850mm or 1000mm or more in height, and as wide as you want. As for resolution, 150 or 200dpi is usually enough for a regular poster, but perhaps not for a fractal if you want to view it up close. 600 dpi should be good. Look at a sample to determine quality. If interested, see if they can print in UV-resistant ink. - If you want a frame, find one and base your poster size on it rather than vice versa. Frames for holding standard sizes such as A0, A1 or B1 are much cheaper and nicer than custom sizes or misfitting contents. - Use the correct image format, with the correct DPI setting. .TGA files appear to be a favourite. You have to make sure the image DPI is set properly though, so just saving as TGA might not be enough. If your TGA encoder sets it to default as 200dpi, the print shop's tools might decide to resize your image to fit at the given resolution: You give them : 3000x2100mm 24000x16968px 200dpi You intended : 1000x707mm 24000x16968px 600dpi Instead you get: 1000x707mm 8000x 5656px 200dpi - Get the print shop to cut it to your exact size. Sure beats scissors for getting a meter long straight edge. - Optionally shift the palette to match your wall colour. There's a compile-time constant PALETTE_SHIFT in mandel.c you can use to shift the palette. My walls are (uhm) light peach, so I set PALETTE_SHIFT to 12 so that the edges of the accompanying example (sample.png) are yellow instead of dark purple. It makes it blend in with the wall, looking much more awesome.