Wo immer ich es gesehen habe, sagen PETSc-Tutorials / -Dokumente usw., dass es für die lineare Algebra nützlich ist und normalerweise angibt, dass spärliche Systeme davon profitieren. Was ist mit dichten Matrizen? Ich mache mir Sorgen, für dichtes A zu lösen .
Ich habe meinen eigenen Code für CG und QMR in Fortran geschrieben. Das Grundkonstrukt ist den Pseudo - Code zu zerreißen und BLAS - Routinen , wo immer möglich (zu addieren ddot
, dnrm
und dgemv
) mit einer wenig Selbsteinstellung. Wie wird dies mit PETSc verglichen?
Ich weiß, die beste Antwort wäre, es selbst zu versuchen, aber aus Zeitgründen und aus anderen Gründen ist das nicht möglich.
Jede Hilfe wird sehr geschätzt.
quelle
Da Sie erwähnt haben, dass Sie sich auf einem Shared-Memory-System befinden, hätte ich libFLAME und / oder PLASMA empfohlen , aber ich glaube nicht, dass BLAS mit Hersteller-Threading für Ihre Operationen der Stufen 1 und 2 wesentlich schneller ist.
Jed hat Elemental empfohlen , das ich gerade entwickle, aber ich werde noch einmal betonen, dass Operationen der Stufen 1 und 2 nicht der Hauptfokus von parallelen, dichten, linearen Algebra-Bibliotheken sind. Ich habe ehrlich gesagt noch nie eine dieser Routinen verglichen.
quelle