Towards a Transprecision Polymorphic Floating-Point Unit for Mixed-Precision Computing

  • Alisson Carvalho Unicamp
  • Rodolfo Azevedo Unicamp

Resumo


Mixed-precision is a paradigm that tries to combine computations with different levels of precision to compose results. This approach has been used extensively to optimize scientific applications and has shown speed and energy gains, without causing any relevant precision loss. However, to exploit mixed precision opportunities most applications need to be recompiled to use different instructions and types. Thus, in this work, we present a new floating-point unit design, able to automatically decide when an instruction should be executed using less precision, without recompilation or user direct intervention. Our proposal takes advantage of ad-hoc polymorphism to perform computations with different data types, dynamically selecting a proper instruction on demand, and can also be configured according to overall precision requirements. Our simulated results show that, for some double-precision benchmarks, we are able to execute more than 90% of all floating-point operations in half-precision, without affecting its accuracy and resulting in a precision error below 1%. In addition, this new technology may increase instruction level parallelism and cut down the necessity for type casting operations.
Palavras-chave: Hardware, Registers, Proposals, Casting, Tools, Computer architecture, Pipelines, Transprecision, Mixed-Precision, Floating-Point Unit, RISC-V
Publicado
15/10/2019
CARVALHO, Alisson; AZEVEDO, Rodolfo. Towards a Transprecision Polymorphic Floating-Point Unit for Mixed-Precision Computing. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 31. , 2019, Campo Grande/MS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 56-63.