CATTANEO DANIELE | Cycle: XXXV |
Section: Computer Science and Engineering
Advisor: AGOSTA GIOVANNI
Tutor: SILVANO CRISTINA
Major Research topic:
Compilation Techniques for Dynamic and Static Precision / Performance Tradeoff
Abstract:
An overarching theme across the history of computer science has been the
development of numeric formats and algorithms appropriate for performing a
computation within certain precision and performance bounds.
Even though in most cases it is desirable to produce results with a small error
margin, in other computing applications temporal and spatial efficiency are
more important than the error in the output.
Indeed, in order to privilege performance metric over computational precision,
several techniques have been developed over the years.
The research branch of computer science that deals with such techniques
is named Approximate Computing, and it proposes several techniques which span
from the computer hardware level to the software level.
In the current state-of-the-art, all decisions regarding the use of approximate
computing techniques are performed manually.
However, automatic computing systems scaled up to a point where keeping track
of the propagation of each error is unfeasible without dedicated tools.
For this reason, there is a growing interest in off-loading the decisional
process regarding whether to perform computational approximations or not to an
automatic software component.
Such software component takes the form of a specialized compiler which
contains additional analysis and transformation passes that evaluate and
perform the precision/performance tradeoff.
One example of a research area where research on automated tools for
performing approximate computing has been steadily increasing is Precision
Tuning.
More in detail, Precision Tuning is an approximate computing technique that
involves the reduction of the data type size.
Various frameworks for performing precision tuning automatically have been
developed, such as [1] or [2].
Another such example is the case of modeling software.
Existing compilers of declarative system modeling languages employ mathematical
representations that -- while computationally exact -- do not allow certain
optimizations that are very important for simulating complex models in a
reasonable time-frame ([3]).
The goal of my research is to advance the state-of-the-art in the field of
optimizing compilers, by introducing novel techniques that exploit
precision/performance tradeoffs, and by evaluating the effects of such
methodologies in real-world applications.
[1] Rubio-González, Cindy et al., "Precimonious: Tuning Assistant for
Floating-point Precision", in Proc. Int'l Conf. on High Performance Computing,
Networking, Storage and Analysis (Denver, Colorado, 2013), pp. 27:1--27:12.
[2] Kum, Ki-Il et al., "AUTOSCALER for C: an optimizing floating-point to
integer C program converter for fixed-point digital signal processors", IEEE
Trans. on Circuits and Systems II: Analog and Digital Signal Processing 47,
9 (2000), pp. 840-848.
[3] Agosta, Giovanni, et al. "Towards a high-performance modelica compiler."
Proceedings of the 13th International Modelica Conference, Regensburg, Germany,
March 4–6, 2019. No. 157. Linköping University Electronic Press, 2019.
development of numeric formats and algorithms appropriate for performing a
computation within certain precision and performance bounds.
Even though in most cases it is desirable to produce results with a small error
margin, in other computing applications temporal and spatial efficiency are
more important than the error in the output.
Indeed, in order to privilege performance metric over computational precision,
several techniques have been developed over the years.
The research branch of computer science that deals with such techniques
is named Approximate Computing, and it proposes several techniques which span
from the computer hardware level to the software level.
In the current state-of-the-art, all decisions regarding the use of approximate
computing techniques are performed manually.
However, automatic computing systems scaled up to a point where keeping track
of the propagation of each error is unfeasible without dedicated tools.
For this reason, there is a growing interest in off-loading the decisional
process regarding whether to perform computational approximations or not to an
automatic software component.
Such software component takes the form of a specialized compiler which
contains additional analysis and transformation passes that evaluate and
perform the precision/performance tradeoff.
One example of a research area where research on automated tools for
performing approximate computing has been steadily increasing is Precision
Tuning.
More in detail, Precision Tuning is an approximate computing technique that
involves the reduction of the data type size.
Various frameworks for performing precision tuning automatically have been
developed, such as [1] or [2].
Another such example is the case of modeling software.
Existing compilers of declarative system modeling languages employ mathematical
representations that -- while computationally exact -- do not allow certain
optimizations that are very important for simulating complex models in a
reasonable time-frame ([3]).
The goal of my research is to advance the state-of-the-art in the field of
optimizing compilers, by introducing novel techniques that exploit
precision/performance tradeoffs, and by evaluating the effects of such
methodologies in real-world applications.
[1] Rubio-González, Cindy et al., "Precimonious: Tuning Assistant for
Floating-point Precision", in Proc. Int'l Conf. on High Performance Computing,
Networking, Storage and Analysis (Denver, Colorado, 2013), pp. 27:1--27:12.
[2] Kum, Ki-Il et al., "AUTOSCALER for C: an optimizing floating-point to
integer C program converter for fixed-point digital signal processors", IEEE
Trans. on Circuits and Systems II: Analog and Digital Signal Processing 47,
9 (2000), pp. 840-848.
[3] Agosta, Giovanni, et al. "Towards a high-performance modelica compiler."
Proceedings of the 13th International Modelica Conference, Regensburg, Germany,
March 4–6, 2019. No. 157. Linköping University Electronic Press, 2019.
Cookies
We serve cookies. If you think that's ok, just click "Accept all". You can also choose what kind of cookies you want by clicking "Settings".
Read our cookie policy
Cookies
Choose what kind of cookies to accept. Your choice will be saved for one year.
Read our cookie policy
-
Necessary
These cookies are not optional. They are needed for the website to function. -
Statistics
In order for us to improve the website's functionality and structure, based on how the website is used. -
Experience
In order for our website to perform as well as possible during your visit. If you refuse these cookies, some functionality will disappear from the website. -
Marketing
By sharing your interests and behavior as you visit our site, you increase the chance of seeing personalized content and offers.