49
WIRTSCHAFTSINFORMATIK Westfälische Wilhelms- Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation Matrixmultiplikation im Rahmen des Seminars „Parallele und Verteilte Programmierung“ von Lutz Kramer

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

Embed Size (px)

Citation preview

Page 1: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIR

TS

CH

AF

TS

INF

OR

MA

TIK

WestfälischeWilhelms-Universität Münster

WIRTSCHAFTSINFORMATIK

MatrixmultiplikationMatrixmultiplikation

im Rahmen des Seminars

„Parallele und Verteilte Programmierung“

von Lutz Kramer

Page 2: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 3: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

1 x 8 = 8

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 4: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

1 x 8 = 8 + 3 x 3 = 9

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 5: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

1 x 8 = 8 + 3 x 3 = 9 + -4 x 0 = 0

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 6: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

1 x 8 = 8 + 3 x 3 = 9 + -4 x 0 = 0 + -2 x 1 = -2

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 7: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

BeispielBeispiel

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A=

2

A x B = C

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B=

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

C=

1 x 8 = 8 + 3 x 3 = 9 + -4 x 0 = 0 + -2 x 1 = -2 = 15

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

15

8

-10

-19

21

3

-5

1

-14

-4

18

-14

-2

-9

17

-12

Page 8: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

3

Page 9: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

3

Page 10: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Theoretische GrundlagenTheoretische Grundlagen

Matrix mit n Zeilen und m Spalten -> Ordnung (n,m) Kennzeichnung Großbuchstabe (z.B. A) und Größe n x m Quadratische Matrizen haben Ordnung (n,n) bzw. Größe n x n Es gilt: cij = Σaik bkj für alle k

4

1

m

ij ir rjr

c a b

1

m

ij ir rjr

c a b

a11

...

ai1

...

...

...

a1j

...

aij

...

...

...A(l x n)=

a1n

...

ain

...

al1 ... alj ... aln

b11

...

bi1

...

...

...

b1j

...

bij

...

...

...B(n x m)=

b1m

...

bim

...

bn1 ... bnj ... bnm

c11

...

ci1

...

...

...

c1j

...

cij

...

...

...C(l x m)=

c1m

...

cim

...

cl1 ... clj ... clm

x

=

Page 11: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

5

Page 12: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen- Intuitiver Algorithmus -- Intuitiver Algorithmus -

01 public static Matrix SequentialMultiplication (Matrix A, Matrix B) throws Exception{02 Matrix C = new Matrix(A.getNumberOfRows(), B.getNumberOfColumns());03 for (int i = 0; i < A.getNumberOfRows(); i++){04 for (int j = 0; j < B.getNumberOfColumns(); i++){05 C.setField(i, j, 0);06 for (int k = 0; k < A.getNumberOfColumns(); k++){07 C.setField(i, j, (C.getField(i, j) + (A.getField(i, k) * B.getField(k, j))));08 }09 }10 }11 return C;12 }

Intuitive, erste Lösung Lösung über 3 Schleifen Laufzeit: Θ(n3), für A(n x n) und B(n x n)

Laufzeit für nicht quadratische Matrizen Θ(l n m)

6

Page 13: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen- Strassen-Algorithmus -- Strassen-Algorithmus -

Zerlegung der Matrix A in Submatrizen A11, A12, A21, A22

Gleiches Vorgehen bei Matrix B Berechnung von Zwischenmatrizen P1 bis P7

Berechnung von Teilergebnismatrizen C11, C12, C21, C22 aus P1 bis P7

Zusammensetzen der Endmatrix C

1

1

-1

-3

3

1

-2

1

-4

-2

5

-2

-2

-3

4

2

A11=

A21=

A12=

A22=

7

8

3

0

1

3

10

2

2

0

2

6

-2

7

3

2

5

B11=

B21=

B12=

B22=

Page 14: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen- Strassen-Algorithmus -- Strassen-Algorithmus -

1

1

3

1

5

-2

4

2

8

3

3

10

6

-2

2

5+

91

-11

135

40=P1= x +

+38

-31

32

15=P2= x

-1

-3

-2

1

5

-2

4

2

8

3

3

10

-6

