Computational Science Technical Note CSTN-065


Exploiting Graphical Processing Units for Data Parallel Scientific Applications

A. Leist, D. P. Playne and K. A. Hawick

Archived October 2008


Graphical Processing Units (GPUs) have recently attracted attention for certain scientific simulation problems 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 report on two further application paradigms -- regular mesh field equations with unusual boundary conditions and graph analysis algorithms -- that can also make use of GPU architectures to greatly accelerate certain simulations. We discuss the relevance of all these application paradigms and how they relate to simulations engines and embedded games components. 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 visualisation and simulation combined. As well as reporting speedup performance on selected simulation paradigms, we discuss suitable data parallel algorithms and present some specific code examples for making good use of GPU features like large numbers of threads and localised texture memory. We review how these ideas have evolved from past data parallel systems such as vector and array processors and speculate on how future CPUs will incorporate further support for these ideas.

Keywords: data parallelism; GPUs; field equations; graph algorithms

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

  author = {Arno Leist and Daniel P. Playne and K. A. Hawick},
  title = {{Exploiting Graphical Processing Units for Data-Parallel Scientific
  journal = {Concurrency and Computation: Practice and Experience},
  year = {2009},
  volume = {21},
  pages = {2400-2437},
  number = {18},
  month = {25 December},
  note = {{CSTN-065}},
  doi = {10.1002/cpe.1462},
  institution = {Massey University},
  timestamp = {2008.10.30}

[ CSTN Index | CSTN BiBTeX ]