A high-level synthesis approach optimizing accumulations in floating-point programs using custom formats and operators

Yohann Uguen 1 Florent de Dinechin 1 Steven Derrien 2
1 SOCRATE - Software and Cognitive radio for telecommunications
Inria Grenoble - Rhône-Alpes, CITI - CITI Centre of Innovation in Telecommunications and Integration of services
2 CAIRN - Energy Efficient Computing ArchItectures with Embedded Reconfigurable Resources
Inria Rennes – Bretagne Atlantique , IRISA_D3 - ARCHITECTURE
Abstract : High-level synthesis (HLS) is a big step forward in terms of design productivity. However, it restricts data-types and operators to those available in the C language supported by the compiler. The present work lifts this restriction: it is a case study of enhancing an HLS design flow with non-standard operators, which can then be automatically optimized for their application context. The focus here is on widely used summation-reduction patterns. A source-to-source compiler rewrites, inside critical loop nests of the input C code, selected floating-point additions into sequences of simpler operator using non-standard arithmetic formats. This enables hoisting floating-point management out the loop. What remains inside the loop is a sequence of fixed-point additions whose size is computed to enforce a user-specified, application-specific accuracy constraint on the result. Evaluation of this method demonstrates significant improvements in the speed/resource usage/accuracy trade-off.
Liste complète des métadonnées

Cited literature [15 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01498357
Contributor : Yohann Uguen <>
Submitted on : Friday, February 24, 2017 - 3:17:13 PM
Last modification on : Thursday, November 15, 2018 - 11:58:57 AM
Document(s) archivé(s) le : Thursday, May 25, 2017 - 1:04:05 PM

File

2017-HLS-Accumulations.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01498357, version 2

Citation

Yohann Uguen, Florent de Dinechin, Steven Derrien. A high-level synthesis approach optimizing accumulations in floating-point programs using custom formats and operators. 2017. ⟨hal-01498357v2⟩

Share

Metrics

Record views

1172

Files downloads

677