
Efficient Data Input/Output (I/O) for Finite Difference Time Domain (FDTD). Computation on Graphics Processing Unit (GPU)
Praca magisterska z roku 2014 na kierunku Informatyka - Stosowana, stopień: Pierwszy, Uniwersytet w Manchesterze (Szkoła Informatyki), kurs: Advanced Computer Science: Inżynieria Systemów Komputerowych, język: Angielski, streszczenie: Ze względu na niedawny postęp technologiczny, jednym z popularnych sposobów osiągania wydajności w odniesieniu do czasu wykonywania programów jest wykorzystanie ogromnej mocy akceleratorów opartych na GPU wraz z obliczeniami CPU. W obliczeniach akceleratorowych opartych na GPU, część intensywnie przetwarzająca dane lub obliczeniowo jest obliczana na GPU, podczas gdy proste, ale złożone instrukcje są obliczane na CPU w celu osiągnięcia ogromnego przyspieszenia czasu wykonywania programu komputerowego wykonywanego w systemie komputerowym.
W fizyce, zwłaszcza w elektromagnetyzmie, metoda różnic skończonych w dziedzinie czasu (FDTD) jest popularną metodą analizy numerycznej, która służy do rozwiązywania zestawu równań różniczkowych cząstkowych Maxwellsa w celu ujednolicenia i powiązania pola elektrycznego z polem magnetycznym. Ponieważ metoda FDTD jest intensywna obliczeniowo i ma wysoki poziom równoległości w implementacji obliczeniowej, z tego powodu od kilku lat naukowcy próbują obliczyć intensywną obliczeniowo część metod FDTD na GPU zamiast na CPU. Chociaż zrównoleglone części algorytmów FDTD obliczane na GPU osiągają bardzo dobrą wydajność, nie udaje się uzyskać bardzo dużego przyspieszenia czasu wykonania z powodu bardzo dużego opóźnienia między CPU a GPU.
Wyniki obliczeń w każdym kroku czasowym FDTD powinny być generowane i zapisywane na dysku twardym systemu. Można to nazwać danymi wyjściowymi metod FDTD, a nakładanie się danych wyjściowych i obliczanie wartości pól w następnym kroku czasowym nie może być wykonywane jednocześnie.
Z tego powodu i z powodu różnicy w opóźnieniach między CPU i GPU, istnieje wąskie gardło w wydajności danych wyjściowych GPU. Problem ten można uznać za nieefektywne działanie wejścia/wyjścia danych (I.