The split-and-merge method in general purpose computation on GPUs - Argüello, F.; Heras, D.B.; Bóo, M.; Lamas-Rodríguez, J. (Parallel computing, 2012)
► The split-and-merge method was applied to the CUDA programming model. ► The data dependency problem at the block boundaries was solved. ► Some parameters can be adjusted to achieve a higher efficiency. ► The method can be easily extended to the two-dimensional case. The split-and-merge method is an algorithm design paradigm sometimes used in the field of parallel computing. It is applied to multilevel algorithms such as the wavelet transforms and some tridiagonal system solvers. In this paper we present the application of the method in the context of general purpose computation on GPUs. The split-and-merge method allows us to efficiently use the CUDA parallel programming model, where a multithreaded program is partitioned into blocks of threads that execute independently from each other. Thus we can solve the data dependency problem at the block boundaries and efficiently take advantage of the memory hierarchy of the GPU. The results obtained show a significant acceleration compared with the direct implementation of the algorithms on the GPU.