Discrete Sine and Cosine Transform and Helmholtz Equation Solver on GPU

2020 
Helmholtz equation is a special kind of elliptic partial differential equation. Solving Helmholtz equation is often needed in many scientific and engineering problems. The efficient approach to solving Helmholtz equation is through using Fast Fourier Transform (FFT). In practice, boundary conditions must be considered, and several discrete Fourier transforms such as Discrete Sine and Cosine Transforms (DST, DCT) are needed for solving problems with different boundary conditions. Nowadays, with the development of Compute Unified Device Architecture (CUDA) technology in recent years, many researchers use Graphics Processing Units (GPUs) to accelerate their programs. In view of the importance of FFT, NVIDIA officially provides the library cuFFT, but it does not include the calculation of DST and DCT, which brings inconvenience to users. In this paper, we present cuHelmholtz which is designed and implemented based on CUDA. It can be used to compute several kinds of three-dimensional DST and DCT, and to solve three-dimensional Helmholtz equations with various boundary conditions. The experimental results show that compared with FISHPACK, a FORTRAN software package which can be used to solve three-dimensional Helmholtz equation, we achieve about 10x to 30x speedup.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    8
    References
    0
    Citations
    NaN
    KQI
    []