Logo by Pauldelbrot - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. April 20, 2024, 02:08:11 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Bug in Kalles on fast machine?  (Read 1852 times)
0 Members and 2 Guests are viewing this topic.
recursiveidentity
Forums Freshman
**
Posts: 15


« on: August 04, 2016, 09:26:17 PM »

I'm wondering if I found a bug - I'm using 2.11 (or newest version whatever that is). I got curious and tried to use it on a virtual machine (an EC2 via Amazon web service with 40 CPU threads!)  As I expected, the first frame of my zoom out rendered in about an hour (would take over 30 hours on my home machine for the same frame) however, it then appeared to get stuck in some kind of loop - the image seemed done, but it just kept jumping back to 0% over and over, and never moved on to the next frame.  This happened with three different fractals I tried at three different resolutions.  Any ideas?

Also just curious, I'm a coder - What environment can I use to build and compile on my own?  Will Visual Studio 2010 work?  I'd love to poke around the source code sometime..

And, I guess since I'm at it (not complaining though) some other bugs I've noticed:

In the movie maker, if the old movie file is still there in the folder, the preview won't work / have to delete the old file.
Also in the movie maker, the correct values on a preview are not always picked up if you change the starting frame to a frame after a key frame (like rotation etc...)

Thanks!
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #1 on: August 04, 2016, 10:46:20 PM »

Hi

Really cool that it got 30 times faster on that 4-core machine.
I am sorry I have no ideas why it didn't proceed. I've only tried it on 4 cores, however Yann has 8 cores and dinkydau had 32 and it worked for them. And I have never tried it on a virtual machine either...
(I assume you successfully made movies before?)
Yes the code will compile with visual studio 2010 or 2013, at least these are the two compilers I've tried.
The operators of fixedfloat will unfortunately not compile on gcc-compilers.

Thanks a lot
Logged

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 http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #2 on: August 05, 2016, 12:31:19 AM »

The operators of fixedfloat will unfortunately not compile on gcc-compilers.

What do you mean by this? GCC has support for Fixed-Point Types. However, the implementation is still not finalized, and is a WIP:

Quote
As an extension, GNU C supports fixed-point types as defined in the N1169 draft of ISO/IEC DTR 18037. Support for fixed-point types in GCC will evolve as the draft technical report changes. Calling conventions for any target might also change. Not all targets support fixed-point types.
Logged

claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #3 on: August 05, 2016, 01:01:15 AM »

I think the FixedFloat is a C++ class with a pair of a double and a long, so you can get a deeper exponent range and avoid overflow/underflow when zooming past 1e-308 (or thereabouts).

Some time ago I tried cross-compiling KF2 with mingw on Linux, I failed - I recall some errors with FixedFloat and other classes possibly due to g++ being stricter about C++ standards, missing const variants of methods, etc.
Logged
valera_rozuvan
Safarist
******
Posts: 80


a test in time


valera.rozuvan valerarozuvan
WWW
« Reply #4 on: August 05, 2016, 01:12:23 AM »

I think the FixedFloat is a C++ class with a pair of a double and a long, so you can get a deeper exponent range and avoid overflow/underflow when zooming past 1e-308 (or thereabouts).

What about using some library (such as GMP) for arbitrary precision arithmetic operations? This will give cross-platform support...
Logged

claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #5 on: August 05, 2016, 02:37:20 AM »

What about using some library (such as GMP) for arbitrary precision arithmetic operations? This will give cross-platform support...

Yes I see I was wrong - CFixedFloat is the arbitrary precision floating point implementation in Kalles Fraktaler 2.  I was thinking of the floatexp class.

I use GMP and MPFR (and recommend them too) for high-precision high-range (such as reference orbits), but for low-precision high-range (such as series approximation coefficients and deep orbit deltas) a hardware double+separate exponent is likely to be faster and take less storage than GMP or MPFR.  I must admit I haven't actually run benchmarks yet though!
Logged
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #6 on: August 05, 2016, 06:19:58 PM »

Yes I see I was wrong - CFixedFloat is the arbitrary precision floating point implementation in Kalles Fraktaler 2.  I was thinking of the floatexp class.

I use GMP and MPFR (and recommend them too) for high-precision high-range (such as reference orbits), but for low-precision high-range (such as series approximation coefficients and deep orbit deltas) a hardware double+separate exponent is likely to be faster and take less storage than GMP or MPFR.  I must admit I haven't actually run benchmarks yet though!

