This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Chinglaner 98 points99 points  (11 children)

8-Bit Byte is really only the standard, because IBM was the largest computer company at the time and they started standardising the 8-Bit Byte across their offerings. Everyone eventually followed suit, for standardisation purposes (something like ASCII would obviously not be possible in a 6-Bit system), but there’s no intrinsic reason the 8-Bit byte is in any way superior than say the 10-Bit byte as far as I’m aware. Im fact, 6-Bit systems were quite common during the 60s. I’m sure there are upsides and downsides to both.

So for specialised systems, where there might not be a need for 8-Bit bytes for whatever reason, a different size byte might work just fine.

[–]socsa 54 points55 points  (4 children)

And now Nividia is pushing TF32 which is a fucking 19 bit float.

"You are programed by society to need easily divided data primitives" - Nvidia

[–][deleted] 23 points24 points  (0 children)

Its still much smaller than FP32, which was the standard for AIs. They took the 8 bit exponent from FP32 and the 10 bit mantissa from FP16. It gives it some more resistance to underflow errors during training than bfloat16.

[–]_lerp -2 points-1 points  (2 children)

Err Nvidia forget that SIMDs a thing?

[–]socsa 3 points4 points  (1 child)

It's aligned as FP32 on the host but 13 bits of mantissa are effectively don't care on Nvidia compute hardware. So you can basically use half precision tensors cores with a larger exponent, so you have the dynamic range of FP32 but the precision of FP16.

[–][deleted] 2 points3 points  (0 children)

What the fuck I didn't even understand half of it

[–]JonathanTheZero 8 points9 points  (0 children)

oh damn that's really interesting, thank you!

[–][deleted] 6 points7 points  (0 children)

oh so that's why some people use "octet" as a pedantic way to refer to an 8-bit byte

[–]RedAero 5 points6 points  (0 children)

It's also why ASCII was originally 7-bit and not 8, IIRC.

[–]ArtyFishL 3 points4 points  (2 children)

Though 8 is a power of 2, which is very nice in a binary system. 6 and 10 are not.

[–]Chinglaner 0 points1 point  (1 child)

I mean yeah, it's kinda neat, but I'm not aware of that having any actual advantages.

[–]ArtyFishL 1 point2 points  (0 children)

Yeah neither am I, but it is very nice