Main Page | Report this Page
 
   
Science Forum Index  »  Fractals Science Forum  »  Hardware Fractal Generator (HFG) for Mandelbrot Movie?
Page 1 of 1    
Author Message
mike3
Posted: Sat Apr 05, 2008 12:39 pm
Guest
Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?

The idea basically is to render a zoom movie in IMAX-grade resolution
(16384x8192
pixels or something like that), a half hour long, to a final
magnification of 10^1500 (that's 6x
increase in the magnification factor every second!). Obviously this is
very difficult if not
impossible on conventional commodity hardware.

How would, say, 8192 specially-built "Mchips" that contain a custom
circuit that does nothing
but do lots of complex-number "z^2 + c" operations, go for doing that?
How much would
such Mchips cost, anyway, to engineer and produce, as well as the
hardware device that
uses them? I.e. what would be the budget required to produce this
movie? How much would it
cost to produce this movie on commodity hardware, if that was at all
possible?

The Mchip would do one thing: Take an input of two floating-point
complex parameters,
z and c, a maximum iteration count, an escape radius, and then just do
the usual Mandelbrot
algorithm and spit out a pixel iteration count. That's it.

The goal would be to produce this movie with under 2 months of
computations. Engineering
and hardware construction are not included in that time figure, that's
just raw computation
time.

Is this possible?
John Bailey
Posted: Sun Apr 06, 2008 7:56 am
Guest
On Sat, 5 Apr 2008 15:39:33 -0700 (PDT), mike3 <mike4ty4@yahoo.com>
wrote:

Quote:
Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?
(snip)

Is this possible?

Judging from the improved speeds of assembly coded Mandelbrot
algorithms and edge tracing routines, a dedicated hardware embodiment
should go whizzing at impressive speeds.

Two similar constructs come to mind. The Feistel cipher is often
depicted as a ladder of calculations which are only slightly similar
to the Mandelbrot iterates but provides a model for the hardware
embodiment.
http://en.wikipedia.org/wiki/Feistel_cipher#Construction_Details

Another similar construct is the Linear Predictive Coding chip first
used in the Texas Instruments toy, Speak and Spell.
http://en.wikipedia.org/wiki/Speak_&_Spell_(game)
"The Speak & Spell used the first single-chip voice synthesizer, the
TI TMC0280, which utilized a 10th-order linear predictive coding (LPC)
model and the electronic DSP logic.[2]."

