Pueden expresar valores en el rango de ± 65,504, siendo el valor mínimo por encima de 1 1 + 1/1024.
En el estándar IEEE 754-2008 , el formato base 2 de 16 bits se denomina binary16 . Está diseñado para el almacenamiento de valores de punto flotante en aplicaciones donde una mayor precisión no es esencial para realizar cálculos aritméticos.
Aunque las implementaciones del punto flotante de media precisión IEEE son relativamente nuevas, han existido varios formatos anteriores de punto flotante de 16 bits, incluido el HD61810 DSP de Hitachi [1] de 1982, el WIF de Scott [2] y el procesador 3dfx Voodoo Graphics . [3]
Nvidia y Microsoft definieron el medio tipo de datos en el lenguaje Cg , lanzado a principios de 2002, y lo implementaron en silicio en la GeForce FX , lanzada a fines de 2002. [4] ILM estaba buscando un formato de imagen que pudiera manejar un amplio rango dinámico , pero sin el costo de disco duro y memoria de las representaciones de punto flotante que se utilizan comúnmente para el cálculo de punto flotante (precisión simple y doble). [5] El grupo de sombreado programable acelerado por hardware dirigido por John Airey en SGI (Silicon Graphics) inventó el tipo de datos s10e5 en 1997 como parte del esfuerzo de diseño 'bali'. Esto se describe en unDocumento SIGGRAPH 2000 [6] (ver sección 4.3) y más documentado en la patente estadounidense 7518615. [7]
La extensión F16C permite a los procesadores x86 convertir flotadores de precisión media en flotadores de precisión simple y viceversa .
Dependiendo de la computadora, la precisión media puede ser en un orden de magnitud más rápido que la precisión doble, por ejemplo, 550 PFLOPS para precisión media frente a 37 PFLOPS para precisión doble en un proveedor de nube. [8]
Formatos de coma flotante
IEEE 754
16 bits : mitad (binary16)
32 bits : único (binary32), decimal32
64 bits : doble (binary64), decimal64
128 bits : cuádruple (binary128), decimal128
256 bits : Octuple (binary256)
40 bits o 80 bits : precisión ampliada
Otro
Minifloat
bfloat16
Formato binario de Microsoft
Arquitectura de punto flotante de IBM
Postular
Flotadores G.711 de 8 bits
Precisión arbitraria
v
t
mi
Contenido
1 Formato de coma flotante binario de media precisión IEEE 754: binary16
1.1 Codificación de exponentes
1.2 Ejemplos de media precisión
1.3 Limitaciones de precisión de los valores decimales en [0, 1]
1.4 Limitaciones de precisión de los valores decimales en [1, 2048]
1.5 Limitaciones de precisión en valores enteros
Media precisión alternativa de 2 BRAZOS
3 usos
4 Ver también
5 referencias
6 Lecturas adicionales
7 Enlaces externos
Formato de coma flotante binario de media precisión IEEE 754: binary16
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
El estándar IEEE 754 especifica que un binario16 tiene el siguiente formato:
Se supone que el formato tiene un bit inicial implícito con valor 1 a menos que el campo exponente se almacene con todos los ceros. Por lo tanto, solo aparecen 10 bits del significado en el formato de memoria, pero la precisión total es de 11 bits. En el lenguaje IEEE 754, hay 10 bits de significado, pero hay 11 bits de precisión de significado (log 10 (2 11 ) ≈ 3.311 dígitos decimales, o 4 dígitos ± un poco menos de 5 unidades en el último lugar ).
Codificación de exponentes
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
El exponente de coma flotante binario de media precisión se codifica utilizando una representación binaria de compensación , siendo la compensación cero 15; también conocido como sesgo de exponente en el estándar IEEE 754.
E min = 00 001 2 - 01 111 2 = -14
E máx = 11110 2 - 01111 2 = 15
Sesgo de exponente = 01111 2 = 15
Por lo tanto, según lo definido por la representación binaria de compensación, para obtener el exponente verdadero, la compensación de 15 debe restarse del exponente almacenado.
Los exponentes almacenados 00000 2 y 11111 2 se interpretan especialmente.
Exponente
Significand = cero
Significand ≠ cero
Ecuación
00000 2
cero , −0
números subnormales
(−1) bit de signo × 2 −14 × 0 bits significativos 2
00001 2 , ..., 11110 2
valor normalizado
(−1) bit de signo × 2 exponente − 15 × 1 bits significativos 2
11111 2
± infinito
NaN (silencioso, señalización)
El valor mínimo estrictamente positivo (subnormal) es 2 −24 ≈ 5,96 × 10 −8 . El valor normal positivo mínimo es 2 −14 ≈ 6,10 × 10 −5 . El valor máximo representable es (2−2 −10 ) × 2 15 = 65504.
Ejemplos de media precisión
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
Estos ejemplos se dan en representación de bits del valor de punto flotante. Esto incluye el bit de signo, el exponente (sesgado) y el significado.
De forma predeterminada, 1/3 se redondea hacia abajo como para una precisión doble , debido al número impar de bits en el significado. Los bits más allá del punto de redondeo son 0101...menos de la mitad de una unidad en el último lugar .
Limitaciones de precisión de los valores decimales en [0, 1]
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
Decimales entre 2 −24 (mínimo subnormal positivo) y 2 −14 (máximo subnormal): intervalo fijo 2 −24
Decimales entre 2 −14 (mínimo normal positivo) y 2 −13 : intervalo fijo 2 −24
Decimales entre 2 −13 y 2 −12 : intervalo fijo 2 −23
Decimales entre 2 −12 y 2 −11 : intervalo fijo 2 −22
Decimales entre 2 −11 y 2 −10 : intervalo fijo 2 −21
Decimales entre 2 −10 y 2 −9 : intervalo fijo 2 −20
Decimales entre 2 −9 y 2 −8 : intervalo fijo 2 −19
Decimales entre 2 −8 y 2 −7 : intervalo fijo 2 −18
Decimales entre 2 −7 y 2 −6 : intervalo fijo 2 −17
Decimales entre 2 −6 y 2 −5 : intervalo fijo 2 −16
Decimales entre 2-5 y 2-4 : intervalo fijo 2-15
Decimales entre 2 −4 y 2 −3 : intervalo fijo 2 −14
Decimales entre 2 −3 y 2 −2 : intervalo fijo 2 −13
Decimales entre 2 −2 y 2 −1 : intervalo fijo 2 −12
Decimales entre 2 −1 y 2 −0 : intervalo fijo 2 −11
Limitaciones de precisión de los valores decimales en [1, 2048]
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
Decimales entre 1 y 2: intervalo fijo 2 −10 (1 + 2 −10 es el siguiente flotante más grande después de 1)
Decimales entre 2 y 4: intervalo fijo 2 −9
Decimales entre 4 y 8: intervalo fijo 2-8
Decimales entre 8 y 16: intervalo fijo 2-7
Decimales entre 16 y 32: intervalo fijo 2-6
Decimales entre 32 y 64: intervalo fijo 2-5
Decimales entre 64 y 128: fijos intervalo de 2 -4
Decimales entre 128 y 256: intervalo fijo 2-3
Decimales entre 256 y 512: intervalo fijo 2 −2
Decimales entre 512 y 1024: intervalo fijo 2-1
Decimales entre 1024 y 2048: intervalo fijo 2 0
Limitaciones de precisión en valores enteros
Esta sección no cita ninguna fuente . Por favor, ayuda a mejorar esta sección mediante la adición de citas de fuentes confiables . El material no obtenido puede ser cuestionado y eliminado . Buscar fuentes: "Punto flotante de precisión media" - noticias · periódicos · libros · académico · JSTOR ( enero de 2021 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla )
Los números enteros entre 0 y 2048 se pueden representar exactamente (y también entre −2048 y 0)
Los enteros entre 2048 y 4096 se redondean a un múltiplo de 2 (número par)
Los enteros entre 4096 y 8192 se redondean a un múltiplo de 4
Los números enteros entre 8192 y 16384 se redondean a un múltiplo de 8
Los enteros entre 16384 y 32768 se redondean a un múltiplo de 16
Los enteros entre 32768 y 65519 se redondean a un múltiplo de 32
Los enteros por encima de 65519 se redondean a "infinito" si se usa de redondeo a par, o por encima de 65535 si se usa de redondeo a cero, o por encima de 65504 (el valor finito representable más grande) si se usa de redondeo a infinito.
Media precisión alternativa ARM
Los procesadores ARM admiten (a través de un bit de registro de control de coma flotante ) un formato de "precisión media alternativa", que elimina el caso especial para un valor de exponente de 31 (11111 2 ). [9] Es casi idéntico al formato IEEE, pero no hay codificación para infinito o NaN; en cambio, un exponente de 31 codifica números normalizados en el rango de 65536 a 131008.
Usos
El hardware y el software para el aprendizaje automático o las redes neuronales tienden a utilizar la mitad de precisión: estas aplicaciones suelen realizar una gran cantidad de cálculos, pero no requieren un alto nivel de precisión.
En las computadoras más antiguas que acceden a 8 o 16 bits a la vez (la mayoría de las computadoras modernas acceden a 32 o 64 bits a la vez), la aritmética de precisión media es más rápida que la precisión simple y sustancialmente más rápida que la precisión doble. En sistemas con instrucciones que pueden manejar múltiples números de coma flotante en una sola instrucción, la precisión media a menudo ofrece un rendimiento promedio más alto. [10]
Ver también
Formato de punto flotante bfloat16 : formato de punto flotante alternativo de 16 bits con 8 bits de exponente y 7 bits de mantisa
IEEE 754 : estándar IEEE para aritmética de punto flotante (IEEE 754)
ISO / IEC 10967 , aritmética independiente del idioma
Tipo de datos primitivo
Formato de imagen RGBE
Referencias
^ "hitachi :: dataBooks :: HD61810 Manual de usuario del procesador de señal digital" . Archive.org . Consultado el 14 de julio de 2017 .
^ Scott, Thomas J. (marzo de 1991). "Matemáticas e informática en contra de los números reales" . SIGCSE '91 Actas del Vigésimo Segundo Simposio Técnico SIGCSE sobre Educación en Ciencias de la Computación . 23 (1): 130-139. doi : 10.1145 / 107004.107029 . ISBN 0897913779. S2CID 16648394 .
^ "/home/usr/bk/glide/docs2.3.1/GLIDEPGM.DOC" . Gamers.org . Consultado el 14 de julio de 2017 .
^ "vs_2_sw" . Documentación del kit de herramientas Cg 3.1 . Nvidia . Consultado el 17 de agosto de 2016 .
^ a b "OpenEXR" . OpenEXR . Consultado el 14 de julio de 2017 .
^ Mark S. Peercy; Marc Olano; John Airey; P. Jeffrey Ungar. "Sombreado programable de múltiples pasadas interactivas" (PDF) . People.csail.mit.edu . Consultado el 14 de julio de 2017 .
^ "Patente US7518615 - Sistema de visualización con rasterización de punto flotante y punto flotante ... - Patentes de Google" . Google.com . Consultado el 14 de julio de 2017 .
^ "Acerca de ABCI - Acerca de ABCI | ABCI" . abci.ai . Consultado el 6 de octubre de 2019 .
^ "Compatibilidad con números de coma flotante de media precisión" . RealView Compilation Tools Compiler User Guide . 10 de diciembre de 2010 . Consultado el 5 de mayo de 2015 .
^ Ho, Nhut-Minh; Wong, Weng-Fai (1 de septiembre de 2017). "Explotación de la aritmética de media precisión en las GPU de Nvidia" (PDF) . Departamento de Ciencias de la Computación, Universidad Nacional de Singapur . Consultado el 13 de julio de 2020 . Nvidia introdujo recientemente el soporte nativo de punto flotante de precisión media (FP16) en sus GPU Pascal. Esto se debió principalmente a la posibilidad de que esto acelere las aplicaciones con uso intensivo de datos y tolerantes a errores en las GPU.
Otras lecturas
Formato de punto flotante de 16 bits firmado por Khronos Vulkan
enlaces externos
Es posible que el uso de enlaces externos en este artículo no siga las políticas o pautas de Wikipedia . Por favor , mejorar este artículo mediante la eliminación de excesivas o inapropiadas enlaces externos, y la conversión de enlaces útiles en su caso en las referencias de nota al pie . ( Julio de 2017 ) ( Obtenga información sobre cómo y cuándo eliminar este mensaje de plantilla )
Minifloats (en estudio de formatos de punto flotante )
Sitio OpenEXR
Constantes de media precisión de D3DX
Tratamiento OpenGL de media precisión
Conversiones rápidas de medio flotador
Variante de Analog Devices (exponente de cuatro bits)
El código fuente de C para convertir entre precisión doble, simple y media IEEE se puede encontrar aquí
Código fuente de Java para conversión de punto flotante de precisión media
Punto flotante de media precisión para una de las características extendidas de GCC
Categorías :
Aritmética binaria
Tipos de coma flotante
Categorías ocultas:
Artículos con breve descripción
La descripción corta coincide con Wikidata
Artículos que necesitan referencias adicionales a partir de enero de 2021
Todos los artículos que necesitan referencias adicionales
Limpieza de enlaces externos de Wikipedia a partir de julio de 2017