CAREER: GPU Performance Portability for Volunteer Computing through Heterogeneity-aware Autotuning
University Of Rochester, Rochester NY
Investigators
Abstract
This award is funded in part under the American Rescue Plan Act of 2021 (Public Law 117-2). Computational power is increasingly critical for discovering phenomena such as gravitational waves and to accelerate the discovery of new drugs such as vaccines. Graphics Processing Units (GPUs) are computational devices that are frequently used to speed up such scientific calculations. To achieve maximum performance, software must be tuned to the particular GPU being used. Although such automatic performance tuning (autotuning) is routine and effective in conventional supercomputing environments where all the GPUs are identical, the process does not scale well or extract maximum performance in environments containing hundreds of different types of GPUs. Such heterogeneity is common in volunteer computing where donated computer time is used to perform massive computations. By developing autotuning algorithms that can deal with heterogeneity, providing feedback to programmers about unrealized performance, and working at scale in real volunteer computing systems, this project will enable these systems to maximize GPU performance and accelerate scientific discovery in fields such as medicine, biology, and astronomy. The goal of this project is to automatically adapt applications to obtain maximal performance on all GPUs in the highly heterogeneous volunteer computing environment at lower cost than re-running autotuning on each GPU encountered. First, methods to identify similarities among GPUs are developed to reduce autotuning effort while performance data gathered across different GPUs is used to bootstrap and speed up the autotuning process. Second, performance models are integrated with autotuning to provide feedback to programmers about bottlenecks and missed performance optimization opportunities. Third, parallel and distributed search is used to prune unproductive explorations of an application’s performance landscape. All these will be implemented in the popular real-world BOINC volunteer computing system to benefit both existing and future scientific volunteer computing projects. The project will conduct outreach activities for K-12 students, and also aid the preservation of electronic games by providing hi-fidelity GPU models. 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 →