-2

-1

3=P3= x

1

1

3

1

0

2

7

3

6

-2

2

5

8

Zwischenmatrizen:

P1 = (A11 + A22) x (B11 + B22)

P2 = (A21 + A22) x B11

P3 = A11 x (B12 - B22)

P4 = A22 x (B21 - B11)

P5 = (A11 + A12) x B22

P6 = (A21 - A11) x (B11 + B12)

P7 = (A12 - A22) x (B21 + B22)

--48

12

-37

-14=P4= x

5

-2

4

2

8

3

3

10

0

1

2

2

+-20

-2

-1

12=P5= x

1

1

3

1

-4

-2

-2

-3

6

-2

2

5

--41

-32

-85

-40=P6= x +

1

1

3

1

-1

-3

-2

1

8

3

3

10

0

2

7

3

--48

5

-78

-35=P7= x +

5

-2

4

2

-4

-2

-2

-3

0

1

2

2

6

-2

2

5

Page 15: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen- Strassen-Algorithmus -- Strassen-Algorithmus -

C11=15

8

21

3==

91

-11

135

40

-48

12

-37

-14

1

1

3

1

-48

5

-78

-35+ - +

C12=-14

-4

-2

-9=

6

-2

-1

3

1

1

3

1+

C21=-10

-19

-5

1=

38

-31

32

15

-48

12

-37

-14+

9

Blöcke der Zielmatrix:

C11 = P1 + P4 - P5 + P7

C12 = P3 + P5

C21 = P2 + P4

C22 = P1 + P3 – P2 + P6

C22=18

-14

17

-12=

91

-11

135

40

38

-31

32

15

6

-2

-1

3

-41

-32

-85

-40+ - +

Page 16: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen- Strassen-Algorithmus -- Strassen-Algorithmus -

C11=

C21=

C12=

C22=18

-14

17

-12

-10

-19

-5

1

15

8

21

3

-14

-4

-2

-9

Veröffentlicht im Jahr 1968 Bisher schnellster bekannter Algorithmus Laufzeit von ca. Ω(n2,81) bei quadratischen Matrizen

10

Page 17: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Generelle Annahmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

11

Page 18: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Generelle Annahmen -- Generelle Annahmen -

p verschiede Prozesse

Auf unterschiedlichen Prozessoren

Quadratische Matrizen der Ordnung (n,n)

n ist ein Vielfache von √p

Für das Beispiel gilt:

n = 4 und p = 4

12

Page 19: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Schleifenparallelisierung -- Schleifenparallelisierung -

A

Prozess 1

B C

A

Prozess 2

B C

A

Prozess 3

B C

A

Prozess 1

B C

A

Prozess 2

B C

A

Prozess 3

B C

A

Prozess 1

B C

A

Prozess 2

B C

A

Prozess 3

B C

Erster Kommunikations-

schritt

ZweiterKommunikations-

schritt

Multiplikation eines (n / p) x (n / p) Blocks aus A mit einem (n / p) x n Block aus B

Anzahl der Iterationen ist p Zeit für Multiplikation und Addition Zeit für gesamte Berechnung für einzelnen Prozess:

(n / p) (n / p) n p = n3 / p Neben Berechnungszeit noch Kommunikationszeit

13

Page 20: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Schleifenparallelisierung -- Schleifenparallelisierung -

Kommunikationszeit Latenzzeit Übertragung von (n / p) x n aus Matrix B Transaktionszeit Zeit pro Kommunikationsvorgang:

+ (( n / p ) n ) /

14

Page 21: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Schleifenparallelisierung -- Schleifenparallelisierung -

Kommunikationszeit Latenzzeit Übertragung von (n / p) x n aus Matrix B Transaktionszeit Zeit pro Kommunikationsvorgang:

+ (( n / p ) n ) /

Bearbeitungszeit Berechnungszeit + Zeit p. Kommunikationsvorgang Anzahl

Vorgänge Anzahl der Vorgänge p Gesamtbearbeitungszeit:

n3 / p + p + n2 / Berechnungszeit: Θ(n3), Kommunikationszeit: Θ(n2)

14

