Many complex natural systems studied in the geosciences are characterized by simple local-scale interactions that result in complex emergent behavior. Simulations of these systems, often implemented in parallel using standard central processing unit (CPU) clusters, may be better suited to parallel processing environments with large numbers of simple processors. Such an environment is found in graphics processing units (GPUs) on graphics cards. This paper discusses GPU implementations of three example applications from computational fluid dynamics, seismic wave propagation, and rock magnetism. These candidate applications involve important numerical modeling techniques, widely employed in physical system simulations, that are themselves examples of distinct computing classes identified as fundamental to scientific and engineering computing. The presented numerical methods (and respective computing classes they belong to) are: (1) a lattice-Boltzmann code for geofluid dynamics (structured grid class); (2) a spectral-finite-element code for seismic wave propagation simulations (sparse linear algebra class); and (3) a least-squares minimization code for interpreting magnetic force microscopy data (dense linear algebra class). Significant performance increases (between 10× and 30× in most cases) are seen in all three applications, demonstrating the power of GPU implementations for these types of simulations and, more generally, their associated computing classes.
Bibliographical noteFunding Information:
We would like to thank Joshua Feinberg, Justin Revenaugh, Erich Frahm and Casey Battaglino for their assistance and helpful suggestions while writing this paper. We also gratefully acknowledge the use of resources from the University of Minnesota Supercomputing Institute (MSI), and thank nVIDIA for supplying the 8800 GTX graphics card. Martin Saar thanks the George and Orpha Gibson endowment for its generous support of the Hydrogeology and Geofluids research group. In addition, this material is based upon support by the National Science Foundation (NSF) under Grant nos. DMS-0724560 and EAR-0510723. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF. We thank the anonymous reviewers for their helpful comments that improved this paper.
- General purpose graphics processing units
- Lattice Boltzmann
- Least-squares minimization
- Magnetic force microscopy
- Parallel computing
- Spectral finite element method