An Automated and Controlled Numerical Precision Reduction Framework for GPUs
Licentiate thesis, 2018

Reducing the precision of floating-point values is an effective approach to achieve higher performance as well as higher energy-efficiency. This is especially true for GPUs, since many of its common tasks are inherently insensitive to precision-reduction. A substantially lower bitwidth can open up for many novel microarchitectural optimizations such as resource-efficient register files, functional units, and cache memory subsystems. However, to reduce the precision of floating-point values in a controlled manner, a connection has to be established between the application and the microarchitecture, since it is decided at the application level if deviations from the exact answer is tolerable.

This thesis proposes a GPU framework which establishes such a connection. The first part of the framework consists of a method for automatically selecting an appropriate precision for each floating-point value given the tolerable output deviation. The results show that by allowing a small, but acceptable, degradation of output quality, the number of bits needed to represent the floating-point values can be significantly reduced.

The second part of the framework is a novel GPU register file organization together with a register allocation algorithm capable of leveraging the precision-reduced floats given by the first part of the framework. The register allocation algorithm uses the precision-reduced floats to lower the register footprint of each thread. This is of great importance for GPUs since, unlike traditional CPU architectures, GPUs hide latency by keeping a large number of threads in flight simultaneously. Also, to enable fast context switching, the state of all active threads are readily available in the register file. As the thread register footprint limits the number of active threads, it might impede latency hiding. Our evaluation shows that the increase in active threads is translated into a significant performance improvement when using our proposed GPU register file organization, for a smaller cost than increasing the number of threads by using a larger register file.

Microarchitecture

Floating-Point Precision

Approximate Computing

Register File

GPU

ES51, Rännvägen 6.
Opponent: Ass.Prof. Magnus Jahre, Norwegian University of Science and Technology, Norway.

Author

Alexandra Angerd

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

A Framework for Automated and Controlled Floating-Point Accuracy Reduction in Graphics Applications on GPUs

Transactions on Architecture and Code Optimization,; Vol. 14(2017)

Journal article

A. Angerd, E. Sintorn, P. Stenström. A Register File Organization to Support Variable Floating-Point Precision in GPUs

ACE: Approximate Algorithms and Computing Systems

Swedish Research Council (VR) (2014-6221), 2015-01-01 -- 2018-12-31.

Subject Categories

Computer Engineering

Computer Science

Computer Systems

Technical report L - Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University: 182

Publisher

Chalmers

ES51, Rännvägen 6.

Opponent: Ass.Prof. Magnus Jahre, Norwegian University of Science and Technology, Norway.

More information

Latest update

8/3/2018 9