Universidad Complutense de Madrid
E-Prints Complutense

Study of the posit number system: a practical approach

Impacto

Downloads

Downloads per month over past year



Murillo Montero, Raúl (2019) Study of the posit number system: a practical approach. [Trabajo Fin de Grado]

[thumbnail of 1137107637-324500_RAÚL_MURILLO_MONTERO_Memoria_TFG_-_Raul_Murillo_3940149_1686043867.pdf]
Preview
PDF
Creative Commons Attribution Non-commercial.

2MB


Abstract

The IEEE Standard for Floating-Point Arithmetic (IEEE 754) has been for decades the standard for floating-point arithmetic and is implemented in a vast majority of modern computer systems. Recently, a new number representation format called posit (Type III unum) introduced by John L. Gustafson – who claims this new format can provide higher accuracy using equal or less number of bits and simpler hardware than current standard – is proposed as an alternative to the now omnipresent IEEE 754 arithmetic.
In this Bachelor dissertation, the novel posit number format, its characteristics and properties – presented in literature – are analyzed and compared with the standard for floating-point numbers (floats). Based on the literature assertions, we focus on determining whether posits would be a good “drop-in replacement” for floats. With the help of Wolfram Mathematica and Python, different environments are created to compare the performance of IEEE 754 floating-point standard with Type III unum: posits. In order to get a more practical approach, first, we propose different numerical problems to compare the accuracy of both formats, including algebraic problems and numerical methods. Then, we focus on the possible use of posits in Deep Learning problems, such as training artificial Neural Networks or preforming low-precision inference on Convolutional Neural Networks. To conclude this work, we propose a low-level design for posit arithmetic multiplier using the FloPoCo tool to generate synthesizable VHDL code.

Resumen (otros idiomas)

El estándar del IEEE para aritmética en coma flotante (IEEE 754) ha sido durante décadas el formato estándar para la aritmética en coma flotante y está implementado en la gran mayoría de los sistemas informáticos modernos. Recientemente un nuevo formato de representación numérica llamado posit (Type III unum) presentado por John L. Gustafson (quien afirma que este nuevo formato puede proporcionar una mayor precisión empleando una cantidad igual o menor de bits y un hardware más sencillo que el actual estándar) ha sido propuesto como alternativa al actualmente omnipresente estándar IEEE 754. En este Trabajo de Fin de Grado el nuevo formato numérico posit, sus características y propiedades (presentadas en la literatura) son analizados y comparados con el estándar para números en coma flotante. Basándonos en las afirmaciones presentes en la literatura, nos centramos en determinar si los posits son un buen reemplazo directo para los números en coma flotante. Con la ayuda de Wolfram Mathematica y Python, diferentes entornos de simulación son creados para comparar el desempeño del estándar IEEE 754 con los posit. Con el objetivo de conseguir un enfoque más práctico, en primer lugar se proponen diversos problemas numéricos para así comparar la precisión de ambos formatos, incluyendo tanto problemas algebraicos como métodos numéricos. Luego nos centramos en la posible utilización de los posits en problemas de aprendizaje profundo, como el entrenamiento de redes neuronales artificiales o la realización de inferencia de baja precisión en redes neuronales convolucionales. Para finalizar este trabajo, presentamos un diseño de bajo nivel para un multiplicador en formato posit empleando la herramienta FloPoCo para generar código VHDL sintetizable.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de fin de Grado en doble Grado de Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática. Curso 2018/2019

Directors:
Directors
Barrio García, Alberto Antonio del
Botella Juan, Guillermo
Uncontrolled Keywords:Computer arithmetic, Floating point, Posit number system, Numerical error, Neural networks, Multiplier
Palabras clave (otros idiomas):Aritmética computacional, Coma flotante, Sistema numérico posit, Error numérico, Redes neuronales, Multiplicador
Subjects:Sciences > Computer science
Título de Grado:Doble Grado en Ingeniería Informática y Matemáticas
ID Code:61204
Deposited On:20 Jul 2020 10:08
Last Modified:20 Jul 2020 10:08

Origin of downloads

Repository Staff Only: item control page