Parallelizing the Divide and Conquer Algorithm - Innovative ...
Parallelizing the Divide and Conquer Algorithm - Innovative ...
Parallelizing the Divide and Conquer Algorithm - Innovative ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
with W = Q(PG) T U.<br />
When not properly implemented, <strong>the</strong> computation of W can be very<br />
expensive. To simplify <strong>the</strong> explanation, we illustrate it with a 44 example:<br />
we suppose that d1 = d3 <strong>and</strong> that G is <strong>the</strong> Givens rotation used to set to<br />
zero <strong>the</strong> third component ofz. The matrix P is a permutation that moves<br />
z3 to <strong>the</strong> bottom of z. We indicate by a\" that a value has changed.<br />
There are two way of applying <strong>the</strong> transformation (PG) T , ei<strong>the</strong>r on <strong>the</strong><br />
left, that is on Q, or on <strong>the</strong> right, that is on U. Note that Q = diag(Q1;Q2)<br />
is block diagonal (see(2.3)) <strong>and</strong> so we would like tototake advantage of<br />
this structure. It would halve <strong>the</strong> cost of <strong>the</strong> matrix multiplication if Q1,Q2<br />
are of <strong>the</strong> same size. To preserve <strong>the</strong> block diagonal form of Q, we need to<br />
apply (PG) T<br />
on <strong>the</strong> right:<br />
Q (PG) T U =<br />
=<br />
=<br />
0<br />
B<br />
@<br />
0<br />
B<br />
@<br />
0<br />
B<br />
@<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
1 0<br />
C<br />
A (PG)T B<br />
@<br />
1 0<br />
C<br />
A G B<br />
@<br />
10<br />
C<br />
A<br />
B<br />
@<br />
<br />
<br />
<br />
<br />
<br />
1<br />
<br />
<br />
0<br />
<br />
0<br />
The product between <strong>the</strong> two last matrices is performed with 64 ops<br />
instead of <strong>the</strong> 2n 3 = 128 ops of a full matrix product. However, if we apply<br />
(PG) T on <strong>the</strong> left, we can reduce fur<strong>the</strong>r <strong>the</strong> number of ops. Consider<br />
again <strong>the</strong> 4 4 example:<br />
Q(PG) T U =<br />
0<br />
B<br />
@<br />
<br />
<br />
<br />
<br />
1 0<br />
C<br />
A GT P T B<br />
@<br />
1<br />
C<br />
A<br />
1<br />
C<br />
A<br />
1<br />
<br />
<br />
<br />
1<br />
1<br />
C<br />
A<br />
1<br />
C<br />
A<br />
17