Matrix-Produkt
In BLAS (Basic Linear Algebra Subprogramms) wird das allgemeine Matrix-Produkt spezifiziert durch
\[C \leftarrow \beta C + \alpha A B\]und mit GEMM (General Matrix-Matrix Product) bezeichnet. Dabei ist
\[A \in \mathbb{K}^{m\times k},B \in \mathbb{K}^{k\times n}\quad\text{und}\quad C \in \mathbb{K}^{m\times n}\]Aufgabe
-
Überlegt euch zwei algorithmische Varianten mit denen die GEMM Operation durch drei einfache For-Schleifen umgesetzt werden kann:
-
Eine Variante soll alle Matrizen zeilenweise durchlaufen
-
Eine Variante soll alle Matrizen spaltenweise durchlaufen
-
-
Legt eine Signatur für die Implementierung einer GEMM Operation fest.
-
Schreibt einen Bechmark/Test, der die beiden Varianten bezüglich der Laufzeit vergleicht.