AVX-512 Is an Intel Gimmick To Win Benchmarks and should die a painful death

Published by

Click here to post a comment for AVX-512 Is an Intel Gimmick To Win Benchmarks and should die a painful death on our message forum
https://forums.guru3d.com/data/avatars/m/243/243702.jpg
That's what someone gets for handing out guest spoon to eat spaghetti.
https://forums.guru3d.com/data/avatars/m/248/248994.jpg
It's good that the years of living in the USA haven't removed his Finnish heritage of straightforwardly saying what he thinks of things.
https://forums.guru3d.com/data/avatars/m/103/103120.jpg
Linus should deal with own problems, like massive Linux fragmentation and incompatibility, instead of wasting time and resources on terminology.
data/avatar/default/avatar32.webp
coth:

Linus should deal with own problems, like massive Linux fragmentation and incompatibility, instead of wasting time and resources on terminology.
Linux non backward-compatibility is a design by choice. Like the opposite is for Windows.
data/avatar/default/avatar05.webp
Old man yells at yet another x86 ISA extension. 😀
https://forums.guru3d.com/data/avatars/m/270/270008.jpg
He does have a point. AVX is such a fringe thing especially in 256 and 512 usage yet it gets into many reviews. Of course as long as AMD keeps innovating silly things Intel does will disappear as they have actual competition.
https://forums.guru3d.com/data/avatars/m/246/246171.jpg
Kaarme:

It's good that the years of living in the USA haven't removed his Finnish heritage of straightforwardly saying what he thinks of things.
Sort of - he was "required" to tone down his cursing. This rant is very "friendly" compared to what he'd say a few years ago.
mbk1969:

