Related Experiment Video
Updated: May 10, 2026

Design and Optimization Strategies of a High-Performance Vented Box
Published on: June 9, 2023
The Challenges of Writing Portable, Correct and High Performance Libraries for GPUs
Miriam Leeser1, Devon Yablonski, Dana Brooks
1Department of Electrical and Computer Engineering, Northeastern University, Boston, MA.
None:
Graphics Processing Units (GPUs) are widely used to accelerate scientific applications. Many successes have been reported with speedups of two or three orders of magnitude over serial implementations of the same algorithms. These speedups typically pertain to a specific implementation with fixed parameters mapped to a specific hardware implementation. The implementations are not designed to be easily ported to other GPUs, even from the same manufacturer. When target hardware changes, the application must be re-optimized. In this paper we address a different problem. We aim to deliver working, efficient GPU code in a library that is downloaded and run by many different users. The issue is to deliver efficiency independent of the individual user parameters and without a priori knowledge of the hardware the user will employ. This problem requires a different set of tradeoffs than finding the best runtime for a single solution. Solutions must be adaptable to a range of different parameters both to solve users' problems and to make the best use of the target hardware. Another issue is the integration of GPUs into a Problem Solving Environment (PSE) where the use of a GPU is almost invisible from the perspective of the user. Ease of use and smooth interactions with the existing user interface are important to our approach. We illustrate our solution with the incorporation of GPU processing into the Scientific Computing Institute (SCI)Run Biomedical PSE developed at the University of Utah. SCIRun allows scientists to interactively construct many different types of biomedical simulations. We use this environment to demonstrate the effectiveness of the GPU by accelerating time consuming algorithms in the scientist's simulations. Specifically we target the linear solver module, including Conjugate Gradient, Jacobi and MinRes solvers for sparse matrices.
Related Concept Videos
Non-ohmic Devices
Consider a simple circuit consisting of a battery, a diode, and a resistor. A diode...
Ampere-Maxwell's Law: Problem-Solving
To solve the problem, we can use the equations from the analysis of an RC circuit and Maxwell's version of Ampère's law.
For the first part of the problem,...
Application of Pascal's Law
Hydraulic systems are used to operate automotive brakes, hydraulic jacks, and numerous other mechanical systems. We can derive a relationship between the forces in a simple hydraulic system by applying...
Semiconductors
Metals such as copper (Cu), zinc (Zn), or lead (Pb) have low resistivity and feature conduction bands that are either not fully occupied or overlap with the valence band, making a bandgap non-existent. This allows electrons in the highest energy levels of the valence band to easily transition to the conduction band upon gaining...
Buffers: Overview
Ampere's Law: Problem-Solving
Specific steps need to be considered while calculating the symmetric magnetic field distribution using...