The Speak and Spell chips produced the effect of a ladder of
difference filters in order to simulate the human voice box. Depending
on your interest, a search for the current expressions of these
technologies should illuminate the basic approach for a dedicated
M-brot generator. My guess is that standard DSP IC's would suffice for
the building blocks.
Inigo Quilez
Posted: Sun Apr 06, 2008 2:11 pm
Guest
I guess what you need is an FPGA to make the prototype, and then go
with it to convince some hardware manufacturer so he implements the
thing in an ASIC (fpgas are not that fast). If I was you, I would just
do it in software, it's free, takes one day to implement, and you
don't have to mess one year of hardware headaches. If you are in a
hurry, just borrow some PCs, rendering speed will scale linearly with
the amount of friends you have. I'm serious, go for software. By the
way, I realized that with the amount of pixels your movie will have,
it will take around one week to the fastest disk on the market to
write the data out, whatever the rendering speed is Smile Smile Funny
(although you can parallelize both works of course). However I still
don't see what's the interest of going deeper and deeper, you will not
make more beautiful images like that (these horrible videos are the
proof of it: http://www.fractal-animation.net/ufvp.html, poor guy) ,
unless you want a kind of Guinness record or something.Where are you
from?
mike3
Posted: Sun Apr 06, 2008 4:15 pm
Guest
On Apr 6, 6:11 pm, Inigo Quilez <caos.s...@lycos.com> wrote:
Quote:
I guess what you need is an FPGA to make the prototype, and then go
with it to convince some hardware manufacturer so he implements the
thing in an ASIC (fpgas are not that fast). If I was you, I would just
do it in software, it's free, takes one day to implement, and you
don't have to mess one year of hardware headaches. If you are in a
hurry, just borrow some PCs, rendering speed will scale linearly with
the amount of friends you have. I'm serious, go for software. By the
way, I realized that with the amount of pixels your movie will have,
it will take around one week to the fastest disk on the market to
write the data out, whatever the rendering speed is Smile Smile Funny
(although you can parallelize both works of course). However I still
don't see what's the interest of going deeper and deeper, you will not
make more beautiful images like that (these horrible videos are the
proof of it:http://www.fractal-animation.net/ufvp.html, poor guy) ,
unless you want a kind of Guinness record or something.Where are you
from?

On those deep zooms though they went into the "easy" real-axis
spike area, which tends to have lower iteration counts. I would
target something else, like the Candelabra valley area (at
~ -0.5622 + 0.6428i), or down in the Seahorse or Elephant valleys.
Areas with more complexity. I suppose the manufacturer
could be "convinced" with enough money. :)

Also, hardware will be necessary. On my computer, 8,000,000
iterations of a single pixel at 10^1500 depth takes around 35
minutes, using 1 CPU core. With the quad core that gives
1 pixel every 9 minutes effectively.

Using that figure, and assuming we actually average 1/6 this
time over the whole movie (since it's not all going to be rendered
at 10^1500 depth and not all at 8,000,000 iterations certainly not
for every pixel!), that is, 1 pixel every 1.5 minutes, then to
render it on my machine alone would take 16384x8192x30x60x30x1.5 1.08 trillion minutes to render the whole film, or 21 million years.
Holy cow.

But of course we weren't planning on using just one computer.
Naah. Even with 1000 computers we're still talking 21 millenia.
Even a million computers takes us to 21 years. That's way too
much. Ten million computers or more is what we'd need. That's
several BILLION dollars worth of computing equipment. I'd
say around $7 billion using commodity hardware. Nah, that's too
much for such a cheesy movie.

So the question then is, how much speedup would an ASIC offer?
Would 100x the power of a regular CPU be like it? If so, then
we'd need only 100,000 ASICs to get the job done. If one can
get them at $3000 a piece, we're down to $300,000,000 budget.
Is that a good estimate?

Failing that, we could always settle for a lower-resolution movie,
and abandon IMAX, or go for a lower zoom depth. If we did
the film at, say, 4096x2048 resolution (1/16 what we had before),
we'd need under a million commodity computers, and only
6,250 ASICs, which would @ $3000/pc. give $18,750,000
budget. Not as bad.

We could also quarter the exponent in the zoom, settling for
10^375 final magnification. This would still give us around
1.6x per second (i.e. the zoom factor is multiplied by 1.6 every
second, not 1.6 is added every second.). Since multiplication
grows at O(n^2), this means we cut our time by 16. The
required iteration count goes down too. I'll say down
by half just to be pessimistic. We're then down to 1/32 of
the time. That would give us around $9.4 million on ASICs,
$200 million on commodity.

Of course, all that up there was more or less entirely
guesstimated, so it could be all (and likely IS all) way off.
But it makes me think that ASICs are in fact much cheaper
than commodity hardware for the production of this film of films...
mike3
Posted: Sun Apr 06, 2008 4:30 pm
Guest
On Apr 6, 6:56 am, John Bailey <john_bai...@rochester.rr.com> wrote:
Quote:
On Sat, 5 Apr 2008 15:39:33 -0700 (PDT), mike3 <mike4...@yahoo.com
wrote:



Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?
(snip)

Is this possible?

Judging from the improved speeds of assembly coded Mandelbrot
algorithms and edge tracing routines, a dedicated hardware embodiment
should go whizzing at impressive speeds.

Two similar constructs come to mind.  The Feistel cipher is often
depicted as a ladder of calculations which are only slightly similar
to the Mandelbrot iterates but provides a model for the hardware
embodiment.http://en.wikipedia.org/wiki/Feistel_cipher#Construction_Details

Another similar construct is the Linear Predictive Coding chip first
used in the Texas Instruments toy, Speak and Spell.http://en.wikipedia.org/wiki/Speak_&_Spell_(game)
"The Speak & Spell used the first single-chip voice synthesizer, the
TI TMC0280, which utilized a 10th-order linear predictive coding (LPC)
model and the electronic DSP logic.[2]."

The Speak and Spell chips produced the effect of a ladder of
difference filters in order to simulate the human voice box. Depending
on your interest, a search for the current expressions of these
technologies should illuminate the basic approach for a dedicated
M-brot generator. My guess is that standard DSP IC's would suffice for
the building blocks.

Hmm. It looks though like this would be a complicated circuit.

Here's a diagram for a 4-by-4 bit -> 8-bit multiplier I scrounged
up:

http://www.edacafe.com/books/ASIC/Book/CH02/CH02-38.gif

Now imagine 4096-by-4096 bits -> 8192 bits. Yow-wee. That's
like 1048576 times more complex. Plus you need that
extra stuff to handle the floating point bits (exponent field, sign.).
And you need 3 of these multiplier circuits since it's a complex
multiplication (squaring). Plus adder/subtractor circuits as well,
although those are much less complicated than the multiplier.

Looks like custom-made silicon would be the only viable
approach here. That would mean one would have to hire a foundry
to do the run, and this might not be a very large run, relatively
speaking. One would also have to hire an engineering crew if
one did not have the knowledge to engineer it oneself or could
not find someone wanting to volunteer for to do it. That would
increase the pricetag.

We could cut back on the ambitions a bit and shoot only for,
say, 1536 bits, which gives us a zoom of around 10^450 or so
(zoom rate: 1.78x/sec.). But that's still one darned complicated
circuit, although it has over 7x less elements in the multipliers.

I was wondering: Could one use a Karatsuba-type "divide-&-conquer"
multiply method to simplify the circuit? Would it provide any
significant simplification at these relatively short bitlengths?
mike3
Posted: Sun Apr 06, 2008 5:52 pm
Guest
On Apr 6, 8:30 pm, mike3 <mike4...@yahoo.com> wrote:
Quote:
On Apr 6, 6:56 am, John Bailey <john_bai...@rochester.rr.com> wrote:





On Sat, 5 Apr 2008 15:39:33 -0700 (PDT), mike3 <mike4...@yahoo.com
wrote:

Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?
(snip)

Is this possible?

Judging from the improved speeds of assembly coded Mandelbrot
algorithms and edge tracing routines, a dedicated hardware embodiment
should go whizzing at impressive speeds.

Two similar constructs come to mind.  The Feistel cipher is often
depicted as a ladder of calculations which are only slightly similar
to the Mandelbrot iterates but provides a model for the hardware
embodiment.http://en.wikipedia.org/wiki/Feistel_cipher#Construction_Details

Another similar construct is the Linear Predictive Coding chip first
used in the Texas Instruments toy, Speak and Spell.http://en.wikipedia.org/wiki/Speak_&_Spell_(game)
"The Speak & Spell used the first single-chip voice synthesizer, the
TI TMC0280, which utilized a 10th-order linear predictive coding (LPC)
model and the electronic DSP logic.[2]."

The Speak and Spell chips produced the effect of a ladder of
difference filters in order to simulate the human voice box. Depending
on your interest, a search for the current expressions of these
technologies should illuminate the basic approach for a dedicated
M-brot generator. My guess is that standard DSP IC's would suffice for
the building blocks.

Hmm. It looks though like this would be a complicated circuit.

Here's a diagram for a 4-by-4 bit -> 8-bit multiplier I scrounged
up:

http://www.edacafe.com/books/ASIC/Book/CH02/CH02-38.gif

Now imagine 4096-by-4096 bits -> 8192 bits. Yow-wee. That's
like 1048576 times more complex. Plus you need that
extra stuff to handle the floating point bits (exponent field, sign.).
And you need 3 of these multiplier circuits since it's a complex
multiplication (squaring). Plus adder/subtractor circuits as well,
although those are much less complicated than the multiplier.


Nitpick: that's actually a 6-bit multiplier not 4. But you get the
idea.
Guest
Posted: Sun Apr 06, 2008 9:41 pm
mike3 wrote:
Quote:
Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?

Hi Mike,


Perhaps you can adopt a compromise solution and try and make use of
existing hardware such as graphics accelerator cards to solve the
problem? It is definitely possible to write a Mandelbrot pixel shader
(since it has been done already) and perhaps you could extend this to
use higher precision numbers by encoding bits across multiple textures
or something? This should allow you to take advantage of the massive
parallelism that a GPU can offer. Most cards don't support the
gigantic image sizes you are talking about, but you could just render
frames in chunks of 1024*1024 pixels at a time.
Inigo Quilez
Posted: Mon Apr 07, 2008 12:34 am
Guest
"16384x8192x30x60x30x1.5 = 1.08 trillion minutes"

You are forgetting antialiasing and motion blur... "no no no, please
don't render such an epic movie without motion blur, or you will go to
hell". If you do 3x3x24 supersampling for example (as I used once here
http://www.youtube.com/watch?v=fLrSapMYUlI - it was back in 2002 I
think), you get 2348 trillion minutes (more than4 trillion years), not
bad!

