Akcelerace akustického propagátoru na GPU - Ludvík, Martin (Vysoké učení technické v Brně. Fakulta informačních technologií, 2025)
Tato diplomová práce se zabývá akcelerací propagátoru akustického pole (AFP) pomocí GPU. AFP je jedno kroková metoda simulace číření vln, často využívaná v modelování ultrazvuku. Původní implementace v prostředí MATLAB byla přepracována do jazyka C++ s využitím technologie CUDA, čímž se podařilo využít paralelního zpracování moderních grafických karet. Bylo implementováno několik variant AFP, pro absorbující media, s využitím wave wraping cancelation, pro nelineární akustiku a heterogenních médií. Nová implementace výrazně zrychluje výpočty při zachování numerické přesnosti. Pro nelineární model byla navíc přidána podpora metody wave wraping canceling. Výsledky ukazují výrazné zkrácení doby výpočtu v některých případech až 100 násobné a úsporu paměti oproti původnímu kódu, což činí řešení vhodným pro rozsáhlé a časově náročné simulace akustického pole.

This thesis presents the GPU acceleration of the Acoustic Field Propagator (AFP), a one-step wave simulation method commonly used in ultrasound modelling. The original MATLAB-based implementation was rewritten in C++ and CUDA to leverage the parallel processing capabilities of modern GPUs. Several AFP variants were implemented, including absorbing grid, wave wrapping cancellation, nonlinear acoustics, and propagator for heterogeneous media. The new implementation significantly improves computational performance while maintaining numerical accuracy. Additionally, support for wave wrapping cancellation was added to the nonlinear model. The results demonstrate substantial speedup reaching 100x and simultaneously reduced memory usage compared to the original code, making the solution suitable for large-scale acoustic simulations.
GPU Acceleration of Acoustic Field Propagator
Keywords: Akustický propagátor; GPU; Ultrazvuk; Simulace; Numerické metody; Paralelní výpočty; CUDA; Acoustic Field Propagator; GPU; Ultrasound; Simulation; Numerical methods; Parallel computing; CUDA