Dana Brooks, Gunar Schirner
Date of Award
Master of Science
Department or Academic Unit
College of Engineering, Department of Electrical and Computer Engineering
computer engineering, accuracy, CUDA, fermi, floating-point, GPU, precision
Electrical and Computer Engineering | Engineering
This thesis presents an analysis of numerical accuracy issues that are found in many scientific GPU applications due to floating-point computation. Two widely held myths about floating-point on GPUs are that the CPU's answer is more precise than the GPU version and that computations on the GPU are unavoidably different from the same computations on a CPU. We dispel both myths by studying a specific application: Digital Breast Tomosynthesis. We describe situations where the GPGPU provides greater precision in the application. Digital Breast Tomosynthesis (1500 lines of code) was analyzed and differences between the CUDA (GPU) and C++ (CPU) implementations were completely resolved. The techniques developed can aid in debugging other scientific GPU floating-point code. This analysis requires an in-depth understanding of the arithmetic issues that arise in implementing floating-point on CPUs, multi-core architectures, and GPUs. We provide insight into the accuracy, speed and verification of floating-point codes, as GPUs are increasingly used in important scientific and medical applications.
Yablonski, Devon, "Numerical accuracy differences in CPU and GPGPU codes" (2011). Electrical and Computer Engineering Master's Theses. Paper 58. http://hdl.handle.net/2047/d20001067
Click button above to open, or right-click to save.