Now, speaking only on how I would do it (so I might not apply to your
project), I would try some more clever coloring algorithm than the old
escape time one (so 80s), imho it's a pity to render such a long movie
with "that" algorithm. Say you do some orbit traps, or distance
estimation... put few log() or sin() here and there... and your 1.5
minutes/pixel estimation goes to 20. Oh yes, by the way, how did you
do the 1.5 min/pixel experiment? Did you implement your own bignum
library?

I still think that since doing it in HW will just speed up by a
constant factor (say x100, what I feel is too optimistic) you don't
really solve the problem. You need to find something clever to compute
the movie in sublinear time... I don't know what or how, exploiting
some kind of frame to frame coherence perhaps (ala Xaos), dunno. I
would personally rather spend the budget to convince people to put
your program as wallpaper as they do with the "electric sheep", or ask
google to give a hand.

Indeed as ahkna says, today with pixel shaders 4 and integer textures
and instructions support, one can implement "arbitrary" precision
arithmetic. I would definitively give it a try during few weeks to say
if its an interesting alternative, I personally see it much more
attractive than going the HW way, if its fast enough of course.

Sorry for writing so many random comments. Keep us updated Smile
John Bailey
Posted: Mon Apr 07, 2008 7:04 am
Guest
On Sat, 5 Apr 2008 15:39:33 -0700 (PDT), mike3 <mike4ty4@yahoo.com>
wrote:

