GGrantIndex
← Search

Efficient Solver Algorithms for Graphical Processing Units

$461,402FY2022MPSNSF

Virginia Polytechnic Institute And State University, Blacksburg VA

Investigators

Abstract

The extensive use of graphical processing units (GPUs) for computer simulations is transforming large-scale simulations. With algorithms that run at a good fraction of peak performance, simulations that recently were only within reach for large multinational companies and national labs are now available even to small start-up companies. Unfortunately, it is not easy to write algorithms that can exploit the peak performance of GPUs. This project focuses on linear solvers, which generally account for a very large fraction of simulation time, with the goal of improving efficiency on GPU-based architectures. More specifically, the project aims to combine a range of techniques to reduce memory usage and data movement (which is time-consuming on GPUs), better initial guesses and better stopping criteria (to halt intermediate computations earlier at an appropriate precision), and dynamic updates to solver parameters to improve efficiency. Applications targeted in this project are primarily in computational fluid dynamics, but also include inverse problems and large-scale topology optimization. The latter plays a fundamental role in the development of new micro-structure/meta materials, their use in the design of optimal structures, and their manufacturing. The project will involve a graduate research assistant and a postdoc. The project will also develop a new graduate course that combines elements of numerical linear algebra, numerical ordinary and partial differential equations, and GPU computing, all with a focus on high performance. This project involves developing iterative solvers for large-scale problems suitable for graphics processing unit (GPU) based architectures. The work aims to thoroughly reevaluate solver architecture to ensure that every part is optimized for GPUs, exposing massive fine grain parallelism in every component, maximizing throughput at every level of the GPU memory hierarchy, and minimizing data movement. This project focuses on algorithmic development that combines and analyzes three key strategies: mixed precision variants and inexact matrix-vector products and smoothers; computing better initial guesses and more effective stopping criteria and indicators; and dynamic solver optimization and flexible preconditioning strategies. The results will be tested on benchmarks developed by the Department of Energy's Center for Efficient Exascale Discretizations and similar benchmarks to be developed during this project. The theoretical underpinnings from this project will allow these solver strategies to have substantial impact beyond the immediate goals of this project. The open-source algorithms and software developed for this project will be made freely available to a wide group of potential users. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →