Advisor(s)
Miriam Leeser
Contributor(s)
Dana Brooks, Gunar Schirner
Date of Award
2011
Date Accepted
2011
Degree Grantor
Northeastern University
Degree Level
M.S.
Degree Name
Master of Science
Department or Academic Unit
College of Engineering, Department of Electrical and Computer Engineering
Keywords
computer engineering, accuracy, CUDA, fermi, floating-point, GPU, precision
Disciplines
Electrical and Computer Engineering | Engineering
Abstract
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.
Document Type
Master's Thesis
Rights Information
copyright 2011
Rights Holder
Devon Yablonski
Permanent URL
Recommended Citation
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.