Quote:
Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?

Nice question--good thread! Thanks.

A further thought: As I understand recent advances in mpeg data
compression (not much, maybe not at all) it is possible that you need
only to compute a fraction of the pixels in each frame, the remaining
being extrapolated from the previous frame(s) To the extent that this
is true and you can exploit it in selecting fewer pixels to compute,
the approach of using software rather than hard-wired chips makes a
lot of sense.

http://home.rochester.rr.com/jbxroads/interests/sci.fractals/rasterless/
demonstrates a concept I scratched at several years ago. The idea was
to allow the interacting user to get a sense of the full image before
having to tediously plot it from one edge to the other.

The essential idea is to generate a quasi-random selection of points
which populate the plotting area in such a way that no point is ever
plotted more than once. The entire field of view is thus sampled and
a complete image built up. Most computer's today are so fast the full
image appears almost instanteously anyway but at the time, the slower
emergence of the image was more obvious.

The concept was carried to a prototype stage in Fractint but I never
developed completely the ideas for retaining previous frame elements
when shifting location. Importing concepts from mpeg would be a
logical follow-on step. It might allow array processing of a few
thousand points at a time, with each micro-processor receiving its
assignments from the rasterless computation. Such an array might
actually be less expensive than attempting a specialized ladder of
dedicated asics et al.
mike3
Posted: Mon Apr 07, 2008 9:13 am
Guest
On Apr 7, 4:34 am, Inigo Quilez <caos.s...@lycos.com> wrote:
Quote:
"16384x8192x30x60x30x1.5 = 1.08 trillion minutes"

You are forgetting antialiasing and motion blur... "no no no, please
don't render such an epic movie without motion blur, or you will go to
hell". If you do 3x3x24 supersampling for example (as I used once herehttp://www.youtube.com/watch?v=fLrSapMYUlI- it was back in 2002 I
think), you get 2348 trillion minutes (more than4 trillion years), not
bad!


I know, going at a zoom rate of 6x per second would require motion
blur to get rid of choppiness. This makes me wonder about shooting
for a smaller zoom depth, say only 10^500 vs. 10^1500. This would
also require much less arithmetic (with n^2 multiplication, the drop
in logarithm from 1500 to 500 gives one-ninth the time. Plus the
max iteration count required drops too.). That has a zoom rate of
only 1.9x/sec. P.S., 2348 trillion minutes is not 4 trillion years,
but 4 billion (4 x 10^9) years. About the age of the entire Earth Sad
Yuck.

Quote:
Now, speaking only on how I would do it (so I might not apply to your
project), I would try some more clever coloring algorithm than the old
escape time one (so 80s), imho it's a pity to render such a long movie
with "that" algorithm. Say you do some orbit traps, or distance
estimation... put few log() or sin() here and there... and your 1.5
minutes/pixel estimation goes to 20. Oh yes, by the way, how did you
do the 1.5 min/pixel experiment? Did you implement your own bignum
library?


