Format en menge flotant de mija precisió

En computació, la mija precisió (a voltes cridada FP16 o float16) és un format de número de computadora de punt flotant binari que ocupa 16 bits (dos bytes en les computadores modernes) en la memòria de la computadora. Està destinat a l'almagasenament de valors de punt flotant en aplicacions a on no és essencial una major precisió, en particular, el processament d'imàgens i les rets neuronals.
Casi tots els usos moderns seguixen l'estàndart IEEE 754-2008, a on el format base-2 de 16 bits es coneix com binary16 i l'exponent usa 5 bits. Est pot expressar valors en el ranc de ±65.504, sent el valor mínim per damunt d'1 1 + 1/1024.
Depenent de la computadora, la precisió mija pot ser un orde de magnitut més ràpida que la precisió doble, per eixemple, 550 PFLOPS per a precisió mija front a 37 PFLOPS per a doble precisió en un proveïdor de núvol.[1]
Història
[editar | editar còdic]Han existit varis formats anteriors de menge flotant de 16 bits, inclós el de Hitachi HD61810 DSP[2] de 1982, el WIF de Scott[3] i el processador de gràfics 3dfx Voodoo.[4]
ILM estava buscant un format d'image que poguera manejar un ampli ranc dinàmic, pero sense el cost de disc dur i memòria del punt flotant de precisió simple o doble.[5] El grup de sombrejat programable accelerat per hardware dirigit per John Airey en SGI (Silicon Graphics) va inventar el tipo de senyes s10i5 en 1997 com a part de l'esforç de disseny 'bali'. Açò es descriu en un document SIGGRAPH 2000[6] (consulte la secció 4.3) i es documenta més en la palesa de EE. UU. 7518615.[7] Va ser popularisat pel seu us en el format d'image OpenEXR de còdic obert.
Nvidia i Microsoft varen definir el tipo de senyes mig en el llenguage Cg, llançat a principis de 2002, i ho varen implementar en silici en GeForce FX, llançat a finals de 2002.[8] Des de llavors, la compatibilitat en les matemàtiques de menge flotant de 16 bits en les targetes gràfiques s'ha tornat molt comuna.
L'extensió F16C en 2012 permet que els processadors x86 convertixquen gomes de precisió mija a i des de gomes de precisió simple en una instrucció de màquina.
Format de menge flotant binari de mija precisió IEEE 754: binary16
[editar | editar còdic]L'estàndart IEEE 754[9] especifica un binari16 en el següent format:
- Bit de signe: 1 bit
- Ample del exponent: 5 bits
- Precisió significativa: 11 bits (10 almagasenats explícitament)
El format es presenta de la següent manera:
Se supon que el format té un bit inicial implícit en valor 1 a menos que el camp d'exponent s'almagasene en tots zeros. Per lo tant, solament apareixen 10 bits de la mantissa en el format de memòria, pero la precisió total és d'11 bits. En el llenguage IEEE 754, hi ha 10 bits de significat, pero hi ha 11 bits de precisió de significat (log 10 (211) ≈ 3.311 dígits decimals, o 4 dígits ± una miqueta menys de 5 unitats en l'últim lloc).
Codificació d'exponents
[editar | editar còdic]L'exponent de punt flotant binari de precisió mija es codifica utilisant una representació binaria compensada, sent el desplaçament zero 15; també conegut com a biaix d'exponent en l'estàndart IEEE 754.
- Emín = 00001 2 − 01111 2 = −14
- I máx = 11110 2 − 01111 2 = 15
- Biaix d'exponent = 01111 2 = 15
Per lo tant, com ho definix la representació binaria compensada, per a obtindre el verdader exponent, es deu restar la compensació de 15 de l'exponent almagasenat.
Els exponents almagasenats 00000 2 i 11111 2 s'interpreten de forma especial.
| Exponent | Significant = zero | Significant ≠ zero | Equació |
|---|---|---|---|
| 00000 2 | zero, −0 | números subnormales | (−1) bit de signe × 2 −14 × 0.bits significatius 2 |
| 00001 2, ..., 11110 2 | valor normalisat | (−1) signbit × 2 exponent−15 × 1.significantbits 2 | |
| 11111 2 | ± infinit | NaN (silenci, senyalisació) | |
El valor mínim estrictament positiu (subnormal) és 2 −24 ≈ 5,96 × 10 −8 . El valor normal positiu mínim és 2 −14 ≈ 6,10 × 10 −5 . El valor màxim representable és (2−2 −10 ) × 2 15 = 65504.
Eixemples de mija precisió
[editar | editar còdic]Estos eixemples es donen en representació de bits del valor de menge flotant. Açò inclou el bit de signe, l'exponent (biaixat) i la significancia.
| Binario | Hexadecimal | Valor | Notes |
|---|---|---|---|
| Plantilla:Mona | Plantilla:Mona | 0 | |
| Plantilla:Mona | Plantilla:Mona | 2−14 × (0 + 1⁄1024 ) ≈ 0.000000059604645 | número subnormal positiu més menuda |
| Plantilla:Mona | Plantilla:Mona | 2−14 × (0 + 1023⁄1024 ) ≈ 0.000060975552 | número subnormal més gran |
| Plantilla:Mona | Plantilla:Mona | 2−14 × (1 + 0⁄1024 ) ≈ 0.00006103515625 | número normal positiu més menuda |
| Plantilla:Mona | Plantilla:Mona | 2−2 × (1 + 341⁄1024 ) ≈ 0.33325195 | valor més propenc a 1/3 |
| Plantilla:Mona | Plantilla:Mona | 2−1 × (1 + 1023⁄1024 ) ≈ 0.99951172 | número major menor que un |
| Plantilla:Mona | Plantilla:Mona | 20 × (1 + 0⁄1024 ) = 1 | u |
| Plantilla:Mona | Plantilla:Mona | 20 × (1 + 1⁄1024 ) ≈ 1.00097656 | número més chicotet major que un |
| Plantilla:Mona | Plantilla:Mona | 215 × (1 + 1023⁄1024 ) = 65504 | número normal més gran |
| Plantilla:Mona | Plantilla:Mona | ∞ | infinita |
| Plantilla:Mona | Plantilla:Mona | −0 | |
| Plantilla:Mona | Plantilla:Mona | -2 | |
| Plantilla:Mona | Plantilla:Mona | −∞ | infinit negatiu |
Per defecte, 1/3 redoneja cap a avall com per a doble precisió, per el número impar de bits en la mantissa. Els bits més allà del punt de grosseig sónPlantilla:Mona ... que és menys d'1/2 d'unitat en l'últim lloc.
Llimitacions de precisió
[editar | editar còdic]| Mín. | Máx. | Interval |
|---|---|---|
| 0 | 2 −13 | 2 −24 |
| 2 −13 | 2 −12 | 2 −23 |
| 2 −12 | 2 −11 | 2 −22 |
| 2 −11 | 2 −10 | 2 −21 |
| 2 −10 | 2 −9 | 2 −20 |
| 2 −9 | 2 −8 | 2 −19 |
| 2 −8 | 2 −7 | 2 −18 |
| 2 −7 | 2 −6 | 2 −17 |
| 2 −6 | 2 −5 | 2 −16 |
| 2 −5 | 2 −4 | 2 −15 |
| 2 −4 | 1⁄8 | 2 −14 |
| 1⁄8 | 1⁄4 | 2 −13 |
| 1⁄4 | 1⁄2 | 2 −12 |
| 1⁄2 | 1 | 2 −11 |
| 1 | 2 | 2 −10 |
| 2 | 4 | 2 −9 |
| 4 | 8 | 2 −8 |
| 8 | 16 | 2 −7 |
| 16 | 32 | 2 −6 |
| 32 | 64 | 2 −5 |
| 64 | 128 | 2 −4 |
| 128 | 256 | 1⁄8 |
| 256 | 512 | 1⁄4 |
| 512 | 1024 | 1⁄2 |
| 1024 | 2048 | 1 |
| 2048 | 4096 | 2 |
| 4096 | 8192 | 4 |
| 8192 | 16384 | 8 |
| 16384 | 32768 | 16 |
| 32768 | 65519 | 32 |
| 65519 | ∞ | ∞ |
65519 és el número més gran que es redonejarà a un número finit (65504), 65520 i majors es redonejaran a infinit. Açò és per a grosseig a parell, atres estratègies de grosseig canviaran este llímit.
Vore també
[editar | editar còdic]- Format de menge flotant bfloat16: Format alternatiu de punt flotant de 16 bits en 8 bits d'exponent i 7 bits de mantissa
- Minifloat: menuts formats de punt flotant
- IEEE 754: Estàndart IEEE per a aritmètica de menge flotant (IEEE 754)
- ISO/IEC 10967, Aritmètica independent del llenguage
- Tipo de senya elemental
- Format d'image RGBE
- Bus d'administració d'energia § Format de menge flotant Linear11
- Format en menge flotant de simple precisió
- Format en menge flotant de doble precisió
Referències
[editar | editar còdic]- ↑ «About ABCI - About ABCI | ABCI». abci.ai. Consultat el 2019-10-06.
- ↑ «hitachi :: dataBooks :: HD61810 Digital Signal Processor Users Manual». Archive.org. Consultat el 2017-07-14.
- ↑ «Mathematics and Computer Science at Odds over Real Numbers».SIGCSE '91 Proceedings of the Twenty-Second SIGCSE Technical Symposium on Computer Science Education.23(1)
- 130–139.doi:10.1145/107004.107029.
- ↑ «/home/usr/bk/glide/docs2.3.1/GLIDEPGM.DOC». Gamers.org. Consultat el 2017-07-14.
- ↑ «OpenEXR». OpenEXR. Archivat des d'el original, el 8 de maig de 2013. Consultat el 2017-07-14.
- ↑ Mark S. Peercy. «Interactive Multi-Pass Programmable Shading». People.csail.mit.edu. Consultat el 2017-07-14.
- ↑ «Patent US7518615 - Display system having floating point rasterization and floating point ... - Google Patents». Google.com. Consultat el 2017-07-14.
- ↑ «vs_2_sw». Cg 3.1 Toolkit Documentation. Nvidia. Consultat el 2016-8-17.
- ↑ (Juliol de 2019) IEEE Standard for Floating-Point Arithmetic, pp. 1–84. doi:10.1109/ieeestd.2019.8766229. ISBN 978-1-5044-5924-2.
Referències
[editar | editar còdic]
- Este artícul conté una traducció derivada de «Formato en coma flotante de media precisión» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.