Each increase in computational ability enables computers to conquer more difficult problems. Such problems typically increase not only the amount of data, but also the number of operations used to produce each result. Thus, small inaccuracies in individual operations are increasingly likely to compound, yielding results with unacceptably poor accuracy. Over the past few years, our GPU research has centered on methods that allow the high speed and modest precision of GPUs to be utilized without compromizing accuracy.
We have optimized native-pair arithmetic to provide a reasonably efficient way to enhance the accuracy of computations. Speculative precision allows fast low-precision operations to beused, with higher- precision methods conditionally applied only when accuracy criteria are not met. We also have proposed simple hardware support to enhance both native-pair and speculative operations. Specific operation patterns, such as summation, are common causes of accuracy loss that can be reduced by substituting different algorithms. The goal of our research is to automatically apply all of these techniques within an accuracy-aware compilation system that intelligently uses both GPUs and their hosts.