I would rather use escape time, since it is so simple, and like you
said, putting a clever coloring algorithm in there would only serve to
punish the render time considerably. I say go for simplicity
and maximum speed. I've also not been impressed myself with the
lack of fine detail revealed by orbit traps and distance estimator,
and the "blobby" look I seem to get with them, although maybe
my implementation is crap Smile Although perhaps I would use a smoothed
iteration count to avoid banding. That only requires one log
computation, at the end of the iteration, and it's on a real
number.

I used an existing implementation for the 1.5mins/pixel. Currently,
I have been _trying_ to implement my own bignum package, but
right now I haven't managed to produce one I actually liked yet.

Even if I could achieve a 4x speedup on the software, to 22.5 sec/
pixel, it would still take 5.25 million computer-years to render
the movie, according to my rough guesstimate of 1/6 final frame
time for average frame time on current commodity hardware.
If that was $1000/machine, we're still taking a few billion bucks
budget here on commodity.

Quote:
I still think that since doing it in HW will just speed up by a
constant factor (say x100, what I feel is too optimistic) you don't
really solve the problem. You need to find something clever to compute
the movie in sublinear time... I don't know what or how, exploiting
some kind of frame to frame coherence perhaps (ala Xaos), dunno. I
would personally rather spend the budget to convince people to put
your program as wallpaper as they do with the "electric sheep", or ask
google to give a hand.


Why does it have to scale under linear, anyway? Like I said,
if you _could_ get a 100x speedup, it would give custom HW a
big advantage over commodity computing, to the point it could
actually be cheaper. The "problem" here is to get the film to
screen in reasonable time for reasonable budget, not to find
sub-linear solutions.

We have three approaches:

Non-Guaranteed:
1. Convince people like you said to donate their space CPU
cycles.

Problem 1: I'm not sure a lot of people would be willing to put
their machines to compute such fluff. Therefore, there is
a big uncertainty as to whether or not the film would actually
see the light of day.

Problem 2: Machines will be very variable in speed and
capacity, which means it would likely take much more than
my estimates give, which are based on identical machines
with a fairly decent CPU. Also, machines will not be able to
devote their entire CPU capacity to the task.

Guaranteed:

2. Purchase a few million commodity boxes.

Problem: Getting all that manufactured in such huge volume
would be a challenge. Pricetag is very large, into the billions
of dollars. But it would get the job done.

3. Get custom hardware to do the job.

Problem?: Engineering cost will be steep. However, billions of
dollars seems unlikely. Then again, maybe it is. Don't know.
(Esp. if we need high speeds like 50 mill. 4096-bit ops/sec)
Producing enough chips (tens of thousands, likely) though,
may be expensive. Do not know how much that would cost.
Although I'm thinking this will be cheaper than commodity
hardware, I'm not sure. But it's still gonna be expensive.