https://lemire.me/blog/2018/09/07/avx-512-when-and-how-to-use-these-new-instructions/
A little ironic of a post. The TL;DR of it is AVX-512 helps you accomplish certain tasks in less time, therefore lowering the need of really high clock speeds. But, Intel keeps pushing higher clock speeds every generation (which contradicts the AVX-512 approach) and it is unrealistic for them to expect developers to use it. It serves more purposes than Linus seems to think but it isn't a viable solution for most software to adapt to.
I can`t understand what Linux and GIT have to do with AVX-512.
It isn't so much relevant to git, but to my understanding, the Linux kernel needs to recognize and support the instruction. I don't think Linus would really care about the instruction if it didn't affect his work. He has always been the "you do you" kind of guy, but his rants are almost always because of people/things who make his life needlessly difficult. In his eyes, AVX-512 isn't a necessity, and all it does is make Intel's products more expensive. And he's not wrong - although it is nice to have and is more than just something that looks good on benchmarks, he gives good reasons why it isn't the right way forward. Instructions are only as good as developers' ability and/or will to use them. You want to support the widest audience possible, and AVX-512 is incredibly niche; probably always will be.
coth:

Linus should deal with own problems, like massive Linux fragmentation and incompatibility, instead of wasting time and resources on terminology.
That's like telling a car manufacturer to stop people from driving while texting or drunk. Linux's fragmentation isn't a problem he is responsible for.
https://forums.guru3d.com/data/avatars/m/247/247876.jpg
schmidtbag:

It isn't so much relevant to git, but to my understanding, the Linux kernel needs to recognize and support the instruction. I don't think Linus would really care about the instruction if it didn't affect his work. He has always been the "you do you" kind of guy, but his rants are almost always because of people/things who make his life needlessly difficult. In his eyes, AVX-512 isn't a necessity, and all it does is make Intel's products more expensive. And he's not wrong - although it is nice to have and is more than just something that looks good on benchmarks, he gives good reasons why it isn't the right way forward.
You will have a hard time convincing me that OS kernel needs AVX (at all). And outside the kernel any apps can call any (non privileged) instructions - not a concern for OS developers. PS And if OS kernel depends on AVX and OS developers have troubles with it, then it is a sign of bad design/architecture.
data/avatar/default/avatar19.webp
https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Caterpillar_795F_size_comparison.JPG/1280px-Caterpillar_795F_size_comparison.JPG https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Caterpillar_795F_size_comparison.JPG/1280px-Caterpillar_795F_size_comparison.JPG Let me add an analogy. The truck on the left your regular SIMD instruction, on the right is avx512.... yes, it can carry a damn lot, but u need special roads, special pilots, special security measures, warm up time, etc, etc And it won't really be cost effective unless u fill it up completely (and have the RAM speed to keep it fed). Then add all the complexity around special paths and cases, even between intel cpus, for little benefit outside of very specific use cases. Let me ask u, have u seen one of those mega trucks outside of mining grounds?
https://forums.guru3d.com/data/avatars/m/247/247876.jpg
@TieSKey And where in your analogy stands Linus Torvalds? How all you wrote does relate to Linux (and any other OS)?
https://forums.guru3d.com/data/avatars/m/246/246171.jpg
mbk1969:

You will have a hard time convincing me that OS kernel needs AVX (at all). And outside the kernel any apps can call any (non privileged) instructions - not a concern for OS developers. PS And if OS kernel depends on AVX and OS developers have troubles with it, then it is a sign of bad design/architecture.
I didn't say the kernel itself needs AVX. I said the kernel needs to be developed to support it, probably in the form of drivers (though I don't know for sure, I'm not a kernel developer). What I do know is the kernel can control whether you have access to certain instructions, because in some cases something like AVX or SSE4 can be disabled. Also, the kernel doesn't depend on AVX (it can't, because it has to be supported by non-x86 architectures) but to my knowledge, it can use AVX to leverage performance, if it is available.
https://forums.guru3d.com/data/avatars/m/247/247876.jpg
schmidtbag:

I didn't say the kernel itself needs AVX. I said the kernel needs to be developed to support it, probably in the form of drivers (though I don't know for sure, I'm not a kernel developer). What I do know is the kernel can control whether you have access to certain instructions, because in some cases something like AVX or SSE4 can be disabled.
AVX is not a device, is not a resource (like RAM). OS kernel has to be isolated from such things because it does not need them to operate. Can you imagine scenarios to prevent apps from using SIMD instructions?
https://forums.guru3d.com/data/avatars/m/246/246171.jpg
mbk1969:

AVX is not a device, is not a resource (like RAM). OS kernel has to be isolated from such things because it does not need them to operate. Can you imagine scenarios to prevent apps from using SIMD instructions?
I don't need to imagine, it happens regularly.
https://forums.guru3d.com/data/avatars/m/247/247876.jpg
schmidtbag:

I don't need to imagine, it happens regularly.
Where? Which apps?
https://forums.guru3d.com/data/avatars/m/247/247876.jpg
schmidtbag:

Also, the kernel doesn't depend on AVX (it can't, because it has to be supported by non-x86 architectures) but to my knowledge, it can use AVX to leverage performance, if it is available.
If it can leverage performance then it is useful thing. If Linus hates AVX-512 then he can completely ignore it and use only previous versions. I see no use of floating point operations in OS kernel. I see use of floating point operations in multimedia tasks, in engineering tasks, in scientific tasks, may be in cryptography tasks.
data/avatar/default/avatar31.webp
mbk1969:

AVX is not a device, is not a resource (like RAM). OS kernel has to be isolated from such things because it does not need them to operate. Can you imagine scenarios to prevent apps from using SIMD instructions?
You can separate the math of a software in a library (static or dynamic doesn't matter although with dynamic libraries it is easier and safer) and build it against different instruction set. You can call the best bits based on a simple cpuid check. Note that all x64 CPUs support SSE2 (and should use it instead the legacy x87 whenever is possible).
https://forums.guru3d.com/data/avatars/m/246/246171.jpg
mbk1969:

Where? Which apps?
I didn't say apps... We're talking about instructions at the kernel level. The kernel has the ability to disable instructions if necessary.
mbk1969:

If it can leverage performance then it is useful thing. If Linus hates AVX-512 then he can completely ignore it and use only previous versions.
Right, hence my point earlier: he doesn't rant about things he isn't involved in. Why would he, a kernel developer, spend so much time complaining about something he ostensibly doesn't work with? Every time he's had a complaint, it's because the subject of his rant interfered with his workflow.
I see no use of floating point operations in OS kernel. I see use of floating point operations in multimedia tasks, in engineering tasks, in scientific tasks, may be in cryptography tasks.
AVX-512 does more than FP ops. Regardless, this here is one example of its involvement in the kernel: https://www.phoronix.com/scan.php?page=news_item&px=MTI1Njc
https://forums.guru3d.com/data/avatars/m/56/56686.jpg
is ANYONE modest about how they out things these days? the all do in way that cause the most damage/buzz