Efektywny czas domeną solver do akustycznego równania falowego na procesorach graficznych


An efficient time-domain solver for the acoustic wave equation on graphics processors
Copyright © By Ravish Mehra
For original English text, go to: http://www.cs.unc.edu/~ravishm/GPUSOUND/

Ravish Mehra, Nikunj Raghuvanshi, Lauri Savioja, Ming Lin, Dinesh Manocha
Tech Report TR10-007, UNC-Chapel Hill

papier (550kB) Benchmarks

Streszczenie:

Efektywny algorytm do czasu domeną rozwiązania równania falowego w celu akustyki pomieszczenia są prezentowane. Podejście zakłada, że ​​prędkość dźwięku jest przestrzennie niezmienne. Numeryczne błędy dyspersyjne są kontrolowane przez obliczenie adaptacyjny prostokątny rozkład środowiska i wykorzystanie rozwiązań analitycznych w prostokątnym partycji opartych na dyskretne kosinusowej Transform. Szósty rzędu skończonych różnica Operatorzy sieci przesyłowych są wykorzystywane do rozprzestrzeniania modelu pomiędzy interfejsami działowych. Mapowanie powieść kompletnego Solvera do procesorów graficznych są prezentowane. Wykazano, że starannie mapowanie wszystkie składniki algorytmu, aby dopasować możliwości przetwarzania równoległego procesorów graficznych, znaczna poprawa wydajności uzyskuje się w porównaniu do realizacji CPU opartych. Ze względu na najbliższej braku numerycznej dyspersji, technika ta jest odpowiednia zarówno dla obliczania odpowiedzi impulsowych dla auralization, jak również produkcji animowanych wizualizacji pól dźwiękowych. W wyniku korzystania procesory graficzne, 1 sekunda długo symulacja może być wykonywany na scenie objętości 7500 metrów sześciennych powietrza do 1650 Hz w 18 minut na komputerze stacjonarnym. Wydajność algorytmu jest testowana przez wiele kompleks w kształcie przestrzeni 3D. Wykorzystanie wyników procesorów graficznych w 25-krotny wzrost czasu obliczeń ponad jednowątkowym realizacji CPU opartego przy produkcji numerycznie identyczne wyniki. Również znaczny przyrost wydajności w stosunku do wysokiej zamówienia skończonych różnica czasu domeną metody jest observed.To najlepszej wiedzy autorów, jest to najszybszy czas domeną solver dla równania falowego dla akustyki pomieszczenia modelowania duży kompleks- kształcie scen 3D, które stwarza szerokie pasma wyników dla auralization jak również charakter poglądowy.

Wyniki:

Badamy wydajność solver ARD na różnym maksymalną użyteczną v_max częstotliwości symulacji. (W lewo) czas symulacji (w ms) na czasowym etapu CPU i GPU opartym na bazie adaptacyjnego rozkładu prostokątnego (ARD) Solver z różnym v_max w kształcie litery L sceny pokoju. Należy pamiętać, że GPU oparte solver jest 24 razy szybsza w najwyższym v_max. (W prawo) Przyspieszenie (= czas CPU / GPU czas) osiągnięty przez naszą GPU oparte solver ARD nad CPU opartego solver z różnym v_max dla różnych scen testowych. Dla v_max> 1300 Hz, możemy osiągnąć przyspieszenie z 10-25X.

Badamy wydajność solver ARD na różnej wielkości sceny. Dla obu postaci, możemy skalować pierwotnej objętości scen testowych przez współczynnik skalowania. Maksymalne możliwe do wykorzystania symulacji wartości v_max używane częstotliwości są: w kształcie litery L pokój (450Hz), Katedra (412Hz), chodnik (472Hz), dworzec kolejowy (285Hz) i pokój dzienny (487Hz). (W lewo) czas symulacji (w ms) na czasowym etapu CPU i GPU opartym na bazie adaptacyjnego rozkładu prostokątnego (ARD) Solver z różnej wielkości sceny w kształcie litery L scenie pokój z v_max = 450 Hz. Należy pamiętać, że GPU oparte solver jest 25 razy szybsza w najwyższym współczynnikiem skalowania. (W prawo) Przyspieszenie (= czas CPU / GPU czas) osiągnięty przez naszą GPU oparte solver ARD w zakresie wykonania procesora z różnej wielkości sceny na różnych scenach testowych. Ponieważ objętość scena rośnie, możemy osiągnąć wyższy przyspieszenie. Do 64 krotnej objętości oryginalnej, przyspieszenie staje się 12-25X.

