1 |
Program reversal schedules for single and multi-processor machinesWalther, Andrea. Unknown Date (has links) (PDF)
Techn. University, Diss., 1999--Dresden.
|
2 |
Program Reversal Schedules for Single- and Multi-processor Machines / Schemata zur Programmumkehr für Ein- und MehrprozessormaschinenWalther, Andrea 19 January 2002 (has links) (PDF)
Bei der Berechnung von Adjungierten, zum Debuggen und für ähnliche Anwendungen kann man die Umkehr der entsprechenden Programmauswertung verwenden. Der einfachste Ansatz, nämlich das Mitschreiben einer kompletten Mitschrift der Vorwärtsrechnung, welche anschließend rückwärts gelesen wird, verursacht einen enormen Speicherplatzbedarf. Als Alternative dazu kann man die Mitschrift auch stückweise erzeugen, indem die Programmauswertung von passend gewählten Checkpoints wiederholt gestartet wird. Das Ziel der Arbeit ist die Minimierung des von der Programmumkehr verursachten Zeit- und Speicherplatzbedarfs. Dieser wird gemessen in Auswertungswiederholungen bzw. verwendeten Checkpoints. Optimale Umkehrschemata werden für Ein- und Mehr-Schritt-Verfahren entwickelt, welche zum Beispiel bei der Diskretisierung einer gewöhnlichen Differentialgleichung Verwendung finden. Desweiteren erfolgte die Entwicklung von parallelen Umkehrschemata, d. h. mehrere Prozessoren werden für die Umkehrung der Programmauswertung eingesetzt. Diese zusätzlichen Prozessoren dienen dazu, die wiederholten Berechnungen des Programms zu parallelisieren, so daß ein Prozessor die Rückwartsrechnung ohne Unterbrechung durchführen kann. Sowohl für die seriellen als auch für die parallelen Umkehrschemata wurde gezeigt, daß die Länge der umzukehrenden Programmauswertung exponentiell in Abhängigkeit von der Zahl der verwendeten Checkpoints und der Zahl der wiederholten Auswertungen bzw. verwendeten Prozessoren wächst. / For adjoint calculations, parameter estimation, and similar purposes one may need to reverse the execution of a computer program. The simplest option is to record a complete execution log and then to read it backwards. This requires massive amounts of storage. Instead one may generate the execution log piecewise by restarting the ``forward'' calculation repeatedly from suitably placed checkpoints. The basic structure of the resulting reversal schedules is illustrated. Various strategies are analysed with respect to the resulting temporal and spatial complexity on serial and parallel machines. For serial machines known optimal compromises between operations count and memory requirement are explained, and they are extended to more general situations. For program execution reversal on multi-processors the new challenges and demands on an optimal reversal schedule are described. We present parallel reversal schedules that are provably optimal with regards to the number of concurrent processes and the total amount of memory required.
|
3 |
Structured higher-order algorithmic differentiation in the forward and reverse mode with application in optimum experimental designWalter, Sebastian 07 May 2012 (has links)
In dieser Arbeit werden Techniken beschrieben, die es erlauben (höhere) Ableitungen und Taylorapproximationen solcher Computerprogramme effizient zu berechnen. Auch inbesondere dann, wenn die Programme Algorithmen der numerischen linearen Algebra (NLA) enthalten. Im Gegensatz zur traditionellen algorithmischen Differentiation (AD), bei der die zugrunde liegenden Algorithmen um zusätzliche Befehlere erweitert werden, sind in dieser Arbeit die Zerlegungen durch definierende Gleichungen charakterisiert. Basierend auf den definierenden Gleichungen werden Strukturausnutzende Algorithmen hergeleitet. Genauer, neuartige Algorithmen für die Propagation von Taylorpolynomen durch die QR, Cholesky und reell-symmetrischen Eigenwertzerlegung werden präsentiert. Desweiteren werden Algorithmen für den Rückwärtsmodus der AD hergeleitet, welche im Wesentlichen nur die Faktoren der Zerlegungen benötigen. Im Vergleich zum traditionellen Ansatz, bei dem alle Zwischenergebnisse gespeichert werden, ist dies eine Reduktion von O(N^3) zu O(N^2) für Algorithmen mit O(N^3) Komplexität. N ist hier die Größe der Matrix. Zusätzlich kann bestehende, hoch-optimierte Software verwendet werden. Ein Laufzeitvergleich zeigt, dass dies im Vergleich zum traditionellen Ansatz zu einer Beschleunigung in der Größenordnung 100 führen kann. Da die NLA Funktionen als Black Box betrachtet werden, ist desweiteren auch der Berechnungsgraph um Größenordnungen kleiner. Dies bedeutet, dass Software, welche Operator Overloading benutzt, weniger Overhead hervorruft und auch weniger Speicher benötigt. / This thesis provides a framework for the evaluation of first and higher-order derivatives and Taylor series expansions through large computer programs that contain numerical linear algebra (NLA) functions. It is a generalization of traditional algorithmic differentiation (AD) techniques in that NLA functions are regarded as black boxes where the inputs and outputs are related by defining equations. Based on the defining equations, structure-exploiting algorithms are derived. More precisely, novel algorithms for the propagation of Taylor polynomials through the QR, Cholesky,- and real-symmetric eigenvalue decomposition are shown. Recurrences for the reverse mode of AD, which require essentially only the returned factors of the decomposition, are also derived. Compared to the traditional approach where all intermediates of an algorithm are stored, this is a reduction from O(N^3) to O(N^2) for algorithms with O( N^3) complexity. N denotes the matrix size. The derived algorithms make it possible to use existing high-performance implementations. A runtime comparison shows that the treatment of NLA functions as atomic can be more than one order of magnitude faster than an automatic differentiation of the underlying algorithm. Furthermore, the computational graph is orders of magnitudes smaller. This reduces the additional memory requirements, as well as the overhead, of operator overloading techniques to a fraction.
|
4 |
Program Reversal Schedules for Single- and Multi-processor MachinesWalther, Andrea 10 December 1999 (has links)
Bei der Berechnung von Adjungierten, zum Debuggen und für ähnliche Anwendungen kann man die Umkehr der entsprechenden Programmauswertung verwenden. Der einfachste Ansatz, nämlich das Mitschreiben einer kompletten Mitschrift der Vorwärtsrechnung, welche anschließend rückwärts gelesen wird, verursacht einen enormen Speicherplatzbedarf. Als Alternative dazu kann man die Mitschrift auch stückweise erzeugen, indem die Programmauswertung von passend gewählten Checkpoints wiederholt gestartet wird. Das Ziel der Arbeit ist die Minimierung des von der Programmumkehr verursachten Zeit- und Speicherplatzbedarfs. Dieser wird gemessen in Auswertungswiederholungen bzw. verwendeten Checkpoints. Optimale Umkehrschemata werden für Ein- und Mehr-Schritt-Verfahren entwickelt, welche zum Beispiel bei der Diskretisierung einer gewöhnlichen Differentialgleichung Verwendung finden. Desweiteren erfolgte die Entwicklung von parallelen Umkehrschemata, d. h. mehrere Prozessoren werden für die Umkehrung der Programmauswertung eingesetzt. Diese zusätzlichen Prozessoren dienen dazu, die wiederholten Berechnungen des Programms zu parallelisieren, so daß ein Prozessor die Rückwartsrechnung ohne Unterbrechung durchführen kann. Sowohl für die seriellen als auch für die parallelen Umkehrschemata wurde gezeigt, daß die Länge der umzukehrenden Programmauswertung exponentiell in Abhängigkeit von der Zahl der verwendeten Checkpoints und der Zahl der wiederholten Auswertungen bzw. verwendeten Prozessoren wächst. / For adjoint calculations, parameter estimation, and similar purposes one may need to reverse the execution of a computer program. The simplest option is to record a complete execution log and then to read it backwards. This requires massive amounts of storage. Instead one may generate the execution log piecewise by restarting the ``forward'' calculation repeatedly from suitably placed checkpoints. The basic structure of the resulting reversal schedules is illustrated. Various strategies are analysed with respect to the resulting temporal and spatial complexity on serial and parallel machines. For serial machines known optimal compromises between operations count and memory requirement are explained, and they are extended to more general situations. For program execution reversal on multi-processors the new challenges and demands on an optimal reversal schedule are described. We present parallel reversal schedules that are provably optimal with regards to the number of concurrent processes and the total amount of memory required.
|
5 |
Schedules for Dynamic Bidirectional Simulations on Parallel Computers / Schemata für dynamische bidirektionale Simulationen auf ParallelrechnernLehmann, Uwe 30 April 2003 (has links) (PDF)
For adjoint calculations, parameter estimation, and similar purposes one may need to reverse the execution of a computer program. The simplest option is to record a complete execution log and then to read it backwards. This requires massive amounts of storage. Instead one may generate the execution log piecewise by restarting the ``forward'' calculation repeatedly from suitably placed checkpoints. This thesis extends the theoretical results of the parallel reversal schedules. First a algorithm was constructed which carries out the ``forward'' calculation and distributes checkpoints in a way, such that the reversal calculation can be started at any time. This approach provides adaptive parallel reversal schedules for simulations where the number of time steps is not known a-priori. The number of checkpoints and processors used is optimal at any time. Further, an algorithm was described which makes is possible to restart the initial computer program during the program reversal. Again, this can be done without any additional computation at any time. Hence, optimal parallel reversal schedules for the bidirectional simulation are provided by this thesis. / Bei der Berechnung von Adjungierten, zum Debuggen und für ähnliche Anwendungen kann man die Umkehr der entsprechenden Programmauswertung verwenden. Der einfachste Ansatz, nämlich das Erstellen einer kompletten Mitschrift der Vorwärtsrechnung, welche anschließend rückwärts gelesen wird, verursacht einen enormen Speicherplatzbedarf. Als Alternative dazu kann man die Mitschrift auch stückweise erzeugen, indem die Programmauswertung von passend gewählten Checkpoints wiederholt gestartet wird. In dieser Arbeit wird die Theorie der optimalen parallelen Umkehrschemata erweitert. Zum einen erfolgt die Konstruktion von adaptiven parallelen Umkehrschemata. Dafür wird ein Algorithmus beschrieben, der es durch die Nutzung von mehreren Prozessen ermöglicht, Checkpoints so zu verteilen, daß die Umkehrung des Programmes jederzeit ohne Zeitverlust erfolgen kann. Hierbei bleibt die Zahl der verwendeten Checkpoints und Prozesse innerhalb der bekannten Optimalitätsgrenzen. Zum anderen konnte für die adaptiven parallelen Umkehrschemata ein Algorithmus entwickelt werden, welcher ein Restart der eigentlichen Programmauswertung basierend auf der laufenden Programmumkehr erlaubt. Dieser Restart kann wieder jederzeit ohne Zeitverlust erfolgen und die entstehenden Checkpointverteilung erfüllen wieder sowohl Optimalitäts- als auch die Adaptivitätskriterien. Zusammenfassend wurden damit in dieser Arbeit Schemata konstruiert, die bidirektionale Simulationen ermöglichen.
|
6 |
Berechnung singulärer Punkte nichtlinearer GleichungssystemeSchnabel, Uwe 20 November 2000 (has links) (PDF)
Diese Arbeit beschäftigt sich mit der Berechnung singulärer Punkte nichtlinearer Gleichungssysteme F(x)=0. Dazu werden minimal erweiterte Systeme der Form F(x)+D*s=0, f(x)=0 betrachtet. Die allgemeine Vorgehensweise zur Berechnung singulärer Punkte mit solchen erweiterten Systemen wird geschlossen dargestellt. Dazu werden zuerst die (teilweise verallgemeinerten Ljapunov-Schmidt-)reduzierten Funktionen von Golubitsky und Schaeffer, Beyn, Jepson und Spence, Griewank und Reddien, Kunkel bzw. Govaerts verallgemeinert und zusammengefasst. Es wird die verallgemeinerte Kontaktäquivalenz all dieser verallgemeinerten reduzierten Funktionen und die Gleichheit der benötigten Regularitätsannahmen bewiesen. Für eine weitere, neu eingeführte reduzierte Funktion wird die in dieser Arbeit definierte Ableitungsäquivalenz zu den anderen reduzierten Funktionen gezeigt. Mit dieser neuen reduzierten Funktion wird eine Reihe singulärer Punkte klassifiziert. Aus dieser Klassifikation ergeben sich Funktionen f aus Ableitungen der neuen reduzierten Funktion. Mit den so eingeführten Funktionen f kann das zweistufiges Newtonverfahren nach Pönisch und Schwetlick effektiv angewendet werden. Alle benötigten Ableitungen werden mittels Automatischer Differentiation bestimmt. Die numerischen Ergebnisse für eine Reihe von Beispielen zeigen die Effizienz dieses Verfahrens. Beim Newtonverfahren werden lineare Gleichungssysteme mit geränderten Matrizen B gelöst. Es wird gezeigt, für welche Ränderungen die Konditionszahl von B minimal ist. Dies ist z.B. für gewisse Vielfache der Singulärvektoren zu den kleinsten Singulärwerten der Fall. Zur Bestimmung dieser Ränderungen wird die inverse Teilraumiteration für Singulärwerte in verschiedenen Algorithmen angewendet. Die Konvergenzeigenschaften werden untersucht. Für einen Algorithmus wird bewiesen, dass die Konditionszahlen der iterierten geränderten Matrizen monoton fallen. Die numerischen Experimente bestätigen diese Eigenschaften.
|
7 |
Berechnung singulärer Punkte nichtlinearer GleichungssystemeSchnabel, Uwe 27 October 2000 (has links)
Diese Arbeit beschäftigt sich mit der Berechnung singulärer Punkte nichtlinearer Gleichungssysteme F(x)=0. Dazu werden minimal erweiterte Systeme der Form F(x)+D*s=0, f(x)=0 betrachtet. Die allgemeine Vorgehensweise zur Berechnung singulärer Punkte mit solchen erweiterten Systemen wird geschlossen dargestellt. Dazu werden zuerst die (teilweise verallgemeinerten Ljapunov-Schmidt-)reduzierten Funktionen von Golubitsky und Schaeffer, Beyn, Jepson und Spence, Griewank und Reddien, Kunkel bzw. Govaerts verallgemeinert und zusammengefasst. Es wird die verallgemeinerte Kontaktäquivalenz all dieser verallgemeinerten reduzierten Funktionen und die Gleichheit der benötigten Regularitätsannahmen bewiesen. Für eine weitere, neu eingeführte reduzierte Funktion wird die in dieser Arbeit definierte Ableitungsäquivalenz zu den anderen reduzierten Funktionen gezeigt. Mit dieser neuen reduzierten Funktion wird eine Reihe singulärer Punkte klassifiziert. Aus dieser Klassifikation ergeben sich Funktionen f aus Ableitungen der neuen reduzierten Funktion. Mit den so eingeführten Funktionen f kann das zweistufiges Newtonverfahren nach Pönisch und Schwetlick effektiv angewendet werden. Alle benötigten Ableitungen werden mittels Automatischer Differentiation bestimmt. Die numerischen Ergebnisse für eine Reihe von Beispielen zeigen die Effizienz dieses Verfahrens. Beim Newtonverfahren werden lineare Gleichungssysteme mit geränderten Matrizen B gelöst. Es wird gezeigt, für welche Ränderungen die Konditionszahl von B minimal ist. Dies ist z.B. für gewisse Vielfache der Singulärvektoren zu den kleinsten Singulärwerten der Fall. Zur Bestimmung dieser Ränderungen wird die inverse Teilraumiteration für Singulärwerte in verschiedenen Algorithmen angewendet. Die Konvergenzeigenschaften werden untersucht. Für einen Algorithmus wird bewiesen, dass die Konditionszahlen der iterierten geränderten Matrizen monoton fallen. Die numerischen Experimente bestätigen diese Eigenschaften.
|
8 |
Schedules for Dynamic Bidirectional Simulations on Parallel ComputersLehmann, Uwe 19 May 2003 (has links)
For adjoint calculations, parameter estimation, and similar purposes one may need to reverse the execution of a computer program. The simplest option is to record a complete execution log and then to read it backwards. This requires massive amounts of storage. Instead one may generate the execution log piecewise by restarting the ``forward'' calculation repeatedly from suitably placed checkpoints. This thesis extends the theoretical results of the parallel reversal schedules. First a algorithm was constructed which carries out the ``forward'' calculation and distributes checkpoints in a way, such that the reversal calculation can be started at any time. This approach provides adaptive parallel reversal schedules for simulations where the number of time steps is not known a-priori. The number of checkpoints and processors used is optimal at any time. Further, an algorithm was described which makes is possible to restart the initial computer program during the program reversal. Again, this can be done without any additional computation at any time. Hence, optimal parallel reversal schedules for the bidirectional simulation are provided by this thesis. / Bei der Berechnung von Adjungierten, zum Debuggen und für ähnliche Anwendungen kann man die Umkehr der entsprechenden Programmauswertung verwenden. Der einfachste Ansatz, nämlich das Erstellen einer kompletten Mitschrift der Vorwärtsrechnung, welche anschließend rückwärts gelesen wird, verursacht einen enormen Speicherplatzbedarf. Als Alternative dazu kann man die Mitschrift auch stückweise erzeugen, indem die Programmauswertung von passend gewählten Checkpoints wiederholt gestartet wird. In dieser Arbeit wird die Theorie der optimalen parallelen Umkehrschemata erweitert. Zum einen erfolgt die Konstruktion von adaptiven parallelen Umkehrschemata. Dafür wird ein Algorithmus beschrieben, der es durch die Nutzung von mehreren Prozessen ermöglicht, Checkpoints so zu verteilen, daß die Umkehrung des Programmes jederzeit ohne Zeitverlust erfolgen kann. Hierbei bleibt die Zahl der verwendeten Checkpoints und Prozesse innerhalb der bekannten Optimalitätsgrenzen. Zum anderen konnte für die adaptiven parallelen Umkehrschemata ein Algorithmus entwickelt werden, welcher ein Restart der eigentlichen Programmauswertung basierend auf der laufenden Programmumkehr erlaubt. Dieser Restart kann wieder jederzeit ohne Zeitverlust erfolgen und die entstehenden Checkpointverteilung erfüllen wieder sowohl Optimalitäts- als auch die Adaptivitätskriterien. Zusammenfassend wurden damit in dieser Arbeit Schemata konstruiert, die bidirektionale Simulationen ermöglichen.
|
Page generated in 0.1309 seconds