I've commented this before without any feedback so I hope I get it now smiley
When you multiply for example two 100 digit values, you need to put the result in a 200 digit mantissa to ensure correct result. Because, if every digit is 9 the least significant digit may flip all digits and affect the result.
However that small value is meaningless when making the Mandelbrot set, so you don't need more than 100 digits. This is even how fractal extreme is doing it, so even fx is a approximative! That is why it is so fast compared to if you use standard arbitrary precision libraries.
Further, when squaring you actually don't need to use more than 50 digits.

Does a general library such as GMP not make accurate correct calculations? I doubt that...

I have tried different options and using the same type of method described by the author of fx. This requires more memory per digit, and I was able to make it faster than the current up until some 4000 digits. Then it got significantly slower! I recall Botond mentioned this as an explanation why mantel machine doesn't go deeper, there is some optimization in the compilers that is lost.

I've also tried SIMD and was able to get more than 3 times faster. However that is only applicable on double, up to e600. Mandel machine analyses the values of the "delta" and use double, or even float, when values get appropriate high, but it is difficult to determine that in a chaotic system and MM have still some problems with glitches.

So, my conclusion is that I am not able to do anything at the moment smiley
Logged

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 http://www.chillheimer.de/kallesfraktaler
http://www.facebook.com/kallesfraktaler
recursiveidentity
Forums Freshman
**
Posts: 15


« Reply #7 on: August 05, 2016, 07:48:45 PM »

Cool thanks for the reply! Yeah, I was sad that it didn't work because having access to a 40 core machine is pretty cool!  Of course it's not free, works out to about $5 an hour...

Otherwise interesting discussion, but I don't know enough to contribute further! smiley
Logged
TheRedshiftRider
Fractalist Chemist
Global Moderator
Fractal Iambus
******
Posts: 854



WWW
« Reply #8 on: August 06, 2016, 03:13:23 PM »

I've commented this before without any feedback so I hope I get it now smiley
When you multiply for example two 100 digit values, you need to put the result in a 200 digit mantissa to ensure correct result. Because, if every digit is 9 the least significant digit may flip all digits and affect the result.
However that small value is meaningless when making the Mandelbrot set, so you don't need more than 100 digits. This is even how fractal extreme is doing it, so even fx is a approximative! That is why it is so fast compared to if you use standard arbitrary precision libraries.
Further, when squaring you actually don't need to use more than 50 digits.

Does a general library such as GMP not make accurate correct calculations? I doubt that...

I have tried different options and using the same type of method described by the author of fx. This requires more memory per digit, and I was able to make it faster than the current up until some 4000 digits. Then it got significantly slower! I recall Botond mentioned this as an explanation why mantel machine doesn't go deeper, there is some optimization in the compilers that is lost.

I've also tried SIMD and was able to get more than 3 times faster. However that is only applicable on double, up to e600. Mandel machine analyses the values of the "delta" and use double, or even float, when values get appropriate high, but it is difficult to determine that in a chaotic system and MM have still some problems with glitches.

So, my conclusion is that I am not able to do anything at the moment smiley
I have been using kf for a while now, mosly on a 32bit machine. And I think there is nothing wrong with the program in terms of speed. For me, on 32bit it takes two days to make a movie and about twenty minutes to an hour on average to render a 6400×3600 image. On 64bit about 20 minutes to an hour to make a 16k by 9k image. And the zooming speed is nothing I can complain about. I would rather take time to make a good zoom. And even the formulas that have recently been added are many times faster than I expected.

I would not want a faster but unstable program. It would make things frustrating instead of relaxing. I would suggest keeping the program like it is.
Logged

Motivation is like a salt, once it has been dissolved it can react with things it comes into contact with to form something interesting. nerd
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Fast car (+params) Mandelbulb3D Gallery DarkBeam 0 734 Last post February 17, 2011, 01:26:20 PM
by DarkBeam
*fast* *cheap* Modeler renderer for voxel stack ? General Discussion ker2x 3 2000 Last post April 02, 2012, 07:57:38 PM
by ker2x
Fractal eXtreme fast rendering Announcements & News SeryZone 0 4759 Last post September 23, 2013, 09:21:15 PM
by SeryZone
giant leaps? fast exponentiation for iteration Mandelbrot & Julia Set claude 0 1515 Last post September 26, 2013, 01:09:36 AM
by claude
Mandelbrot Fast Deep Zoom to 10^4004 Movies Showcase (Rate My Movie) SeryZone 3 2721 Last post March 20, 2014, 08:50:13 PM
by SeryZone

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.165 seconds with 26 queries. (Pretty URLs adds 0.007s, 2q)