What are Fractal Images? sets of points generated by iterating - - PDF document

what are fractal images
SMART_READER_LITE
LIVE PREVIEW

What are Fractal Images? sets of points generated by iterating - - PDF document

Matthias Book: Parallel Fractal Image Generation May 3, 2001 What are Fractal Images? sets of points generated by iterating Parallel Fractal Image Generation relatively simple calculations Matthias Book contain infinite detail show


slide-1
SLIDE 1

Matthias Book: Parallel Fractal Image Generation May 3, 2001 CS 580 - Parallel Processing 1 Parallel Fractal Image Generation

Matthias Book

CS 580 - Parallel Processing The University of Montana May 3, 2001

What are Fractal Images?

sets of points generated by iterating relatively simple calculations contain infinite detail show self-similarity have a fractal dimension

What are Fractal Images?

The complex plane

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

Imaginary axis Real axis

1 : − = i

C x yi | C|

yi x C + = What ar e Fr act al I m ages?

The it erat ion formula

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

0.50000

  • 0.50000

0.75000

  • 1.28125

0.89038

  • 4.16273
  • 41.65354
  • 608.28115

2047006.620082 10076130739563.00000

  • 1.00000
  • 0.25000
  • 1.18750
  • 0.15234
  • 2.61839

5.06320 7.30768

  • 1682.61511

2461186.65194 1867203633030.90000 1 2 3 4 5 6 7 8 9 10 I m Z n R e Z n n

C = - 1.0 + 0.5i

C Z Z Z

n n

+ = =

+ 2 1

What ar e Fr act al I m ages?

I t erat ion approaching infinit y

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

C = - 1.0 + 0.5i

1.11803 0.55902 1.40451 1.29028 2.76564 6.55472 42.28971 1789.18964 3201199.12507 10247675838353.00000 1 2 3 4 5 6 7 8 9 10 | Z n| n

C Z Z Z

n n

+ = =

+ 2 1

What ar e Fr act al I m ages?

I t erat ion converging

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

0.35355339059327 0.45069390943300 0.47005027989035 0.40997608405816 0.33506252161220 0.34958508021450 0.39034473986338 0.40606669062459 0.39395730588684 0.37488377936362 ... 0.38268343236512 0.38268343236508 0.38268343236507 0.38268343236508 0.38268343236510 0.38268343236510 0.38268343236509 0.38268343236509 0.38268343236509 0.38268343236509 0.38268343236509 1 2 3 4 5 6 7 8 9 10 ... 110 111 112 113 114 115 116 117 118 119 120 | Z n| n

C = 0.25 - 0.25i

C Z Z Z

n n

+ = =

+ 2 1

slide-2
SLIDE 2

Mat t hias Book: Par allel Fr act al I m age Gener at ion May 3, 2001 CS 580 - Parallel Processing 2

What ar e Fr act al I m ages?

I t erat ion looping

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

C = - 0.5 - 0.5i

0.70710678118655 0.50000000000000 0.55901699437495 0.73154374441998 0.18023862492280 0.69951506698028 0.45627830615575 0.56915055236267 0.68760238111038 0.24992959329357 ... 0.48608739226858 0.48154429128127 0.52267815373996 0.45621548679314 0.52219422862102 0.48025876780351 0.48822527911022 0.51699488717534 0.45968041794762 0.52254879060228 0.47565161324317 1 2 3 4 5 6 7 8 9 10 ... 140 141 142 143 144 145 146 147 148 149 150 | Z n| n

C Z Z Z

n n

+ = =

+ 2 1

What ar e Fr act al I m ages?

The Mandelbrot set

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

C Z Z Z

n n

+ = =

+ 2 1 Z → ∞ ∞ Z → fix point Z looping

What ar e Fr act al I m ages?

I mage charact erist ics

self- similarit y infit e det ail I t er at ion m axim um : 150

What ar e Fr act al I m ages?

I mage charact erist ics

m ore it erat ions

higher accur acy

I t er at ion m axim um : 1, 500, 000

Parallel Algorit hm Design

Mot ivat ion:

  • deep zoom s r equir e high it er at ion count
  • m ax. it er at ion count alw ays r eached
  • n t he inside of t he set
  • high im age r esolut ions desir ed
  • e.g. 8x11" f r act al at 600 dpi: 31,680,000 pixels,

each w it h < = 2, 000, 000 it er at ions

long com put at ion t im es w it h ser ial algor it hm s

par allel com put ing can decr ease com put at ion t im e

Parallel Algorit hm Design

Part it ioning

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

ASCI I out put : '#' = Z appr oaches inf init y ' ' = Z does not appr oach inf init y

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

sm allest unit of com put at ion: 1 pixel

slide-3
SLIDE 3

Mat t hias Book: Par allel Fr act al I m age Gener at ion May 3, 2001 CS 580 - Parallel Processing 3

Parallel Algorit hm Design

Blockw ise Agglom erat ion

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Pr oble m : load not evenly balanced

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

Parallel Algorit hm Design

Linew ise Agglom erat ion

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

Solut ion: load now r elat ively evenly balanced

0.5

  • 0.5

0.5

  • 0.5
  • 1.0
  • 1.5

yi x

Parallel Algorit hm Design

Com m unicat ion

t asks don't have consecut ive lines of im age

synchr onizat ion f or sequent ial out put r equir ed

1 2 3 4

  • ut put line
  • ut put line
  • ut put line
  • ut put line

send not if icat ion send not if icat ion send not if icat ion send not if icat ion

Pr oble m : only 1 t ask act ive at any t im e

Parallel Algorit hm Design

Non- blocking com m unicat ion

Solut ion: use non- blocking com m unicat ion

  • w hile lines t o com put e

non- blocking r eceive f r om pr evious node com put e lines and st or e in out put buf f er if not if icat ion received if at least one line in buf f er send f ir st line and delet e f r om buf f er else cont inue com put at ion t ill one line com plet e send line and delet e f r om buf f er non- blocking send not if icat ion t o next node Parallel Algorit hm Design

Proj ect ed perf orm ance

Processors Speedup

ideal proj ect ed

close t o ideal speedup, since all nodes can do com put at ions all t he t im e

Parallel Fract al I mage Generat or

Tha nk you!