Ich stelle die Leistung der linearen Löser von PETSc vor. So wie ich es verstehe,
Ich weiß, dass das Ausführen des parallelen Codes auf einem Prozessor als Proxy für die sequentielle Leistung verwendet werden kann. Ich denke jedoch nicht, dass dies aufgrund des parallelen Overheads ein gutes Maß für einen äquivalenten sequentiellen Code ist. Häufig ist die Leistung eines sequentiellen Codes schneller als die parallele Leistung eines einzelnen Prozessors. Ich nehme an, ich könnte nach numerischen Bibliotheken suchen, die denselben Löser implementieren, aber es gibt keine Garantie dafür, dass der Algorithmus wirklich gleichwertig ist.
So wie ich es verstehe,
Wenn es also eine Möglichkeit gibt, den parallelen Overhead zu quantifizieren, können wir ihn von der parallelen Zeit auf einem Prozessor subtrahieren, um ein besseres Maß für die sequentielle Zeit zu erhalten.
Meine Fragen wären dann also:
- Gibt es eine Möglichkeit, den parallelen Overhead eines parallelen Codes zu berechnen, der auf einem einzelnen Prozessor ausgeführt wird, wenn kein sequentieller Code verfügbar ist?
- Ist es wirklich notwendig? Ist die parallele Leistung auf einem Prozessor gut genug, um die sequentielle Leistung im Allgemeinen anzunähern?