Page 22: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Aufteilung in Submatrizen, ähnlich denen von Strassen Submatrizen haben Ordnung (b,b) mit b = n / √p Pro Block (Submatrix) aus C ein Prozess Blöcke von A werde nach Links, Blöcke von B nach Rechts

weitergegeben Dabei Multiplikation und Aufsummierung Problem: Anfangsaufteilung

B4,3

B3,3

B1,3

B2,3

A2,2 A2,3 A2,4 A2,1

B1,3

B4,3

B2,3

B3,3

A2,3 A2,4 A2,1 A2,2

B2,3

B1,3

B3,3

B4,3

A2,4 A2,1 A2,2 A2,3

B3,3

B2,3

B4,3

B1,3

A2,1 A2,2 A2,3 A2,4

15

Page 23: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

16

Page 24: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

16

Page 25: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

Prozess 1 Prozess 2

Prozess 3 Prozess 4

5

-2

4

2

-1

-3

-2

1

0

2

7

3

6

-2

2

5

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Prozess 2

A1,2

B2,2

Prozess 3 Prozess 4

Prozess 1

A1,1

B1,1

B1,2B2,1

A2,1A2,2

16

Page 26: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

17

11

33

13

Prozess 1

-14

-4

-2

-9

Prozess 2

4

2

18

0

Prozess 3

-4

2

-13

18

Prozess 4

5

-2

4

2

-1

-3

-2

1

0

2

7

3

6

-2

2

5

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Prozess 2

A1,2

B2,2

Prozess 3 Prozess 4

Prozess 1

A1,1

B1,1

B1,2B2,1

A2,1A2,2

16

Page 27: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

17

11

33

13

Prozess 1

-14

-4

-2

-9

Prozess 2

4

2

18

0

Prozess 3

-4

2

-13

18

Prozess 4

5

-2

4

2

-1

-3

-2

1

0

2

7

3

6

-2

2

5

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Prozess 2

A1,2

B2,2

Prozess 3 Prozess 4

Prozess 1

A1,1

B1,1

B1,2B2,1

A2,1A2,2

16

Page 28: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

17

11

33

13

Prozess 1

-14

-4

-2

-9

Prozess 2

4

2

18

0

Prozess 3

-4

2

-13

18

Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

-4

-2

-2

-3

1

1

3

1

8

3

3

10

0

1

2

2

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

17

11

33

13

Prozess 1

-14

-4

-2

-9

Prozess 2

4

2

18

0

Prozess 3

-4

2

-13

18

Prozess 4

5

-2

4

2

-1

-3

-2

1

0

2

7

3

6

-2

2

5

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Prozess 2

A1,2

B2,2

Prozess 3 Prozess 4

Prozess 1

A1,1

B1,1

B1,2B2,1

A2,1A2,2

Prozess 2

A1,1

B1,2

Prozess 3 Prozess 4

Prozess 1

A1,2

B2,1

B2,2B1,1

A2,2A2,1

16

Page 29: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Prozess 2

A1,2

B1,2

Prozess 3 Prozess 4

Prozess 1

15

8

21

3

Prozess 1

-14

-4

-2

-9

Prozess 2

-10

-19

-5

1

Prozess 3

18

-14

17

-12

Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

-4

-2

-2

-3

1

1

3

1

8

3

3

10

0

1

2

2

Prozess 1 Prozess 2

Prozess 3 Prozess 4

-1

-3

-2

1

5

-2

4

2

6

-2

2

5

0

2

7

3

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

17

11

33

13

Prozess 1

-14

-4

-2

-9

Prozess 2

4

2

18

0

Prozess 3

-4

2

-13

18

Prozess 4

5

-2

4

2

-1

-3

-2

1

0

2

7

3

6

-2

2

5

1

1

3

1

-4

-2

-2

-3

0

1

2

2

8

3

3

10

A1,1

B1,1

B2,2B2,1

A2,2A2,1

Prozess 2

A1,2

B2,2

Prozess 3 Prozess 4

Prozess 1

A1,1

B1,1

B1,2B2,1

A2,1A2,2

Prozess 2

A1,1

B1,2

Prozess 3 Prozess 4

Prozess 1

A1,2

B2,1

B2,2B1,1

