The split-and-merge method in general purpose computation on GPUs

► 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 a...

Full description

Saved in:
Bibliographic Details
Published in:Parallel computing Vol. 38; no. 6-7; pp. 277 - 288
Main Authors: Argüello, F., Heras, D.B., Bóo, M., Lamas-Rodríguez, J.
Format: Journal Article
Language:English
Published: Elsevier B.V 01.06.2012
Subjects:
ISSN:0167-8191, 1872-7336
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:► 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.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0167-8191
1872-7336
DOI:10.1016/j.parco.2012.03.003