BQN-Matrixmultiplikation: Performance-Optimierung durch Cache-Blocking und Divide-and-Conquer

2025-06-27

Dieser Artikel untersucht die Optimierung der Performance bei der Multiplikation großer Matrizen mit der Programmiersprache BQN. Der Autor verwendet zunächst eine einfache quadratische Partitionierung, um den Cache effektiv zu nutzen und erreicht dadurch eine etwa sechsfache Beschleunigung. Anschließend wird ein Strassen-Algorithmus auf Basis einer Divide-and-Conquer-Strategie vorgestellt, der experimentell eine bis zu neunfache Beschleunigung bei großen Matrizen zeigt. Der Artikel vergleicht auch den Einfluss verschiedener Blockgrößen und verschachtelter Kachelungsstrategien auf die Performance und kommt zu dem Schluss, dass die Performancegrenze einer reinen, single-threaded BQN-Implementierung im Wesentlichen erreicht ist.

Entwicklung