A2,2A2,1

16

Page 30: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Berechnungszeit Multiplikation von ( n / √p ) x ( n / √p ) Elemente aus Matrix A mit

( n / √p ) x ( n / √p ) aus Matrix B pro Iteration Anzahl der Iterationen √p Zeit für Multiplikation und Addition Gesamte Berechnungszeit pro Prozess:

( n / √p )3 √p = n3 / p

17

Page 31: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Berechnungszeit Multiplikation von ( n / √p ) x ( n / √p ) Elemente aus Matrix A mit

( n / √p ) x ( n / √p ) aus Matrix B pro Iteration Anzahl der Iterationen √p Zeit für Multiplikation und Addition Gesamte Berechnungszeit pro Prozess:

( n / √p )3 √p = n3 / p

Anfangs-Aufteilungszeit Zeit zur Übertragung eines Matrixelements 1 / Zeit für Anfangs-Aufteilung

2 ( + n2 / ( p ))

17

Page 32: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Kommunikationszeit Empfang und Versand eines Blockes von A und B bei jeder der

√p Iterationen Benötigte Zeit:

√p * 2 * ( + n2 / ( p ))

18

Page 33: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen- Cannon‘s Algorithmus -- Cannon‘s Algorithmus -

Kommunikationszeit Empfang und Versand eines Blockes von A und B bei jeder der

√p Iterationen Benötigte Zeit:

√p * 2 * ( + n2 / ( p ))

Bearbeitungszeit Anfangszeit + Berechnungszeit + Kommunikationszeit Gesamtbearbeitungszeit

n3 / p + 2 ( √p + 1 ) ( + n2 / ( p ))

18

Page 34: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

19

Page 35: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen

Intuitiver Algorithmus Prinzip: 3 Schleifen Leicht zu implementieren Verständlich Laufzeit: Θ(n3) Vergleichszeit für andere

Algorithmen Auch in rekursiver Variante

Möglich, dadurch aber keine andere Laufzeit

20

Strassen-Algorithmus Veröffentlicht: 1968 Prinzip: Aufteilung in

Submatrizen und geschickte Addition, Subtraktion und Multiplikation

Laufzeit: Ω(n2,81) Algorithmus mit der schnellsten

bekannten Berechnungszeit Für Ein-Prozessor-Rechner

bisher ideal

Page 36: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle AlgorithmenSequentielle Algorithmen

Intuitiver Algorithmus Prinzip: 3 Schleifen Leicht zu implementieren Verständlich Laufzeit: Θ(n3) Vergleichszeit für andere

Algorithmen Auch in rekursiver Variante

Möglich, dadurch aber keine andere Laufzeit

20

Strassen-Algorithmus Veröffentlicht: 1968 Prinzip: Aufteilung in

Submatrizen und geschickte Addition, Subtraktion und Multiplikation

Laufzeit: Ω(n2,81) Algorithmus mit der schnellsten

bekannten Berechnungszeit Für Ein-Prozessor-Rechner

bisher ideal

Page 37: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

Schleifenparallelisierung Prinzip: Multiplikation eines

(n / p) x (n / p) Blocks mit einem

(n / p) x n Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n3)

n3 / p Kommunikationszeit Θ(n2)

p + n2 /

21

Cannon‘s Algorithmus Prinzip: Multiplikation eines

(n / √ p) x (n / √ p) Blocks mit einem (n / √ p) x (n / √ p) Block pro Iteration

Anzahl Iterationen √p Berechnungszeit Θ(n3)

n3 / p Kommunikationszeit Θ(n2)

2 ( √p + 1 ) ( + n2 / ( p ))

Page 38: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

p + n2 / > 2 ( √p + 1 ) ( + n2 / ( p ))

22

Page 39: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

p + n2 / > 2 ( √p + 1 ) ( + n2 / ( p ))

p > 2 ( √p + 1 ) p > 2 ( √p + 1 )

22

Page 40: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

p + n2 / > 2 ( √p + 1 ) ( + n2 / ( p ))

p > 2 ( √p + 1 ) p > 2 ( √p + 1 )

n2 / > 2 ( √p + 1 ) n2 / ( p ))

22

