Es ist nicht wirklich ein formaler Algorithmus dafür ist; Im Allgemeinen werden diese Arten von Operationen der linearen Algebra, bei denen das gesamte Problem nicht gleichzeitig im Speicher gespeichert wird, als "out of core" -Operationen bezeichnet.
Um es zu lösen, brauchen Sie keinen besonders aufwendigen Algorithmus, nur die CUBLAS-Bibliothek und einen Stift und Papier. Zum Beispiel können Sie die Matrix Produkt wie dieses zersetzen:

, die Sie vier unabhängige Untermatrixmultiplikation Operationen gibt. Diese können mit vier Aufrufen von CUBLAS gemm unter Verwendung eines sehr einfachen Host-Codes berechnet werden. Sie können die Idee auf so viele Submatrizen erweitern, wie Sie benötigen, um die Problemgröße und die GPU-Kapazität zu erreichen. Das gleiche Prinzip kann auch verwendet werden, um Matrixmultiplikationsprobleme auf mehreren GPUs zu implementieren (siehe this question als Beispiel).
Als Alternative können Sie eine funktionierende Umsetzung dieser genauen Vorstellung in dem Harvard entwickelte SciGPU-GEMM Code-Basis und in dem HPL-CUDA linpack Implementierung finden (Disclaimer: Ich mit dieser Code-Basis angeschlossen bin).
Wie wäre es, die Matrizen einfach zu teilen? '[A0; A1] * [B0 B1] = [A0 * B0 A0 * B1; A1 * B0 A1 * B1] '? Das ist vielleicht ein guter Anfang. – kangshiyin