Diese Frage ist eine Erweiterung von zwei Diskussionen, die kürzlich in den Antworten zu " C ++ vs Fortran for HPC " aufgetaucht sind . Und es ist eher eine Herausforderung als eine Frage ... Eines der am häufigsten gehörten Argumente für Fortran ist, dass die Compiler einfach besser sind. …
Ich habe mir C ++ - Bibliotheken für lineare Algebra für ein Projekt angesehen, an dem ich gearbeitet habe. Was ich immer noch nicht verstehe, ist die Verbindung von BLAS und LAPACK mit anderen Bibliotheken für lineare Algebra. Als ich diesen Artikel über lineare Algebra-Bibliotheken durchgesehen habe, fand ich es …
Können wir bei zwei verschiedenen BLAS-Implementierungen erwarten, dass sie exakt dieselben Gleitkommaberechnungen durchführen und dieselben Ergebnisse zurückgeben? Oder kann es beispielsweise vorkommen, dass man ein Skalarprodukt als und eines als ( x 1 y 1 + x 2 y berechnet 2 ) + ( x 3 y 3 + x …
Ich würde gerne wissen, ob es einen schnellen Weg gibt, den euklidischen Abstand zweier Vektoren in Oktave zu berechnen. Es scheint, dass es dafür keine spezielle Funktion gibt. Soll ich also einfach die Formel mit verwenden sqrt?
Entschuldigung für den langen Beitrag, aber ich wollte alles, was ich für relevant hielt, gleich mit einbeziehen. Was ich möchte Ich implementiere eine parallele Version der Krylov-Subraummethoden für dichte Matrizen. Hauptsächlich GMRES, QMR und CG. Mir wurde (nach der Profilerstellung) klar, dass meine DGEMV-Routine erbärmlich war. Also beschloss ich, mich …
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 .Ax=bAx=bAx=bAAA Ich habe meinen eigenen Code für CG und …
Das komplexe innere Produkt hat zwei verschiedene Definitionen, die durch Konventionen festgelegt werden: oder . In BLAS habe ich die Routinen cdotu, zdotu und cdotc, zdotc gefunden. Die beiden ersteren Routinen berechnen tatsächlich (ein falsches inneres Produkt!) Und die letzten beiden Routinen konjugieren den ersten Vektor im inneren Produkt. Nach …
Die Implementierung von netlib BLAS ist eine hervorragende Referenz, da sie größtenteils nicht optimiert und gut dokumentiert ist (z . B. zgemm ). Es befindet sich jedoch in Fortran 77, was es für Personen mit einer moderneren Programmierausbildung etwas unzugänglich macht. Gibt es eine Referenzimplementierung von BLAS wie netlib in …
nVidia hat zum Beispiel CUBLAS, das eine 7-14-fache Beschleunigung verspricht. Naiv ist dies bei weitem nicht der theoretische Durchsatz einer der GPU-Karten von nVidia. Was sind die Herausforderungen bei der Beschleunigung der linearen Algebra auf GPUs, und gibt es bereits schnellere lineare Algebra-Routings?
Beeinträchtigt das Kompilieren von PETSc mit einer externen BLAS / LAPACK-Bibliothek die Leistung auf dünn besetzten Matrizen erheblich oder werden diese Bibliotheken nur für die Mathematik mit dichter Matrix verwendet?
Ich habe über die Implementierung einer dichten Matrixmultiplikation gelesen, wenn die Matrix nicht in den Cache passt. Eine der Grafiken, die ich gesehen habe (Folie 9 von diesen Folien ), zeigt plötzliche Leistungseinbußen unter Verwendung des naiven Algorithmus. Diese Tropfen betragen ungefähr 50% der Geschwindigkeit, treten auf, während die Matrix …
Ich habe CG in FORTRAN implementiert, indem ich es mit Intel MKL verknüpft habe. Wenn es Aussagen gibt wie: ( Siehe Wikipedia ) p=r; x=x+alpha*p r=r-alpha*Ap; oder ähnliche in QMR (in viel größerer Menge) v_tld = r; y = v_tld; rho = norm( y ); w_tld = r; z = …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.