Yousuf Khan wrote:
On 7/15/2020 2:42 PM, VanguardLH wrote:
Not all CPUs are waiting to do something for end users. Some are
involved in highly complex computing, like animated computer graphics.
You think Zootopia was composed on a home computer? So, you think Intel
(or AMD) are going to tool up for a completely separate production line
for consumer vs high-graphics design platforms? There is an economy in
production by reusing existing manufacturing processes. Do consumer
platforms utilize AVX? Rarely. Why didn't Linus bitch when Intel added
Streaming SIMD Extensions (SSE)? How about all those non-gaming users
that don't care even about the old SSE extensions? Oh my God, the CPU
has something they don't need.
Well, no, the SSE extensions were a big improvement over the old
stack-based FPU model. Directly accessible FP registers rather than
pushing and popping indirectly off of a stack. Even AMD's 3DNow achieved
this, requiring even less changes to the hardware (it just fixed the
existing FPU stack model), although AMD did not yet have sufficient
marketshare to push it widely onto the market. I think the point Linus
is making is that AVX takes FPU's to a state that no one asked for. When
the first version of AVX came out, and no one used it, well okay just a
mistake, then the second version came out, hoping that it would correct
the deficiencies of the first one, still kind of understandable. When
even that one wasn't used, and now we're at like version 3 or 4, none of
which are being used, then that's obviously gone too far.
Already pointed out: your "none of which are being used" is wrong. It
is being used. Video games use it, and those are not rare on Windows
platforms. Any game using DirectX 12 are utilizing AVX2. Scientific,
statistical, financial, encryption, and other programs can use it. Any
program using .NET Framework can use AVX. The latest versions of
Prime95 are optimized to use AVX. While it is used to stress test, that
was not its original or current intent which was to discover prime
numbers. Is prime hunting something that home users do? Of course not,
but it illustrates AVX *is* used.
"By default, Prime95 automatically selects the newest instruction set
extension, such as AVX, AVX2, or even AVX-512."
Your claim AVX is not used is false.
To test, go into the BIOS settings and change the AVX offset, and then
monitor the core frequencies, like with MSI's Afterburner. Surprise, a
lot of video games use AVX. You'll see the core frequencies go down
relative to the AVX offset when running an AVX-enabled program. I don't
play many new games (I still wish the Thief series keep evolving since
stealth is so poorly done in newer games), but have read SofTR,
Darksiders 3, Monster Hunter Word, AC: Odyssey, and Overwatch use AVX.
Overclockers trying to maintain the highest but stable clock rates whine
when core frequencies drop due to AVX, and have to change the AVX offset
to up the freqs.
If the games weren't using AVX, overclockers wouldn't be stymied over
the reduction in core freqs (and possible instability from vcore
Notice the AVX mode has higher frame rates. Also, it seems the right
side (for AVX) seems sharper overall. Timemark 2:23 starts the charts.
Later the author shows AVX doesn't improve performance in all games that
implement AVX. Sometimes AVX helps, sometimes not (but it's not worse).
I'm not into game programming, so I'll let someone else expert in that
note why AVX doesn't do better than SSE.