Kalles Fraktaler 2 +

download | source | benchmarks


As the orginal upstream author Karl Runmo says:

Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler!

I (Claude Heiland-Allen) forked the code and swapped out the custom arbitrary precision floating point code for highly optimized libraries, making it even faster.

Binary downloads

Note on versions:

kf-2.13
experimental new features like Newton-Raphson zooming for all formulas and analytic distance estimation
kf-2.12
stable branch, recommended for final rendering (it is significantly faster than kf-2.13)
kf-2.11
legacy releases, still provided for bisecting bugs etc

Legal note: these binaries are statically linked with GMP, which is under dual LGPLv3 / GPLv2 license. If you redistribute the binaries you must also be prepared to distribute the source corresponding to those binaries to anyone you distribute the binary to. To make this easier for you, the more recent zips include the source too (though you'll also need to get the library sources - check the about dialog ("?" menu) for details). And of course insert here the usual legal disclaimers about no warranty of any kind.

Binary downloads for Windows (both 64bit and 32bit now) (they also work in WINE on Linux, where I do my coding):

Source code repository

The source code is available from my git repository:

git clone https://code.mathr.co.uk/kalles-fraktaler-2.git
cd kalles-fraktaler-2
git checkout master       # for Karl's original upstream
git checkout kf-2.12      # for stable branch
git checkout kf-2.13      # for experimental branch
git tag -l                # list available release tags

Build instructions are in the README.md that accompanies the source code.

Benchmarks

I benchmarked with 6 Mandelbrot power 2 locations at various depths, testing each of double, scaled double, long double. Still looking for locations to benchmark scaled long double (deeper than 1e4900 or so) and floatexp (deeper than 1e9800 or so), and formulae other than power 2 Mandelbrot. Please send me locations that you are happy for me to put into the repository for benchmarking.

These results are with a smaller version of the benchmark suite found in my git repository: I only tested 'fast' settings (with both settings for the Derivatives field for kf-2.13 branch, see D0 and D1 tags), and only with an image size of '512x512'. I tested on two machines, one laptop 'latte' (Intel Core 2 Duo P7550) and one desktop 'eiskaffee' (AMD Ryzen 7 2700X).

If you want to contribute results for your machine, let me know and I can guide you through the process.

WINE Benchmarks

I don't have Windows, so these benchmarks were run in WINE (the performance of kf-2.11.1 is abysmal in WINE because of a single threaded wineserver or something along those lines). These are all with the 64bit versions. The timings are real/user/sys, which means the elapsed wall-clock time, the total CPU time for all threads, and then kernel time for the process.

versionmachine
latteeiskaffee
2.11.136m46 / 24m47 / 11m03(not tested yet)
2.12.13.1 6m42 /  9m52 /  0m491m35 /  5m44 / 0m04
2.13.4 D0 6m55 / 10m17 /  0m471m38 /  6m30 / 0m05
2.13.4 D110m25 / 19m22 /  0m151m09 / 12m51 / 0m01

Windows Benchmarks

TODO. As I don't have Windows, you sending me benchmark results would be especially appreciated. Also if anyone is using WINE on Mac OS X, if that is a thing.


(back to top)