Exploiting graphical processing units for data-parallel scientific applications
Leist, A.; Playne, D. P.; Hawick, K. A.
D. P. Playne
K. A. Hawick
Graphical processing units (GPUs) have recently attracted attention for scientific applications such as particle simulations. This is partially driven by low commodity pricing of GPUs but also by recent toolkit and library developments that make them more accessible to scientific programmers. We discuss the application of GPU programming to two significantly different paradigms - regular mesh field equations with unusual boundary conditions and graph analysis algorithms. The differing optimization techniques required for these two paradigms cover many of the challenges faced when developing GPU applications. We discuss the relevance of these application paradigms to simulation engines and games. GPUs were aimed primarily at the accelerated graphics market but since this is often closely coupled to advanced game products it is interesting to speculate about the future of fully integrated accelerator hardware for both visualization and simulation combined. As well as reporting the speed-up performance on selected simulation paradigms, we discuss suitable data-parallel algorithms and present code examples for exploiting GPU features like large numbers of threads and localized texture memory. We find a surprising variation in the performance that can be achieved on GPUs for our applications and discuss how these findings relate to past known effects in parallel computing such as memory speed-related super-linear speed up. Copyright © 2009 John Wiley & Sons, Ltd.
|Journal Article Type||Article|
|Publication Date||Dec 25, 2009|
|Journal||Concurrency And Computation-Practice & Experience|
|Peer Reviewed||Peer Reviewed|
|APA6 Citation||Leist, A., Playne, D. P., & Hawick, K. A. (2009). Exploiting graphical processing units for data-parallel scientific applications. Concurrency and Computation: Practice and Experience, 21(18), 2400-2437. doi:10.1002/cpe.1462|
|Keywords||Data‐parallelism; GPUs; Field equations; Graph algorithms; CUDA|
You might also like
Computational methods for finding long simple cycles in complex networks
Hypercubic storage layout and transforms in arbitrary dimensions using GPUs and CUDA
Parallel graph component labelling with GPUs and CUDA
Regular lattice and small-world spin model simulations using CUDA and GPUs