Page 41: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

p + n2 / > 2 ( √p + 1 ) ( + n2 / ( p ))

p > 2 ( √p + 1 ) p > 2 ( √p + 1 )

n2 / > 2 ( √p + 1 ) n2 / ( p ))

Gilt, sofern p > 2 √3 + 4 ≈ 7,46410 und > 0 und > 0 ist. Damit ist Cannon‘s Algorithmus ab 8 parallelen Prozessens besser.

22

Page 42: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Parallele AlgorithmenParallele Algorithmen

Schleifenparallelisierung Prinzip: Multiplikation eines

(n / p) x (n / p) Blocks mit einem

(n / p) x n Block pro Iteration Anzahl Iterationen p Berechnungszeit Θ(n3)

n3 / p2

Kommunikationszeit Θ(n2)

p + n2 /

23

Cannon‘s Algorithmus Prinzip: Multiplikation eines

(n / √ p) x (n / √ p) Blocks mit einem (n / √ p) x (n / √ p) Block pro Iteration

Anzahl Iterationen √p Berechnungszeit Θ(n3)

n3 / p Kommunikationszeit Θ(n2)

2 ( √p + 1 ) ( + n2 / ( p ))

Page 43: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle vs. Parallele AlgorithmenSequentielle vs. Parallele Algorithmen

Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit

benötigt

24

Cannon‘s Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs-

zeit durch Aufteilung der Berechnungszeit

Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden

Page 44: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle vs. Parallele AlgorithmenSequentielle vs. Parallele Algorithmen

Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit

benötigt

24

Cannon‘s Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs-

zeit durch Aufteilung der Berechnungszeit

Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden

Bearbeitungszeit bei Cannon‘s Algorithmus

<

Berechnungszeit beim Strassen-Algorithmus

Page 45: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

Sequentielle vs. Parallele AlgorithmenSequentielle vs. Parallele Algorithmen

Strassen-Algorithmus Aufteilungsprinzip Schnellste Berechnungszeit Keine Kommunikationszeit

benötigt

24

Cannon‘s Algorithmus Aufteilungsprinzip Verbesserung der Bearbeitungs-

zeit durch Aufteilung der Berechnungszeit

Kommunikation kann parallel zur Berechnung erfolgen, sofern genug Speicher vorhanden

Bearbeitungszeit bei Cannon‘s Algorithmus

<

Berechnungszeit beim Strassen-Algorithmus

Page 46: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

AgendaAgenda

Theoretische Grundlagen Sequentielle Algorithmen

Intuitiver Algorithmus

Strassen-Algorithmus Parallele Algorithmen

Schleifenparallelisierung

Cannon‘s Algorithmus Vergleich der Algorithmen Kritische Würdigung und Ausblick

25

Page 47: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

ZusammenfassungZusammenfassung

26

Überblick über Algorithmen der Matrixmultiplikation

Vergleich sequentieller und paralleler Algorithmen

Ziel

Page 48: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

ZusammenfassungZusammenfassung

26

Überblick über Algorithmen der Matrixmultiplikation

Vergleich sequentieller und paralleler Algorithmen

Vorstellung von zwei sequentiellen Algorithmen: Intuitiv und Strassen

Vorstellung von zwei parallelen Algorithmen: Schleifen-parallelisierung und Cannon

Ziel Vorgehen

Page 49: WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Matrixmultiplikation im Rahmen des Seminars Parallele und Verteilte

WIRTSCHAFTSINFORMATIK

ZusammenfassungZusammenfassung

26

Überblick über Algorithmen der Matrixmultiplikation

Vergleich sequentieller und paralleler Algorithmen

Vorstellung von zwei sequentiellen Algorithmen: Intuitiv und Strassen

Vorstellung von zwei parallelen Algorithmen: Schleifen-parallelisierung und Cannon

Bei Paralleler Verarbeitung: Cannon, sofern mehr als acht parallele Prozesse vorhanden sind

Ohne Parallele Verarbeitung: Strassen ABER: „Bester“ Algorithmus für die Multiplikation von Matrizen ist noch

immer nicht gefunden worden. (Sedgewick, S. 604)

Ziel Vorgehen

Ergebnis