An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.

Several areas, such as physical and health sciences, require the use of matrices as fundamental tools for solving various problems. Matrices are used in real-life contexts, such as control, automation, and optimization, wherein results are expected to improve with increase of computational precision...

Full description

Bibliographic Details
Main Authors: Ignacio Algredo-Badillo, José Julio Conde-Mones, Carlos Arturo Hernández-Gracidas, María Monserrat Morín-Castillo, José Jacobo Oliveros-Oliveros, Claudia Feregrino-Uribe
Format: Article
Language:English
Published: Public Library of Science (PLoS) 2020-01-01
Series:PLoS ONE
Online Access:https://doi.org/10.1371/journal.pone.0234293
_version_ 1818404590192689152
author Ignacio Algredo-Badillo
José Julio Conde-Mones
Carlos Arturo Hernández-Gracidas
María Monserrat Morín-Castillo
José Jacobo Oliveros-Oliveros
Claudia Feregrino-Uribe
author_facet Ignacio Algredo-Badillo
José Julio Conde-Mones
Carlos Arturo Hernández-Gracidas
María Monserrat Morín-Castillo
José Jacobo Oliveros-Oliveros
Claudia Feregrino-Uribe
author_sort Ignacio Algredo-Badillo
collection DOAJ
description Several areas, such as physical and health sciences, require the use of matrices as fundamental tools for solving various problems. Matrices are used in real-life contexts, such as control, automation, and optimization, wherein results are expected to improve with increase of computational precision. However, special attention should be paid to ill-conditioned matrices, which can produce unstable systems; an inadequate handling of precision might worsen results since the solution found for data with errors might be too far from the one for data without errors besides increasing other costs in hardware resources and critical paths. In this paper, we make a wake-up call, using 2 × 2 matrices to show how ill-conditioning and precision can affect system design (resources, cost, etc.). We first demonstrate some examples of real-life problems where ill-conditioning is present in matrices obtained from the discretization of the operational equations (ill-posed in the sense of Hadamard) that model these problems. If these matrices are not handled appropriately (i.e., if ill-conditioning is not considered), large errors can result in the computed solutions to the systems of equations in the presence of errors. Furthermore, we illustrate the generated effect in the calculation of the inverse of an ill-conditioned matrix when its elements are approximated by truncation. We present two case studies to illustrate the effects on calculation errors caused by increasing or reducing precision to s digits. To illustrate the costs, we implemented the adjoint matrix inversion algorithm on different field-programmable gate arrays (FPGAs), namely, Spartan-7, Artix-7, Kintex-7, and Virtex-7, using the full-unrolling hardware technique. The implemented architecture is useful for analyzing trade-offs when precision is increased; this also helps analyze performance, efficiency, and energy consumption. By means of a detailed description of the trade-offs among these metrics, concerning precision and ill-conditioning, we conclude that the need for resources seems to grow not linearly when precision is increased. We also conclude that, if error is to be reduced below a certain threshold, it is necessary to determine an optimal precision point. Otherwise, the system becomes more sensitive to measurement errors and a better alternative would be to choose precision carefully, and/or to apply regularization or preconditioning methods, which would also reduce the resources required.
first_indexed 2024-12-14T08:42:34Z
format Article
id doaj.art-4b2c99985df54ea999c0d3209233e091
institution Directory Open Access Journal
issn 1932-6203
language English
last_indexed 2024-12-14T08:42:34Z
publishDate 2020-01-01
publisher Public Library of Science (PLoS)
record_format Article
series PLoS ONE
spelling doaj.art-4b2c99985df54ea999c0d3209233e0912022-12-21T23:09:16ZengPublic Library of Science (PLoS)PLoS ONE1932-62032020-01-01156e023429310.1371/journal.pone.0234293An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.Ignacio Algredo-BadilloJosé Julio Conde-MonesCarlos Arturo Hernández-GracidasMaría Monserrat Morín-CastilloJosé Jacobo Oliveros-OliverosClaudia Feregrino-UribeSeveral areas, such as physical and health sciences, require the use of matrices as fundamental tools for solving various problems. Matrices are used in real-life contexts, such as control, automation, and optimization, wherein results are expected to improve with increase of computational precision. However, special attention should be paid to ill-conditioned matrices, which can produce unstable systems; an inadequate handling of precision might worsen results since the solution found for data with errors might be too far from the one for data without errors besides increasing other costs in hardware resources and critical paths. In this paper, we make a wake-up call, using 2 × 2 matrices to show how ill-conditioning and precision can affect system design (resources, cost, etc.). We first demonstrate some examples of real-life problems where ill-conditioning is present in matrices obtained from the discretization of the operational equations (ill-posed in the sense of Hadamard) that model these problems. If these matrices are not handled appropriately (i.e., if ill-conditioning is not considered), large errors can result in the computed solutions to the systems of equations in the presence of errors. Furthermore, we illustrate the generated effect in the calculation of the inverse of an ill-conditioned matrix when its elements are approximated by truncation. We present two case studies to illustrate the effects on calculation errors caused by increasing or reducing precision to s digits. To illustrate the costs, we implemented the adjoint matrix inversion algorithm on different field-programmable gate arrays (FPGAs), namely, Spartan-7, Artix-7, Kintex-7, and Virtex-7, using the full-unrolling hardware technique. The implemented architecture is useful for analyzing trade-offs when precision is increased; this also helps analyze performance, efficiency, and energy consumption. By means of a detailed description of the trade-offs among these metrics, concerning precision and ill-conditioning, we conclude that the need for resources seems to grow not linearly when precision is increased. We also conclude that, if error is to be reduced below a certain threshold, it is necessary to determine an optimal precision point. Otherwise, the system becomes more sensitive to measurement errors and a better alternative would be to choose precision carefully, and/or to apply regularization or preconditioning methods, which would also reduce the resources required.https://doi.org/10.1371/journal.pone.0234293
spellingShingle Ignacio Algredo-Badillo
José Julio Conde-Mones
Carlos Arturo Hernández-Gracidas
María Monserrat Morín-Castillo
José Jacobo Oliveros-Oliveros
Claudia Feregrino-Uribe
An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
PLoS ONE
title An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
title_full An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
title_fullStr An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
title_full_unstemmed An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
title_short An FPGA-based analysis of trade-offs in the presence of ill-conditioning and different precision levels in computations.
title_sort fpga based analysis of trade offs in the presence of ill conditioning and different precision levels in computations
url https://doi.org/10.1371/journal.pone.0234293
work_keys_str_mv AT ignacioalgredobadillo anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT josejuliocondemones anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT carlosarturohernandezgracidas anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT mariamonserratmorincastillo anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT josejacobooliverosoliveros anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT claudiaferegrinouribe anfpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT ignacioalgredobadillo fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT josejuliocondemones fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT carlosarturohernandezgracidas fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT mariamonserratmorincastillo fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT josejacobooliverosoliveros fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations
AT claudiaferegrinouribe fpgabasedanalysisoftradeoffsinthepresenceofillconditioninganddifferentprecisionlevelsincomputations