If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and'start fixing real problems'
Linus Torvalds' comments came from this article: https://is.gd/6zpZRL
His comments came in a mailing list (via Phoronix) discussing an article suggesting AVX-512 might not be part of Intel's upcoming Alder Lake architecture. If that comes to pass, it will be just fine by Torvalds. "I hope AVX512 dies a painful death, and that Intel starts fixing real problems instead of trying to create magic instructions to then create benchmarks that they can look good on. I hope Intel gets back to basics: gets their process working again, and concentrate more on regular code that isn't HPC or some other pointless special case," Torvalds said. Intel introduced AVX-512 in 2013, initially as part of its Xeon Phi x200 and Skylake-X processor lines. It has also found its way into more current CPU architectures, including Ice Lake. The instruction set is designed to bolster performance in various types of workloads, such as scientific simulations, financial analytics, artificial intelligence, data compression, and other tasks that can benefit from more robust floating point operations. Nevertheless, Torvalds views AVX-512 as an example of "special-case garbage," noting that in regards to floating point performance, "absolutely nobody cares outside of benchmarks." "I absolutely detest FP benchmarks, and I realize other people care deeply. I just think AVX-512 is exactly the wrong thing to do. It's a pet peeve of mine. It's a prime example of something Intel has done wrong, partly by just increasing the fragmentation of the market," Torvalds said. I think he's absolutely right, and previously we didn't see how much Intel was wasting its time making these AVX instructions because it's gaping security flaws were not yet known. We just assumed that the more sophisticated these floating-point instructions got, the more power they must draw naturally. But previous generations of FP instructions stayed well within the power envelope of the processor, whereas these AVX instructions have been known to go well outside the standard power envelope. Yousuf Khan |
#2
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
Yousuf Khan wrote:
Linus Torvalds' comments came from this article: https://is.gd/6zpZRL Full URL: https://www.pcgamer.com/linux-founde...al-problems%2F Linus is known for publishing his tirades on Windows, and even on Linux variants. He lambasts everyone. Tweaking hardware to look good in benchmarks is news to you? Video chip makers have been doing this forever, making their hardware or firmware look better in particular benchmarks (sometimes their own benchmarks tweaked for their hardware) but for which the benchmarks have no practical implementation illustrating actual performance in real use. AVX wasn't just about improving FP instructions. The number of cores available back then was maybe up to 4 allowing concurrent thread processing. With more cores to parallelize the computing, AVX becomes less necessary. The latest CPUs (although far outside the consumer price range) have 64 cores, maybe more. Sorry, but bitching in hindsight is the easy way to look superior. I don't see Linux bitching back *then* when AVX showed up. His forward-looking crystal ball was just as cloudy as everyone else's. So, how many cores were in your home computer back in 2013 when AVX came out? AVX isn't just about upping the bit-width of FP calculations, but also about parallelization. How many desktops nowadays have any apps on them that can use all 4 cores? 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. I suppose next Linus will bitch about increased parallelization in Mozilla's Firefox. The next engine, Servo, takes advantage of the memory safety and concurrency features of the Rust programming language. Servo will use parallelism by using more cores for the rendering engine, layout, HTML parsing, image processing, decoding, and other tasks that can be isolated (into separate processes or threads to run on more cores). Servo also makes further use of GPU-assisted acceleration, so code running on a different processor. Would the GPU be needed if there more core CPUs (real or multi-core) to parallelize the FP instructions? I think GPU-assisted acceleration in web browsers started back in 2010, but was just for web browsers. I remember some other apps used the GPU for faster FP processing, but they seemed few and far between. More video games are using AVX (AVX 2 more than AVX 512) since it is part of the DirectX12 API. LOTS of users play video games on their home computers, so AVX is really not that rare for use on low-end computing platforms. AVX used to be shunned by game devs due to complexity in coding. Scalar, non-AVX : void interpolate(vectorvectorint& mat) { for(int i=2; imat.size()-1; i=i+2) for(int j=0; jmat[0].size(); j++) { mat[i][j] = mat[i-1][j] + 0.5f * (mat[i+1][j] - mat[i-1][j]); } } Using AVX: void interpolate_avx(vectorvectorint& mat) { for(int i=2; imat.size()-1; i=i+2) for(int j=0; jmat[0].size(); j=j+8) { _mm256_storeu_si256((__m256i *)&mat[i][j], _mm256_cvtps_epi32(_mm256_add_ps(_mm256_mul_ps(_mm 256_sub_ps(_mm256_cvtepi32_ps(_mm256_loadu_si256(( __m256i *)&mat[i+1][j])), _mm256_cvtepi32_ps(_mm256_loadu_si256((__m256i *)&mat[i-1][j]))), _mm256_set1_ps(0.5f)), _mm256_cvtepi32_ps(_mm256_loadu_si256((__m256i *)&mat[i-1][j]))))); } } However, when mandated to programmers to code a game for maximum performance, the AVX code runs 6.5 times faster! Simple coding with slower performance, or complicated coding with faster performance. The tradeoff is more cost in coding work, debugging, and optimizing hence more time to achieve faster performance. Considering have video games have upped the number of moving objects, physics modeling, and moving texture change, some video games have insane requirements compared to games dated over a decade ago. Video games are real use of AVX. It's not just making benchmarks look better. Guess Linus doesn't have bleeding edge hosts (in technology and to his pocket) on which to run the most demanding video games. Is Linus even a gamer? Oh wait, yeah, not that big a selection for Linux. |
#3
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
On 15/07/2020 19:42, VanguardLH wrote:
Is Linus even a gamer? Oh wait, yeah, not that big a selection for Linux. He isn't anyway. -- Brian Gregory (in England). |
#4
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions'and 'start fixing real problems'
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. Yousuf Khan |
#5
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
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. Yousuf Khan 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. https://www.tomshardware.com/reviews...de,5461-2.html "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. https://www.google.com/search?q=over...20avx%20offset If the games weren't using AVX, overclockers wouldn't be stymied over the reduction in core freqs (and possible instability from vcore reduction). https://www.youtube.com/watch?v=BXBSVT9lpGw 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. |
#6
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions'and 'start fixing real problems'
On 7/16/2020 3:19 PM, VanguardLH wrote:
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. No, there is a difference between "are utilizing" and "can use". You used both terms in different sentences up above, probably because you're not actually sure which one it is, and you wanted to CYA. "Are utilizing" implies that the games have no choice in the matter, and they are using AVX even if they don't know it. This would presumably mean that AVX is being used within the DirectX 12 API itself, and operates in the background regardless of direct utilization by the game itself. That is not how the DX12 API operates. It is a bare-metal API, allowing the games themselves to control most low-level aspects of the visual production. This is unlike DX11 the previous API, which was more hands-on, controlling the low-level aspects. I could see if DX11 had been further developed, they perhaps might have started to use AVX within the API itself to help some aspects of performance. But they went in the completely opposite direction with DX12, I really don't see how AVX benefits the DX12 low-level API, as it's mainly just a series of calls to the GPU. For DX12, the "can use" AVX is the appropriate term, not the "are utilizing". But even within the game itself over the level of the API, AVX utilization is very rare. Games could use AVX even under DX11 or even DX9 or 10 beforehand, but it just didn't use it in the API. There was no prohibition of using AVX within the application itself. These days they are more likely to pass off most FP calculations off to the GPU than to try to do it within the CPU anymore, so AVX is dead in the water. https://www.tomshardware.com/reviews...de,5461-2.html "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. On the contrary, this exactly proves my point. Torvalds was complaining about how it's only being used in benchmarks but no real apps. Prime95 is exactly an example of a benchmark and stress testing app. Nobody is actually using Prime95 for anything other than stress testing and benchmarking. It's not like as if you're going to be finding any new prime numbers with a PC anymore, those have now firmly entered the realm of supercomputers/HPC. Yousuf Khan |
#7
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
Yousuf Khan wrote:
Prime95 is exactly an example of a benchmark and stress testing app. Nobody is actually using Prime95 for anything other than stress testing and benchmarking. Yep, elide over the intent of the authors of Prime95, because that would be another example of several shown where AVX is used. |
#8
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
On 2020-07-15 11:42, VanguardLH wrote:
Is Linus even a gamer? Oh wait, yeah, not that big a selection for Linux. Linux is not tied with Windows for gaming. Take a gander at: Fedora 31 | Features, Gaming, and New Daily Driver https://www.youtube.com/watch?v=1P8oBlOTBho |
#9
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions'and 'start fixing real problems'
On 2020-07-16 11:35, T wrote:
isĀ*not "is now" Stinking typos |
#10
|
|||
|
|||
Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
T wrote:
VanguardLH wrote: Is Linus even a gamer? Oh wait, yeah, not that big a selection for Linux. Linux is not tied with Windows for gaming. Take a gander at: Fedora 31 | Features, Gaming, and New Daily Driver https://www.youtube.com/watch?v=1P8oBlOTBho You didn't provide a timemark for the related content, and I wasn't going to watch all of the 22 minute video, so I moved the slider to skim through it. The author started talking about Steam on Linux which could now detect the native OS platform to know which game titles to present. Steam represents about 78% of the marketshare for computer games. I saw something about them using a compatibility shim to run Windows games on Linux platforms eliminating the need to run Steam and the Windows games inside of WINE. Wonder how the benchmarks reflect the performance of a Windows game running inside of WINE versus running the Windows game atop Steam's shim. https://itsfoss.com/steam-play/ Oh, so Steam Play simply provides a fork of WINE as its shim between the native OS platform and the Windows-only game. The Windows games will likely be impacted the same whether ran inside of WINE or Steam's variant of WINE. I didn't even bother to address running anything Windows inside of WINE or via any other emulation layer, like VMWare Player for Linux running Windows as a guest OS and then running a Windows game inside of that virtual machine. That something is doable doesn't mean it should be. That still means the games were *not* developed for the Linux platform. They were written for the Windows platform. Guess I should've qualified my statement by saying: "Oh wait, yeah, not that big a selection of native Linux games. " Do hardcore gamers even bother with WINE? Conversely, everything Linux can be played on Windows, too, so the user could use a Windows platform to play native Windows games and emulated Linux games. Is there much draw for that scenario? You can even play Android apps on Windows by using a shim aka emulator, like Bluestacks. There's native-on-native, and then there are less-than-ideal workarounds. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
fans start-stop-start when booting | [email protected] | Homebuilt PC's | 4 | November 21st 14 06:25 PM |
PC power on - start, stop, start, stop, etc - eventually powers up | spodosaurus | Homebuilt PC's | 10 | December 27th 08 02:55 PM |
Intel CEO tells us to buy a Mac | YKhan | General | 7 | May 28th 05 06:01 AM |
InfoWorld: Global Standards Are Key, Intel CEO Tells Chinese Execs | Dionaea muscipula | Intel | 2 | April 9th 04 07:30 AM |