Logo by MarkJayBee - 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: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. March 29, 2024, 10:55:57 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: Multithreaded reference orbit calculation?  (Read 4911 times)
0 Members and 1 Guest are viewing this topic.
Botond Kósa
Fractal Lover
**
Posts: 233



WWW
« on: August 28, 2014, 03:09:04 PM »

I have recently noticed that when KFR is calculating a reference orbit, the CPU utilization of my 4-core machine jumps to 50%, so apparently it is doing the calculation on 2 threads. Kalle, how did you split the job between these two threads? Do you calculate the bignum arithmetics on both threads, or does the second thread calculate the SA coefficients only while the first one is calculating the next iteration?

I have not yet tried to make reference orbit calculation parallel, and it seems quite a hard problem considering the very fine granularity of the algorithm. In each iteration, squaring the re and im parts could be done concurrently, but the threads would have to be synchronized after that. Maybe busy waiting would be a viable solution.

Reference orbit calculation is one of the ultimate bottlenecks in Mandelbrot rendering, especially on computers with many cores. It would be nice if we could make it multithreaded.
Logged

Check out my Mandelbrot set explorer:
http://web.t-online.hu/kbotond/mandelmachine/
Kalles Fraktaler
Fractal Senior
******
Posts: 1458



kallesfraktaler
WWW
« Reply #1 on: August 28, 2014, 10:27:56 PM »

Yes, when going deeper than e600 I split up the reference calculation in first 3 threads.
One is squaring xr, one is squaring xi and one is doing the square of (xr+xi).
Next step is split up in 2 threads, that are using the result from the above and apply them on the real and imaginary parts.
So there are a lot of synchronizations needed for these 5 threads and it will actually slow down the reference calculation significantly for shallow locations.

My ap class is slow anyway compared with yours and FX's.
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
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
endlos - A multithreaded fractal generator in Java Announcements & News « 1 2 3 » dentaku 32 25904 Last post March 30, 2007, 08:25:21 AM
by dentaku2
Multithreaded Buddhabrot Renderer Programming « 1 2 3 » johandebock 34 14310 Last post September 25, 2015, 05:16:24 PM
by johandebock
Frame of Reference I Fractal Science Kit Gallery Ross Hilbert 0 1359 Last post July 23, 2012, 05:14:28 PM
by Ross Hilbert
Frame of Reference II Fractal Science Kit Gallery Ross Hilbert 0 826 Last post March 18, 2013, 07:25:23 PM
by Ross Hilbert
calculating new reference points using information from glitch detection Mandelbrot & Julia Set claude 0 2440 Last post July 31, 2015, 02:57:00 AM
by claude

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.192 seconds with 26 queries. (Pretty URLs adds 0.008s, 2q)