Introduction to Simulations on GPUs

Abstract

Graphical processing units (GPUs) are now established as efficient, alternative computing platforms for certain niche applications. Computationally intensive simulations are among applications that can utilize GPUs as computing co-processors. This tutorial introduces the concepts and algorithms for executing simulations on GPUs. Algorithmic aspects for multi-pass execution of time-stepped simulations, and refinements for discrete event execution are described. Examples from applications such as agent-based simulations will be used to illustrate implementations, with source code extracts. Also briefly introduced is advanced material such as use of clusters of multiple GPUs, using a combination of the Message Passing Interface (MPI) and the Common Unified Device Architecture (CUDA). Implementation challenges, such as memory hierarchies and latency hiding needs, will be described. The tutorial is structured to minimize duplication of existing GPU literature, but to be self-contained and customized for simulation applications.

[Pub 80]

http://www.cs.unibo.it/ds-rt2009/

Kalyan Perumalla
Kalyan Perumalla
R&D Manager

Kalyan Perumalla is an R&D Manager with 25 years of experience. As a Federal Program Manager in Advanced Scientific Computing Research at the U.S. Dept. of Energy, Office of Science, Kalyan Perumalla manages a $100-million R&D portfolio covering AI, HPC, Quantum, SciDAC, and Basic Computer Science. He previously led advanced R&D as Distinguished Research Staff Member at the Oak Ridge National Laboratory (ORNL) developing scalable software and applications on the world’s largest supercomputers for 17 years, including as a line manager and a founding group leader. He has held senior faculty and adjunct appointments at UTK, GT, and UNL, and was an IAS Fellow at Durham University.

Next
Previous