
Efficient Data Input/Output (I/O) for Finite Difference Time Domain (FDTD). Computation on Graphics Processing Unit (GPU)
Master's Thesis aus dem Jahr 2014 im Fachbereich Informatik - Angewandte, Note: 1: First, University of Manchester (School of Computer Science), Kurs: Advanced Computer Science: Computer Systems Engineering, Sprache: Deutsch Englisch, Beschreibung: Aufgrund der jüngsten Fortschritte in der Technologie, ist eine der beliebtesten Möglichkeiten, die Leistung in Bezug auf die Ausführungszeit von Programmen zu erreichen, die Nutzung der massiven Parallelität von GPU-basierten Beschleunigern zusammen mit CPU-Rechnern. Beim GPU-basierten Accelerator Computing wird der daten- oder rechenintensive Teil auf der GPU berechnet, während die einfachen, aber komplexen Anweisungen auf der CPU berechnet werden, um eine massive Beschleunigung der Ausführungszeit des auf dem Computersystem ausgeführten Computerprogramms zu erreichen.
In der Physik, insbesondere im Elektromagnetismus, ist die Finite-Difference Time-Domain (FDTD) eine beliebte numerische Analysemethode, die zur Lösung der partiellen Maxwellschen Differentialgleichungen verwendet wird, um das elektrische Feld mit dem magnetischen Feld zu vereinheitlichen und in Beziehung zu setzen. Da die FDTD-Methode rechenintensiv ist und einen hohen Grad an Parallelität in der rechnerischen Umsetzung aufweist, versuchen Forscher seit einigen Jahren, den rechenintensiven Teil der FDTD-Methode auf dem Grafikprozessor (GPU) statt auf dem Prozessor zu berechnen. Bei der Berechnung parallelisierter Teile von FDTD-Algorithmen auf der GPU wird zwar eine sehr gute Leistung erzielt, aber wegen der sehr hohen Latenz zwischen CPU und GPU keine sehr gute Beschleunigung der Ausführungszeit erreicht.
Die Berechnungsergebnisse sollen bei jedem FDTD-Zeitschritt erzeugt und auf der Festplatte des Systems gespeichert werden. Dies kann als Datenausgabe der FDTD-Methoden bezeichnet werden, und die Überlappung von Datenausgabe und Berechnung der Feldwerte beim nächsten Zeitschritt kann nicht gleichzeitig erfolgen.
Aus diesem Grund und wegen der Latenzzeit zwischen CPU und GPU gibt es einen Engpass bei der Leistung der Datenausgabe der GPU. Dieses Problem kann als ineffiziente Leistung der Dateneingabe/-ausgabe betrachtet werden (I.