Na scenie chodnik z powietrza objętości 6411 metrów sześciennych przy maksymalnym użytkowej v_max częstotliwości 1875 Hz symulacji (lewy) Przebieg symulacji – obsługi interfejsu, dyskretny cosinus transformaty (DCT), tryb aktualizacji, odwrotny cosinus dyskretnej transformaty (IDCT), normalizują ciśnienie i idealnie dopasowane warstwy (PML), a odpowiedni czas spędzony w CPU i GPU opartym na bazie adaptacyjnego rozkładu prostokątnego (ARD) solver. Dla naszego solver GPU opartego na prawie wszystkie etapy etapie symulacji są mniej lub bardziej wyważony, z wyjątkiem trybu aktualizacji i normalizuje ciśnienie, którego koszty stają się nieistotne. (W prawo) Speedups osiągnięty przez poszczególnych etapach ARD GPU opartym nad solver CPU-based – PML (30X), tryb aktualizacji (28X), normalizują ciśnienie (16x), DCT (14X), IDCT (14x) i obsługa interfejsu (3x). Ze względu na uncoalesced natury dostępu do pamięci z obsługą interfejsu przyspieszenie uzyskane jest nominalne. Ale ponieważ jego udział w łącznym czasie jazdy jest znacznie mniej w porównaniu do innych czynności, to nie staje się wąskim gardłem.

Używamy katedrę i pokój dzienny jako nasz punkt odniesienia i uruchomić symulacje z różnym maksymalną użyteczną symulacji częstotliwości v_max na 4 różne NVIDIA GPU-tych z różnej liczby procesorów CUDA (zwany również rdzenie) – GeForce 9600M GT (32 rdzeni), GeForce 8800GTX (128 rdzeni ), Quadro FX 5800 (240 rdzeni) i GeForce GTX 480 (480 rdzeni). Obliczyć przyspieszenie w stosunku do GPU z najmniejszą liczbą rdzeni CUDA pkt 32 rdzenie), tj. przyspieszenia o na GPU z rdzeni X = (czas symulacji na 32 rdzeni GPU) / (czas symulacji na X-rdzeni GPU). Osiągamy liniowe skalowanie w wydajności przy wyższych wartościach v_max. Ponieważ liczba rdzeni wzrośnie z 32 do 128 (4 razy), nasz GPU oparte adaptacyjne prostokątny rozkład (ARD) solver staje 4X szybciej. Podobnie z 32 do 240 rdzeni w 7,5 razy wzrost), mamy 7-7.5X przyspieszenie i 32 rdzenie do 480 rdzeni (15-krotność), jesteśmy 14-15x szybciej.

Mamy przyspieszenie działka osiągnięty przez CPU-GPU oparte a nasza oparta adaptacyjne prostokątny rozkład (ARD) Solver przez CPU oparte skończonych różnica czasu domeny (FDTD) Solver z różnym maksymalną użyteczną v_max częstotliwości symulacji dla małej scenie benchmarku pokojowej. Nasz procesor oparty solver FDTD opiera się na pracy zaproponowanej przez Sakamoto et al. Obliczamy przyspieszenie zarówno ARD solver nad FDTD jak (czas symulacji na czas po kroku dla FDTD) / (czas symulacji na czas po kroku dla ARD). FDTD zabraknie pamięci z v_max> 3750 Hz dla tej sceny. Używamy Przewidywany czas aby obliczyć czasy FDTD powyżej 3750 Hz.Procesor oparty solver ARD osiąga osiąga maksymalną przyspieszenie z 75x nad FDTD CPU opartych. Z drugiej strony, nasz GPU oparte solver ARD osiąga maksymalną przyspieszenie z 1100X nad FDTD CPU opartych.

Comments are closed.