Als «performance» getaggte Fragen

Fragen zur Ausführungsgeschwindigkeit und Speichernutzung von Algorithmen, Datenstrukturen, Sprachen und Bibliotheken.


7
Ist die algorithmische Analyse durch Flop-Counting überholt?
In meinen Kursen zur numerischen Analyse habe ich gelernt, die Effizienz von Algorithmen zu analysieren, indem ich die Anzahl der erforderlichen Gleitkommaoperationen (Flops) im Verhältnis zur Größe des Problems gezählt habe. In Trefethen & Baus Text zur Numerischen Linearen Algebra finden sich beispielsweise sogar 3D-Bilder der Flop-Zählungen. Jetzt ist es …

4
Was macht Fortran schnell?
Fortran hat einen besonderen Platz in der numerischen Programmierung. Sie können sicher gute und schnelle Software in anderen Sprachen erstellen, aber Fortran arbeitet trotz seines Alters sehr gut. Außerdem ist es in Fortran einfacher, schnelle Programme zu erstellen. Ich habe schnelle Programme in C ++ erstellt, aber bei Dingen wie …

4
Wie löst der MATLAB-Backslash-Operator
Ich habe einige meiner Codes mit MATLAB-Codes "auf Lager" verglichen. Ich bin überrascht über das Ergebnis. Ich habe einen Beispielcode ausgeführt (Sparse Matrix) n = 5000; a = diag(rand(n,1)); b = rand(n,1); disp('For a\b'); tic;a\b;toc; disp('For LU'); tic;LULU;toc; disp('For Conj Grad'); tic;conjgrad(a,b,1e-8);toc; disp('Inv(A)*B'); tic;inv(a)*b;toc; Ergebnisse : For a\b Elapsed time …


4
Welche Tools oder Ansätze stehen zur Verfügung, um den in Python geschriebenen Code zu beschleunigen?
Hintergrund: Ich denke, ich möchte vielleicht einen Code portieren, der Matrix-Exponentialvektor-Produkte mit einer Krylov-Subspace-Methode von MATLAB nach Python berechnet. (Insbesondere die expmvp- Funktion von Jitse Niesen , bei der ein in diesem Artikel beschriebener Algorithmus verwendet wird .) Ich weiß jedoch, dass ich nur Funktionen aus Modulen verwende, die aus …

4
Wann sollte ich C ++ - Ausdrucksvorlagen in der Informatik verwenden und wann sollte ich sie * nicht * verwenden?
Angenommen, ich arbeite an einem wissenschaftlichen Code in C ++. In einer kürzlich mit einem Kollegen geführten Diskussion wurde argumentiert, dass Ausdrucksvorlagen eine wirklich schlechte Sache sein könnten, die möglicherweise die Kompilierbarkeit von Software nur auf bestimmten gcc-Versionen ermöglicht. Angeblich hat dieses Problem einige wissenschaftliche Codes betroffen, wie in den …

1
Was ist der bevorzugte und effiziente Ansatz für die Interpolation mehrdimensionaler Daten?
Was ist der bevorzugte und effiziente Ansatz für die Interpolation mehrdimensionaler Daten? Dinge, über die ich mir Sorgen mache: Leistung und Speicher für Konstruktion, Einzel- / Chargenbewertung Handhabungsabmessungen von 1 bis 6 linear oder höherer Ordnung Fähigkeit, Gradienten zu erhalten (wenn nicht linear) regelmäßiges gegen zerstreutes Gitter Verwendung als Interpolationsfunktion, …


1
Wie skaliert sich die Leistung von Python / Numpy-Array-Operationen mit zunehmenden Array-Dimensionen?
Wie skalieren Python / Numpy-Arrays mit zunehmenden Array-Dimensionen? Dies basiert auf einem Verhalten, das ich beim Benchmarking von Python-Code für diese Frage festgestellt habe: Wie kann man diesen komplizierten Ausdruck mit numpy-Slices ausdrücken? Das Problem bestand hauptsächlich in der Indizierung zum Auffüllen eines Arrays. Ich fand heraus, dass die Vorteile …

3
Können diagonale und feste symmetrische lineare Systeme nach der Vorberechnung in quadratischer Zeit gelöst werden?
Gibt es eine O(n3+n2k)O(n3+n2k)O(n^3+n^2 k) -Methode, um kkk lineare Systeme der Form zu lösen, (Di+A)xi=bi(Di+A)xi=bi(D_i + A) x_i = b_iwobei AAA eine feste SPD-Matrix ist und DiDiD_i positive Diagonalmatrizen sind? Wenn beispielsweise jedes DiDiD_i Skalar ist, genügt es , den SVD zu berechnen AAA . Dies bricht jedoch für General …

6
Inwieweit ist die generische und Metaprogrammierung mit C ++ - Vorlagen in der Computerwissenschaft nützlich?
Die C ++ - Sprache bietet allgemeine Programmierung und Metaprogrammierung über Vorlagen. Diese Techniken haben ihren Weg in viele große wissenschaftliche Computerpakete (z. B. MPQC , LAMMPS , CGAL , Trilinos ) gefunden. Aber was haben sie tatsächlich dazu beigetragen, dass das wissenschaftliche Rechnen einen Wert hat, der über nicht …

4
Best Practices für die Zuordnung / Initialisierung von portablem Multicore- / NUMA-Speicher
Wenn in Umgebungen mit gemeinsam genutztem Speicher (z. B. Threading über OpenMP, Pthreads oder TBB) Berechnungen mit begrenzter Speicherbandbreite durchgeführt werden, besteht ein Dilemma dahingehend, wie sichergestellt werden kann, dass der Speicher korrekt auf den physischen Speicher verteilt wird, sodass jeder Thread hauptsächlich auf einen Speicher zugreift "lokaler" Speicherbus. Obwohl …


3
Vergleich der Iterationsmethoden: Anzahl der Iterationen vs. CPU-Zeit
Ich vergleiche zwei iterative Methoden zum Invertieren von zufälligen Quadratmatrizen. Da die Matrizen zufällig sind, benötigt jeder Testfall sowohl unterschiedliche Mengen an Iterationen als auch unterschiedliche abgelaufene Zeiten. Meine Frage ist, neben der mittleren CPU-Zeit, der Mittelwert der Iterationen, die von beiden Methoden verwendet werden. Nützliche Informationen zum Vergleichen der …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.