If one is serious about getting this film to screen, then (1) is
out of the question, and therefore one must go for (2) or (3).
A billion dollars is 4 times the budget of Titanic, the most expensive
movie ever produced. The ASIC-based custom HW may still
run to several tens of millions, which is comparable to most
big budget Hollywood films. Getting enough sponsors to get
together a budget like that for an independent "studio" will be
difficult. Especially for a film as "niche" as this one, since I'm
not sure how many people in the world would want to come and
spend 30 minutes of their time watching a cheesy zoom-through
of the Mandelbrot set, an object from obscure mathematics Smile
(Although I would, if I were the one producing this. And even if
I wasn't. Smile )

So considering that I doubt this would be a smash hit at the box
office, that limits the budget, at least if you're relying on other
people to fund it out of expecting a return on the investment,
vs. making the money oneself somehow (start a big company,
etc.).

Quote:
Indeed as ahkna says, today with pixel shaders 4 and integer textures
and instructions support, one can implement "arbitrary" precision
arithmetic. I would definitively give it a try during few weeks to say
if its an interesting alternative, I personally see it much more
attractive than going the HW way, if its fast enough of course.

Sorry for writing so many random comments. Keep us updated Smile
Inigo Quilez
Posted: Wed Apr 09, 2008 2:15 am
Guest
Quote:
Now, speaking only on how I would do it (so I might not apply to your
project), I would try some more clever coloring algorithm than the old
escape time one (so 80s), imho it's a pity to render such a long movie
with "that" algorithm. Say you do some orbit traps, or distance
estimation... put few log() or sin() here and there... and your 1.5
minutes/pixel estimation goes to 20. Oh yes, by the way, how did you
do the 1.5 min/pixel experiment? Did you implement your own bignum
library?

I would rather use escape time, since it is so simple, and like you
said, putting a clever coloring algorithm in there would only serve to
punish the render time considerably. I say go for simplicity
and maximum speed. I've also not been impressed myself with the
lack of fine detail revealed by orbit traps and distance estimator,
and the "blobby" look I seem to get with them, although maybe
my implementation is crap Smile

these ones are not astonishing, but quite watchable work on orbit
traps (even at very small zoom levels)

http://www.fractal-recursions.com/files/anim/anim.html

Quote:
Although perhaps I would use a smoothed
iteration count to avoid banding. That only requires one log
computation, at the end of the iteration, and it's on a real
number.

If one is serious about getting this film to screen, then (1) is
out of the question, and therefore one must go for (2) or (3).
A billion dollars is 4 times the budget of Titanic, the most expensive
movie ever produced. The ASIC-based custom HW may still
run to several tens of millions, which is comparable to most
big budget Hollywood films. Getting enough sponsors to get
together a budget like that for an independent "studio" will be
difficult. Especially for a film as "niche" as this one, since I'm
not sure how many people in the world would want to come and
spend 30 minutes of their time watching a cheesy zoom-through
of the Mandelbrot set, an object from obscure mathematics Smile
(Although I would, if I were the one producing this. And even if
I wasn't. Smile )

hehe, I would definitively not go to cinema for a log2(log())
rendering of the Mandelbrot set (btw you need two logs for the
smoothed iteration count since it's based on the lof of the HD
potential).

Still, to my eyes it's 'crazy' to spend a multimillion dollar budget
to render with escape time algorithm, I really fail to see the point.
Unless you really want to stress your spectators on the zooming idea
(so they understand the idea of inifinity perhaps?), but you didn't
explain us yet why you want to zoom so deep, I'm really curious
(although the fact you speak in dollars and not in eurosa gives me an
clue Wink )

Good luck anyway, and if the projects is not too secret and you can
drop a line from time to time here, please do it!
mike3
Posted: Sat Apr 12, 2008 4:26 pm
Guest
On Apr 9, 6:15 am, Inigo Quilez <caos.s...@lycos.com> wrote:
Quote:
Now, speaking only on how I would do it (so I might not apply to your
project), I would try some more clever coloring algorithm than the old
escape time one (so 80s), imho it's a pity to render such a long movie
with "that" algorithm. Say you do some orbit traps, or distance
estimation... put few log() or sin() here and there... and your 1.5
minutes/pixel estimation goes to 20. Oh yes, by the way, how did you
do the 1.5 min/pixel experiment? Did you implement your own bignum
library?

I would rather use escape time, since it is so simple, and like you
said, putting a clever coloring algorithm in there would only serve to
punish the render time considerably. I say go for simplicity
and maximum speed. I've also not been impressed myself with the
lack of fine detail revealed by orbit traps and distance estimator,
and the "blobby" look I seem to get with them, although maybe
my implementation is crap :)

these ones are not astonishing, but quite watchable work on orbit
traps (even at very small zoom levels)

http://www.fractal-recursions.com/files/anim/anim.html


I'm curious to know the details of their implementation.

Quote:




Although perhaps I would use a smoothed
iteration count to avoid banding. That only requires one log
computation, at the end of the iteration, and it's on a real
number.

If one is serious about getting this film to screen, then (1) is
out of the question, and therefore one must go for (2) or (3).
A billion dollars is 4 times the budget of Titanic, the most expensive
movie ever produced. The ASIC-based custom HW may still
run to several tens of millions, which is comparable to most
big budget Hollywood films. Getting enough sponsors to get
together a budget like that for an independent "studio" will be
difficult. Especially for a film as "niche" as this one, since I'm
not sure how many people in the world would want to come and
spend 30 minutes of their time watching a cheesy zoom-through
of the Mandelbrot set, an object from obscure mathematics Smile
(Although I would, if I were the one producing this. And even if
I wasn't. Smile )

hehe, I would definitively not go to cinema for a log2(log())
rendering of the Mandelbrot set (btw you need two logs for the
smoothed iteration count since it's based on the lof of the HD
potential).

Still, to my eyes it's 'crazy' to spend a multimillion dollar budget
to render with escape time algorithm, I really fail to see the point.

But the budget gets even bigger when going for other methods,
plus it seems that something like orbit-traps though does not give
the nice results I liked. For one thing, at least with the
implementation
I have used it gives "blobby" stuff without much fine detail.

Quote:
Unless you really want to stress your spectators on the zooming idea
(so they understand the idea of inifinity perhaps?), but you didn't
explain us yet why you want to zoom so deep, I'm really curious
(although the fact you speak in dollars and not in eurosa gives me an
clue Wink )


Why do I want to zoom so deep? Curiosity. Exploration. To see what's
down there in the depths. And having seen so many zoom movies, I've
always wondered what it would look like to zoom into this thing in
huge resolution, especially IMAX, with the huge amount of vivid detail
that would be available, to be able to marvel and appreciate the
wonderful complexity of this thing.

Is that what you guessed? :)

Quote:
Good luck anyway, and if the projects is not too secret and you can
drop a line from time to time here, please do it!

I suppose I could, although don't expect much, as first off I do not
yet
have millions and millions of dollars at this point.

Although I have been thinking about shorter, shallower zooms at more
modest resolution, for example zooming to 10^70 in 10 minutes at big
HDTV resolution (1920x1080 pixels). Such smaller zooms could be
achievable via commodity hardware. But I'd still need a fairly large
supercomputing setup that would cost tens of thousands or more of
dollars and I just don't have that type of cash on hand.

So then it comes down to how to get rich...
pg
Posted: Sat May 03, 2008 4:57 pm
Guest
On Apr 6, 5:56 am, John Bailey <john_bai...@rochester.rr.com> wrote:
Quote:
On Sat, 5 Apr 2008 15:39:33 -0700 (PDT), mike3 <mike4...@yahoo.com
wrote:



Hi.

I was wondering: What would it take to have a special hardware fractal
generator (HFG)
that could calculate, say, the Mandelbrot set, to extremely deep zoom
levels (say,
4096 bits of precision (!))? How much of an advantage would it offer
over a regular
computer?
(snip)

Is this possible?

Judging from the improved speeds of assembly coded Mandelbrot
algorithms and edge tracing routines, a dedicated hardware embodiment
should go whizzing at impressive speeds.

Two similar constructs come to mind. The Feistel cipher is often
depicted as a ladder of calculations which are only slightly similar
to the Mandelbrot iterates but provides a model for the hardware
embodiment.http://en.wikipedia.org/wiki/Feistel_cipher#Construction_Details

Another similar construct is the Linear Predictive Coding chip first
used in the Texas Instruments toy, Speak and Spell.http://en.wikipedia.org/wiki/Speak_&_Spell_(game)
"The Speak & Spell used the first single-chip voice synthesizer, the
TI TMC0280, which utilized a 10th-order linear predictive coding (LPC)
model and the electronic DSP logic.[2]."

The Speak and Spell chips produced the effect of a ladder of
difference filters in order to simulate the human voice box. Depending
on your interest, a search for the current expressions of these
technologies should illuminate the basic approach for a dedicated
M-brot generator. My guess is that standard DSP IC's would suffice for
the building blocks.


Perhaps an FPGA with DSP function built in? 8192 is not a large enough
number to justify the cost of making a mask for the "M-chip", or to
make it an ASIC, etc.
pg
Posted: Sat May 03, 2008 5:00 pm
Guest
Do you know the cost of making an ASIC? Tens of millions !!!

FPGA may not be fast, but at a cost of 5 dollars each (more if you
need DSP function built in), multiply it with 8192, additional
hardware cost, et cetera, you can hack a machine within One Million
USD.


On Apr 6, 5:11 pm, Inigo Quilez <caos.s...@lycos.com> wrote:
Quote:
I guess what you need is an FPGA to make the prototype, and then go
with it to convince some hardware manufacturer so he implements the
thing in an ASIC (fpgas are not that fast). If I was you, I would just
do it in software, it's free, takes one day to implement, and you
don't have to mess one year of hardware headaches. If you are in a
hurry, just borrow some PCs, rendering speed will scale linearly with
the amount of friends you have. I'm serious, go for software. By the
way, I realized that with the amount of pixels your movie will have,
it will take around one week to the fastest disk on the market to
write the data out, whatever the rendering speed is Smile Smile Funny
(although you can parallelize both works of course). However I still
don't see what's the interest of going deeper and deeper, you will not
make more beautiful images like that (these horrible videos are the
proof of it:http://www.fractal-animation.net/ufvp.html, poor guy) ,
unless you want a kind of Guinness record or something.Where are you
from?
pg
Posted: Sat May 03, 2008 5:08 pm
Guest
On Apr 6, 7:15 pm, mike3 <mike4...@yahoo.com> wrote:
Quote:
On Apr 6, 6:11 pm, Inigo Quilez <caos.s...@lycos.com> wrote:



I guess what you need is an FPGA to make the prototype, and then go
with it to convince some hardware manufacturer so he implements the
thing in an ASIC (fpgas are not that fast). If I was you, I would just
do it in software, it's free, takes one day to implement, and you
don't have to mess one year of hardware headaches. If you are in a
hurry, just borrow some PCs, rendering speed will scale linearly with
the amount of friends you have. I'm serious, go for software. By the
way, I realized that with the amount of pixels your movie will have,
it will take around one week to the fastest disk on the market to
write the data out, whatever the rendering speed is Smile Smile Funny
(although you can parallelize both works of course). However I still
don't see what's the interest of going deeper and deeper, you will not
make more beautiful images like that (these horrible videos are the
proof of it:http://www.fractal-animation.net/ufvp.html, poor guy) ,
unless you want a kind of Guinness record or something.Where are you
from?

On those deep zooms though they went into the "easy" real-axis
spike area, which tends to have lower iteration counts. I would
target something else, like the Candelabra valley area (at
~ -0.5622 + 0.6428i), or down in the Seahorse or Elephant valleys.
Areas with more complexity. I suppose the manufacturer
could be "convinced" with enough money. :)

Also, hardware will be necessary. On my computer, 8,000,000
iterations of a single pixel at 10^1500 depth takes around 35
minutes, using 1 CPU core. With the quad core that gives
1 pixel every 9 minutes effectively.

Is there any room for more optimizing? Software wise, using different
algorithms sometimes may see 10X, 100X or even 10000X improvements in
speed, you know?


Quote:

Using that figure, and assuming we actually average 1/6 this
time over the whole movie (since it's not all going to be rendered
at 10^1500 depth and not all at 8,000,000 iterations certainly not
for every pixel!), that is, 1 pixel every 1.5 minutes, then to
render it on my machine alone would take 16384x8192x30x60x30x1.5 =
1.08 trillion minutes to render the whole film, or 21 million years.
Holy cow.

But of course we weren't planning on using just one computer.
Naah. Even with 1000 computers we're still talking 21 millenia.
Even a million computers takes us to 21 years. That's way too
much. Ten million computers or more is what we'd need. That's
several BILLION dollars worth of computing equipment. I'd
say around $7 billion using commodity hardware. Nah, that's too
much for such a cheesy movie.

So the question then is, how much speedup would an ASIC offer?
Would 100x the power of a regular CPU be like it? If so, then
we'd need only 100,000 ASICs to get the job done. If one can
get them at $3000 a piece, we're down to $300,000,000 budget.
Is that a good estimate?

Failing that, we could always settle for a lower-resolution movie,
and abandon IMAX, or go for a lower zoom depth. If we did
the film at, say, 4096x2048 resolution (1/16 what we had before),
we'd need under a million commodity computers, and only
6,250 ASICs, which would @ $3000/pc. give $18,750,000
budget. Not as bad.

We could also quarter the exponent in the zoom, settling for
10^375 final magnification. This would still give us around
1.6x per second (i.e. the zoom factor is multiplied by 1.6 every
second, not 1.6 is added every second.). Since multiplication
grows at O(n^2), this means we cut our time by 16. The
required iteration count goes down too. I'll say down
by half just to be pessimistic. We're then down to 1/32 of
the time. That would give us around $9.4 million on ASICs,
$200 million on commodity.

Of course, all that up there was more or less entirely
guesstimated, so it could be all (and likely IS all) way off.
But it makes me think that ASICs are in fact much cheaper
than commodity hardware for the production of this film of films...
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Mon Oct 13, 2008 5:36 pm