Wenn Sie mehrere Prozessoren haben, die parallel arbeiten können, können Sie jede Leistung bis zur Leistung (2 ^ k) in k Schritten berechnen. Zum Beispiel: Um zu berechnen , berechnen Sie:M.15
Stufe 1: Berechnen Sie M.2
Stufe 2: Berechnen Sie und M 4 = M 2 ∗ M 2M.3= M.2∗ M.M.4= M.2∗ M.2
Stufe 3: Berechnen Sie und M 8 = M 4 ∗ M 4M.7= M.4∗ M.3M.8= M.4∗ M.4
Stufe 4: Berechnen Sie M.15= M.8∗ M.7
Dies ist eine Multiplikation mehr als die Berechnung von in drei Multiplikationen und das Erhöhen von M 5 auf die dritte Potenz in zwei weiteren Multiplikationen. Sie sollte jedoch schneller sein, wenn Sie zwei Prozessoren haben. Für beliebig hohe Leistungen benötigen Sie mehr Prozessoren.M.5M.5
Wenn Sie einen Brute-Force-Algorithmus für die Multiplikation verwenden und Zeile für Spalte multiplizieren, können Sie Zeit sparen, indem Sie eine Zeile eines Produkts berechnen und diese Zeile dann sofort für das nächste Produkt verwenden. Dies würde bei der Berechnung des hilft , wo wir die Berechnung beginnen M 3 , sobald die erste Zeile von M 2 berechnet wurde; Mit M 4 wäre es nicht so hilfreich, da wir sowohl Zeilen als auch Spalten von M 2 benötigen . Für große Kräfte könnten Sie wahrscheinlich festlegen, welche Kräfte berechnet werden sollen.M.3M.3M.2M.4M.2
Und nach dieser Veröffentlichung wird es offensichtlich , dass Sie sehr leicht mehrere Prozessoren verwenden können: Sie beginnen , indem Sie die erste Zeile der Berechnung . Wenn Sie diese Zeile haben, haben Sie alle Informationen, die Sie benötigen, um die erste Zeile von M 3 = M 2 ∗ M zu berechnen. Sie berechnen also die zweite Zeile von M 2 und die erste Zeile von M 3 parallel. Dann können Sie die dritte Reihe von M 2 , die zweite Reihe von M 3 und die erste Reihe von M 4 parallel berechnen und so weiter.M.2= M.∗ M.M.3= M.2∗ M.M.2M.3M.2M.3M.4
Dies führt viel mehr Operationen als nötig aus (zum Beispiel 14 Matrixmultiplikationen für anstelle der minimalen 5 oder 6 der vierstufigen Methode). Wenn die Leistung im Vergleich zur Anzahl der Prozessoren nicht groß ist, ist dies immer noch schneller. Die Berechnung von M 1000 mit vier Prozessoren mit dieser Methode ist jedoch ineffizient. Dies auf optimale Weise zu tun, wäre ein interessantes Problem.M.15M.1000
Kombinieren von Ansätzen: Mit vier Prozessoren können Sie beispielsweise AB, ABC, ABCD und ABCDE nahezu parallel berechnen, indem Sie jedes Produkt zeilenweise berechnen. Dies ermöglicht die Berechnung aller vier von bis M 5 mit vier Prozessoren ungefähr zur gleichen Zeit wie ein Produkt mit einem Prozessor.M.2M.5
Mit diesen vier Ergebnissen und dem ursprünglichen M können Sie vier der Matrizen bis M 25 wieder gleichzeitig berechnen , vorausgesetzt, die Matrizen haben höchstens fünf Potenzen voneinander entfernt. So kann jede Leistung bis zu M 25 in etwa der doppelten Zeit eines einzelnen Prozessormatrixprodukts berechnet werden.M.6M.25M.25
Wenn diese Matrizen berechnet sind, können alle Matrizen bis zu und einige weitere bis zu M 125 in der dreifachen Zeit eines einzelnen Matrixprodukts berechnet werden, wenn vier Prozessoren verfügbar sind. Bei k Prozessoren sollte dies mindestens die Leistung k ( k + 1 ) 2 erreichen .M.108M.125k ( k + 1 )2