Next: 4.1.3.3 Parallelisierung von
Up: 4.1.3 Matrix-Matrix-Operationen (BLAS3)
Previous: 4.1.3.1 Matrix-Multiplikation
- 1.
- inner product
DO
DO
END DO
END DO
- Zugriff auf
zeilenweise, auf
spaltenweise
Bankkonflikte
- Zugriff auf
ist skalar
schlecht vektorisierbar.
- Parallelisierung
Aufteilung der Matrizen.
- 2.
- middle product
DO
DO
END DO
END DO
-
fungiert in innerster Schleife als Skalar,
die anderen Größen als Vektoren
Triade
-
Effiziente Nutzung der Vektorregister,
Ausnutzung der Cachebandbreite.
- Die
-Schleife ist das Matrix-Vektor Produkt aus BLAS2.
- Spaltenzugriff auf
und
notwendig.
- Liegen
und
in Zeilenspeicherung vor, müssen
und
in obigem Algorithmus vertauscht werden.
- 3.
- outer product
DO
DO
END DO
END DO
- Wie middle product, jedoch kompakter programmierbar.
Gundolf Haase
1998-12-22