Optimization of the parallel black-box fast multipole method on CUDA
Optimization of the parallel black-box fast multipole method on CUDA
复制标题
DOI:
10.1109/inpar.2012.6339607
复制
发表时间:
2012-05
期刊:
影响因子:
--
通讯作者:
T. Takahashi;C. Cecka;Eric F Darve
中科院分区:
文献类型:
--
作者:
T. Takahashi;C. Cecka;Eric F Darve
The fast multipole method (FMM) is a widely used numerical algorithm in computational science and engineering. A recent research trend is to perform the FMM on many-core processors, including Graphical Processing Units (GPUs). In this paper, we discuss methods to optimize the black-box FMM (bbFMM), which is a variant of the FMM that can accept any non-oscillatory kernel as specified by the user, on GPUs. Using CUDA-capable GPUs, we focused our analysis on the two most time-consuming phases in the bbFMM: the multipole-to-local (M2L) operation and the short-range direct kernel computation. Following a previously published paper by Takahashi et al. (2011), we incorporated the best implementation of the M2L operation for the GPU in a complete bbFMM code. We created a highly optimized CPU version of the code along with the CUDA code. Although the GPU provides a significant speed-up during the M2L phase, the speed up was more moderate in the direct short-range calculation part. It was found that the 12-core CPU is close to peak performance (using all cores) during that phase of the calculation. Extensive algorithmic and performance analysis is provided between the CPU and GPU, along with comparisons with previously published work, which suggests that the current implementation is one of the most efficient for this class of FMM.