![]() |
ИСТИНА |
Войти в систему Регистрация |
ИСТИНА ИНХС РАН |
||
Background: Development of high intensity focused ultrasound (HIFU) applications heavily relies on accurate prediction of ultrasound field parameters used for treatment planning. Several newer HIFU methods, such as histotripsy, effectively use nonlinear shock waves that form at the focus due to nonlinear propagation effects. The Westervelt equation is a commonly used model for simulating such nonlinear fields (Fig. 1). When three-dimensional beams are considered, simulations that include shocks take run times up to several days even using high performance servers with multicore CPUs. This precludes performing fast and efficient treatment planning. Computations can be accelerated using more parallelization on distributed cluster systems. However, availability of a cluster is not suitable for everyday practice. This problem can be mitigated by using graphics processors (GPU) that have up to several thousand mini cores and allow performing a wide range of mathematical operations. Materials and Methods: In this project an algorithm to solve the Westervelt equation on a GPU was developed in order to achieve significant speed up over a CPU version. Conventional method of splitting the equation by physical factors was applied considering diffraction, nonlinear, and absorption effects separately at each propagation step. For diffraction operator, the angular spectrum approach, forward and reverse FFT using the cuFFT library, and propagator multiplication were implemented. For nonlinear operator, the solution was based on integrating the system of coupled differential equations for harmonics amplitudes by fourth-order Runge-Kutta method. Thermoviscous and tissue power law absorption effects were simulated using exact solution in the spectral domain. Both nonlinear and absorption operators were parallelized by space coordinates. For performance comparison, similar algorithm was also implemented on a multi-core CPU using OpenMP technology, the FFT was calculated based on the FFTW library. It was assumed that the algorithm implemented on the GPU would run several times faster than the algorithm for the CPU. Calculations were performed on a GPU of graphics card Nvidia GTX1070 with 8 GB of RAM and CPU Intel i7-4790K. Results: In this work the results are presented for an example of modelling the field of a single focused transducer with a 1 MHz frequency. The amplitude distributions for the first 3 harmonics obtained in calculations at 8 CPU threads and GPU are presented in Fig. 2 in axial and focal planes of the transducer demonstrating the correct implementation of the algorithms. The speed of computing on the CPU increases proportionally to an increase in the number of threads. As expected, the 8-thread algorithm was faster than the 4-thread, but the rate of computing on GPU was much higher. The acceleration of calculations for 10 harmonics was obtained in the calculations on GPUs compared to CPU: 80 times (1 thread CPU), 20 times (4 threads) and 10 times (8 threads). When more harmonics were included, the acceleration gain increased proportionally to the number of harmonics (Fig. 3). Conclusions: The C ++ programming language implements three algorithms for calculating high intensity focused ultrasound beams: single-thread for CPU, multi-threaded for CPU using OpenMP technology and algorithm for GPUsusing NVIDIA CUDA. It was shown that the use of graphic accelerators allows for about ten-fold acceleration of nonlinear 3D ultrasound beam simulation, for example from five hours to half an hour. This makes the implementation of numerical experiments feasible for practical implementation in HIFU applications using a personal computer. Acknowledgements: This study was funded by RFBR 20-32-70142, the student stipend from “Basis” Foundation, and FUSF summer 2020 Internship Program.