Jump to content

Is bfloat16 ever used for graphics?

tobimarsh

Bfloat 16 is a half precision floating point format that has the same 8-bit exponent as single precision, but only 7 (plus 1 implied) bits of significant. Surprisingly, this turns out to be adequate precision for many machine learning applications, so a lot of resources are being put into making arithmetic in this format run fast.

 

Given that, it would seem to make sense to also try to use it for graphics. Using it for RGB components during calculation, for example, would allow a much wider dynamic range of light sources to be rendered, compared to just trying to calculate with 8-bit integers. At the same time, it could potentially be faster than using single precision floating point for RGB components.

 

Are any existing graphics rendering systems actually using it for such purposes?

I'm pursuing Machine learning Course.

Link to comment
Share on other sites

Link to post
Share on other sites

No, there's not. The precision the bfloat16 offers is not enough for that scenario, and the extra dynamic range that it offers isn't needed, that why fp16 is a better pick.

 

But you also do need to keep in mind that most regular GPUs being used nowadays (i.e.: pascal series) have a capped fp16 throughput, so you need all your maths done in fp32 for max performance in consumer products.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×