Ich muss eine parallele dichte Matrixinversion für eine Sprache implementieren, die ich verwende und für die anscheinend keine Bibliothek vorhanden ist (insbesondere IDL mit IDL Bridge für die Nachrichtenübermittlung). Ich bin mit parallelen Programmiermethoden durch Erfahrung mit MPI in C ++ vertraut, allerdings hauptsächlich für parallele FFT- und N-Body-Methoden. Ich habe wenig Erfahrung oder Kenntnisse über serielle oder parallele Berechnungsmethoden für die lineare Algebra.
Was ich suche, ist eine klare Pseudocode-Beschreibung eines robusten, stabilen Parallelmatrix-Inversionsalgorithmus, der für eine kleine Anzahl von Kernen geeignet ist, da der Computer, auf dem die (derzeit serielle) IDL-Task ausgeführt wird, 8 Kerne hat. In der Praxis werde ich wahrscheinlich nur 4 verwenden, um die Kerne für andere Aufgaben frei zu halten.
Ich würde die Einfachheit der neuesten Leistung vorziehen, wenn es eine Reihe bekannter Algorithmen für diese Aufgabe gibt.
quelle
LD_PRELOAD
.Antworten:
Anstatt Ihre eigenen zu rollen, würde ich vorschlagen, dass Sie sich vorhandene robuste und effiziente parallele Implementierungen wie PLASMA ansehen .
Wenn Sie nur nach Algorithmen suchen, die Sie selbst implementieren können, werden die meisten Routinen im Abschnitt "Dokumentation" dieser Site übermäßig dokumentiert.
quelle