> At this point, Intel doesn’t have bfloat16 implemented in any of its processors, so they used current AVX512 vector hardware present in its existing processor to emulate the format and the requisite operations. According to the researchers, this resulted in “only a very slight performance tax.” Why implement bfloat if you get just slightly less performance emulating it with AVX512, which already exists? Maybe it’s…
They did not specify what the tax was relative to. Maybe they meant relative to 32-bit float? AVX512 is expensive. I believe if you have an AVX512-heavy workload it can cause the processor to throttle.
Intel Prepares to Graft Google’s Bfloat16 onto Processors
31–40 of 138 posts
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#32Earlier quoted context omitted.
For the same number of bits, posits are quite a bit more expensive to implement in terms of area than traditional floats.
That's not true, as I have implemented both, in FPGA. The INRA implementation missed key optimizations in the adder and multiplier.
It seems like a huge mistake if they missed key optimizations, but I'm happy to take your word for it.
Are there write-ups that go in detail about these mistakes? It's the kind of somebody-is-wrong-on-the-Internet topic that would result in flaming blog posts. :-)
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#33Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#34Earlier quoted context omitted.
That's not true, as I have implemented both, in FPGA. The INRA implementation missed key optimizations in the adder and multiplier.
The INRIA paper was indeed my reference. It seems like a huge mistake if they missed key optimizations, but I'm happy to take your word for it. Are there write-ups that go in detail about these mistakes? It's the kind of somebody-is-wrong-on-the-Internet topic that would result in flaming blog posts. :-)
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#35I wonder why they chose it over facebook’s 8 bit posit: https://code.fb.com/ai-research/floating-point-math/
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#36Earlier quoted context omitted.
They did not specify what the tax was relative to. Maybe they meant relative to 32-bit float? AVX512 is expensive. I believe if you have an AVX512-heavy workload it can cause the processor to throttle.
Yes, there’s a bios setting to control this. It basically under clocks the core while AVX units are under load.
Running programs doing the same thing (eg, Hamiltonian Monte Carlo where the likelihood function has or has not been vectorized), the avx512 version is far faster than scalar, and routinely 50%+ faster than avx2.
The avx512 instruction set itself also provides conveniences that make it easier to explicitly vectorize, even if most compilers don't take advantage of them on their own. Masking load and store operations in particular (they're better about masking to handle branches).
On why avx512 vs a graphics card: I need double precision, and my code routinely has maximum widths smaller than the 32 or 64 a graphics card would want to computer in parallel.
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#37> At this point, Intel doesn’t have bfloat16 implemented in any of its processors, so they used current AVX512 vector hardware present in its existing processor to emulate the format and the requisite operations. According to the researchers, this resulted in “only a very slight performance tax.” Why implement bfloat if you get just slightly less performance emulating it with AVX512, which already exists? Maybe it’s…
I guess if it's easy enough to do with software, it won't be very difficult to implement with hardware either. So it doesn't really cost much additional die space.
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#38Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#39I met Naveen Rao after Intel bought Nervana. He seemed pretty adamant about getting stuff shipped fast. In contrast, the Xeon folks own all the politics and seem to want the transition to be very gradual. Plus the Phi folks get phased out. They had done a Nervana trial at Facebook but then flaked on other trials. Clearly Intel is trying to desperately manage their books. Having Nervana and friends on a Xeon chip coul…
Re: Intel Prepares to Graft Google’s Bfloat16 onto Processors
#40Graft, as understood in American English, is a form of political corruption, being the unscrupulous use of a politician's authority for personal gain.
Edit: by the way, I really couldn't fit the term with the article. And realized I was probably looking at the wrong definition. This one might be much more apt:
a shoot or twig inserted into a slit on the trunk or stem of a living plant, from which it receives sap.