Autoadaptación de precisión de punto flotante de tiempo de ejecución variable para algoritmos iterativos: un enfoque conjunto de HW/SW
Autores: Ait Said, Noureddine; Benabdenbi, Mounir; Morin-Allory, Katell
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Autoadaptación de precisión de punto flotante de tiempo de ejecución variable para algoritmos iterativos: un enfoque conjunto de HW/SW
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Importante
Sobrecarga de hardware
Precisión variable
Consumo de energía
Tiempo de ejecución
Ahorro de energía
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 44
Citaciones: Sin citaciones
El uso de formatos estándar de Punto Flotante (FP) para cálculos conlleva a una sobrecarga significativa de hardware ya que estos formatos están sobrediseñados para cargas de trabajo resistentes a errores como algoritmos iterativos. Por lo tanto, las arquitecturas de Unidad de Punto Flotante (FPU) necesitan capacidades de precisión variable en tiempo de ejecución. En este trabajo, proponemos un nuevo método y una arquitectura de FPU que permiten a los diseñadores ajustar dinámicamente la precisión de cálculos de FP automáticamente en tiempo de ejecución llamada Precisión Variable en Tiempo (VPT), lo que conduce a un ahorro significativo de consumo de energía, tiempo de ejecución y energía. A pesar de la sobrecarga de área de circuito, el enfoque propuesto simplifica la integración de precisión variable en cargas de trabajo de software existentes en cualquier nivel de la pila de software (SO, RTOS o nivel de aplicación): solo requiere un soporte de software ligero y se basa únicamente en instrucciones de ensamblador tradicionales, sin necesidad de un compilador especializado o instrucciones personalizadas. Aplicamos la técnica en los métodos iterativos de Jacobi y Gauss-Seidel aprovechando al máximo la FPU sugerida. Para cada algoritmo, se proponen dos versiones modificadas: una conservadora y otra relajada. Ambos algoritmos se analizan y comparan estadísticamente para comprender los efectos de VPT en aplicaciones iterativas. Las implementaciones demuestran un ahorro de consumo de energía de hasta un 70.67%, un ahorro de tiempo de ejecución de hasta un 59.80% y un ahorro de energía total de hasta un 88.20% con respecto a la implementación de precisión doble de referencia, y sin pérdida de precisión.
Descripción
El uso de formatos estándar de Punto Flotante (FP) para cálculos conlleva a una sobrecarga significativa de hardware ya que estos formatos están sobrediseñados para cargas de trabajo resistentes a errores como algoritmos iterativos. Por lo tanto, las arquitecturas de Unidad de Punto Flotante (FPU) necesitan capacidades de precisión variable en tiempo de ejecución. En este trabajo, proponemos un nuevo método y una arquitectura de FPU que permiten a los diseñadores ajustar dinámicamente la precisión de cálculos de FP automáticamente en tiempo de ejecución llamada Precisión Variable en Tiempo (VPT), lo que conduce a un ahorro significativo de consumo de energía, tiempo de ejecución y energía. A pesar de la sobrecarga de área de circuito, el enfoque propuesto simplifica la integración de precisión variable en cargas de trabajo de software existentes en cualquier nivel de la pila de software (SO, RTOS o nivel de aplicación): solo requiere un soporte de software ligero y se basa únicamente en instrucciones de ensamblador tradicionales, sin necesidad de un compilador especializado o instrucciones personalizadas. Aplicamos la técnica en los métodos iterativos de Jacobi y Gauss-Seidel aprovechando al máximo la FPU sugerida. Para cada algoritmo, se proponen dos versiones modificadas: una conservadora y otra relajada. Ambos algoritmos se analizan y comparan estadísticamente para comprender los efectos de VPT en aplicaciones iterativas. Las implementaciones demuestran un ahorro de consumo de energía de hasta un 70.67%, un ahorro de tiempo de ejecución de hasta un 59.80% y un ahorro de energía total de hasta un 88.20% con respecto a la implementación de precisión doble de referencia, y sin pérdida de precisión.