PARALLEL ¡PATTERNS ¡ REDUCE ¡& ¡SCAN ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
1 ¡
PARALLEL PATTERNS REDUCE & SCAN 2 6/16/2010 Parallel - - PowerPoint PPT Presentation
1 6/16/2010 Parallel Pa7erns - Reduce & Scan PARALLEL PATTERNS REDUCE & SCAN 2 6/16/2010 Parallel Pa7erns - Reduce & Scan
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
1 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
2 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
3 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
4 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
5 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ A ¡ B ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
6 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
7 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
8 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ b ¡ A ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
9 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ b ¡ A ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
10 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ b ¡ A ¡ B acc = b_0; for( i = 0; i < n; i++ ) { acc = f( a[i], acc ); } b = acc;
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
11 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
12 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
13 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ b ¡ A ¡ I ¡ f ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
14 ¡
¡ ¡f(a, ¡b) ¡= ¡f(b, ¡a) ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
15 ¡
¡ ¡f(a, ¡b) ¡= ¡f(b, ¡a) ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
16 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
17 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ A ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
18 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ A ¡ B acc = b_0; for( i = 0; i < n; i++ ) { acc = f( a[i], acc ); }
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
19 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
20 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ A ¡ ? ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
21 ¡
f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ f ¡ b0 ¡ A ¡ ? ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
22 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
23 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
24 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
25 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
26 ¡
5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
27 ¡
5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
28 ¡
2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡
5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
29 ¡
2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 5 ¡= ¡101 ¡ 1 ¡= ¡001 ¡ 2 ¡= ¡010 ¡ 7 ¡= ¡111 ¡ 3 ¡= ¡011 ¡
5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
30 ¡
2 ¡= ¡010 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡ 5 ¡= ¡101 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 5 ¡= ¡101 ¡ 1 ¡= ¡001 ¡ 2 ¡= ¡010 ¡ 7 ¡= ¡111 ¡ 3 ¡= ¡011 ¡ 1 ¡= ¡001 ¡ 2 ¡= ¡010 ¡ 3 ¡= ¡011 ¡ 4 ¡= ¡100 ¡ 5 ¡= ¡101 ¡ 5 ¡= ¡101 ¡ 7 ¡= ¡111 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
31 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
32 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
33 ¡
6/16/2010 ¡ Parallel ¡Pa7erns ¡-‑ ¡Reduce ¡& ¡Scan ¡
34 ¡