Skip to main content

Research Repository

Advanced Search

All Outputs (7)

TAFFO: The compiler-based precision tuner (2022)
Journal Article
Cattaneo, D., Chiari, M., Agosta, G., & Cherubin, S. (2022). TAFFO: The compiler-based precision tuner. SoftwareX, 20, Article 101238. https://doi.org/10.1016/j.softx.2022.101238

We present taffo, a framework that automatically performs precision tuning to exploit the performance/accuracy trade-off. In order to avoid expensive dynamic analyses, taffo leverages programmer annotations which encapsulate domain knowledge about th... Read More about TAFFO: The compiler-based precision tuner.

FixM: Code generation of fixed point mathematical functions (2020)
Journal Article
Cattaneo, D., Chiari, M., Magnani, G., Fossati, N., Cherubin, S., & Agosta, G. (2021). FixM: Code generation of fixed point mathematical functions. Sustainable Computing, 29, part B, Article 100478. https://doi.org/10.1016/j.suscom.2020.100478

Approximate computing has seen significant interest as a design philosophy oriented to performance and energy efficiency [1]. Precision tuning is an approximate computing technique that trades off the accuracy of operations for performance and energy... Read More about FixM: Code generation of fixed point mathematical functions.

Dynamic Precision Autotuning with TAFFO (2020)
Journal Article
Cherubin, S., Cattaneo, D., Chiari, M., & Agosta, G. (2020). Dynamic Precision Autotuning with TAFFO. ACM transactions on architecture and code optimization, 17(2), Article 10. https://doi.org/10.1145/3388785

Many classes of applications, both in the embedded and high performance domains, can trade off the accuracy of the computed results for computation performance. One way to achieve such a trade-off is precision tuning—that is, to modify the data types... Read More about Dynamic Precision Autotuning with TAFFO.

Tunable approximations to control time-to-solution in an HPC molecular docking Mini-App (2020)
Journal Article
Gadioli, D., Palermo, G., Cherubin, S., Vitali, E., Agosta, G., Manelfi, C., …Silvano, C. (2021). Tunable approximations to control time-to-solution in an HPC molecular docking Mini-App. Journal of Supercomputing, 77(1), 841-869. https://doi.org/10.1007/s11227-020-03295-x

The drug discovery process involves several tasks to be performed in vivo, in vitro and in silico. Molecular docking is a task typically performed in silico. It aims at finding the three-dimensional pose of a given molecule when it interacts with the... Read More about Tunable approximations to control time-to-solution in an HPC molecular docking Mini-App.

Tools for Reduced Precision Computation: A Survey (2020)
Journal Article
Cherubin, S., & Agosta, G. (2020). Tools for Reduced Precision Computation: A Survey. ACM computing surveys, 53(2), Article 33. https://doi.org/10.1145/3381039

The use of reduced precision to improve performance metrics such as computation latency and power consumption is a common practice in the embedded systems field. This practice is emerging as a new trend in High Performance Computing (HPC), especially... Read More about Tools for Reduced Precision Computation: A Survey.

TAFFO: Tuning Assistant for Floating to Fixed Point Optimization (2019)
Journal Article
Cherubin, S., Cattaneo, D., Chiari, M., Bello, A. D., & Agosta, G. (2020). TAFFO: Tuning Assistant for Floating to Fixed Point Optimization. IEEE Embedded Systems Letters, 12(1), 5-8. https://doi.org/10.1109/les.2019.2913774

While many approximate computing methods are quite application-dependent, reducing the size of the data representation used in the computation has a more general applicability. We present a tuning assistant for floating to fixed point optimization (T... Read More about TAFFO: Tuning Assistant for Floating to Fixed Point Optimization.

libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions (2018)
Journal Article
Cherubin, S., & Agosta, G. (2018). libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions. SoftwareX, 7, 95-100. https://doi.org/10.1016/j.softx.2018.03.006

We present libVersioningCompiler, a C++ library designed to support the dynamic generation of multiple versions of the same compute kernel in a HPC scenario. It can be used to provide continuous optimization, code specialization based on the input da... Read More about libVersioningCompiler: An easy-to-use library for dynamic generation and invocation of multiple code versions.