Phoronix: "Intel Graphics Compiler Can Now Be Built For RISC-V"
Posted by Dakhil@reddit | hardware | View on Reddit | 33 comments
Posted by Dakhil@reddit | hardware | View on Reddit | 33 comments
ethanjscott@reddit
Intel knows their cpu line is done. How fucking sad
HollowCheeseburger@reddit
You didn’t read the article, did you?
ethanjscott@reddit
I can’t read, so no.
Rd3055@reddit
Just take the L and move on.
okoroezenwa@reddit
How did you manage that from this article?
ethanjscott@reddit
Why would intel ensure their gpu line would be compatible with risc-v processors? The market share is abysmal. Unless they were counting on it being necessary.
I only use intel processors in my servers for their igpu. Don’t really care about the actual cpu
dajolly@reddit
AMD knows their cpu line is done. How fucking sad
https://riscv.org/news/2023/11/amds-fastest-gaming-gpu-now-works-with-risc-v-cpus-amd-radeon-rx-7900-xtx-open-source-linux-drivers-available/
kingwhocares@reddit
Yep. This is AMD and Intel taking lessons from CUDA and getting involved in a new architecture in its infancy.
ethanjscott@reddit
Kinda surprised they cover MIPS as well, talk about abysmal market share.
LeotardoDeCrapio@reddit
Mate is just a simple couple lines commit on an opensource project for a shader compiler, basically an LLVM-based toolchain.
Nointies@reddit
Because if RISC-V becomes prominent in data center they want to be able to ship GPUs on it.
steve09089@reddit
Somewhat off topic, I’m curious how hard would it be for Intel or AMD to switch their existing architectures to another instruction set.
LeotardoDeCrapio@reddit
Not particularly hard, since it's mainly a matter of changing the Fetch Engine's decoder frontend. Most of the core remains pretty similar.
But there is no value proposition for either Intel or AMD to invest in the effort. I.e. there is no point in intel or AMD to move away from x86 when it gives them the biggest software library.
intelminer@reddit
AMD did briefly make some prototype dev amd64 boards, codenamed "Seattle"
It's hard to tell if any of them ever made it into the wild, but they were in the Linux kernel for a long time
venfare64@reddit
Also the canceled "Skybridge" ARM Zen prototype because of AMD shifting focus to refining x86 version of Zen.
Darkstalker360@reddit
Does the Linux kernel drop support for hardware after a long time?
intelminer@reddit
Eventually? If it's extremely unmaintained and obsolete (Intel Itanium) it'll get yanked out after a long time
3G6A5W338E@reddit
Note that RISC-V is rapidly growing the strongest ecosystem.
There's always going to be some x86 code to emulate and run, but at least developers need not be encumbered with complexity imposed by x86.
mailslot@reddit
Switching instruction sets wouldn’t be terribly difficult, but for what gain? The RISC vs CISC differences are no longer relevant, since most modern CPUs translate the main instruction set to internal micro instructions. That happened in the 90s, when Intel stole IP and violated patents to make it happen.
gnollywow@reddit
The main gain nowadays is to use a fixed size instruction set. The bottleneck of needing to know the size of one instruction before being able to decode the next exists and is an issue for x86.
wintrmt3@reddit
RISCV/C isn't fixed size either.
gnollywow@reddit
x86 is insane with its prefix hell. It's like what, from 1 to 16 bytes that could be counted as a single instruction.
A variable width between 16 and 32 bits is much tamer than whatever the fuck is going on in x86.
hi_im_mom@reddit
Yeah definitely need some opcode reference handy if you're getting into the weeds
3G6A5W338E@reddit
Neither is thumb2.
But the point is that these have been designed to be very easy for hardware to deal with, without exponential complexity impeding n-way decode.
x86, in hindsight, was not.
BookinCookie@reddit
That’s really not that big of an issue anymore. It’s a solved problem.
gnollywow@reddit
It's why the E cores of upcoming arrow lake is 3x3 decoder. Intel just decodes where branches are known, rather than decoding 1 stream ahead. It's exponential complexity for x86 variable width decoding.
jaaval@reddit
Intel has for a long time just had an extra step before decoders that finds the instruction boundaries. I’m not sure how complicated that problem actually is. Think about it, you are essentially reading a dozen or so bits and inferring instruction length from that, how many of your billions of transistors do you actually need for that? Afaik gracemont instruction cache stores also the instruction lengths so you don’t need to do that multiple times for cached code. I guess variable length makes the decoders a bit more complex though because they need to support handling varying input format.
Also, Intel’s clustered decoding in gracemont apparently can handle decoding a linear instruction stream with full width. It’s not just for branches. Technically it should improve performance around branches compared to non clustered decoder while performing similarly in linear code. In the upcoming skymont they will also be able to handle most microcoded instructions within cluster without blocking the other clusters like before.
It will be interesting to see if they are going to adopt this new decoding strategy for P-cores at some point. P-cores now rely on uops caching which the E-cores don’t seem to need.
BookinCookie@reddit
Variable length makes decode more tricky to scale up. Skymont has the best solution to this though imo.
BookinCookie@reddit
Clustered decoding is the future anyway for all ISAs imo, in order to scale past only decoding from one basic block at a time. Skymont’s just ahead of the curve.
LeotardoDeCrapio@reddit
FWIW modern architectures are very similar internally, but they are not necessarily "RISC." Even modern high performance ARM and PowerPC cores break down RISC instructions into micro or nano ops.
The distinction between CISC/RISC stopped making much sense ever since instruction encoding was decoding from microarchitecture a few decades ago.
Things like out of order, speculation/prediction, superscalar, SMT, data-parallel units, etc. are not exclusive to either RISC or CISC and demand much more transistors and complexity than the instruction decoder. So they tend to have a bigger impact in the classification of the architecture than the ISA really.
mailslot@reddit
Yep. Fair enough.
Exist50@reddit
Front end would need to be largely replaced/reworked. And ARM or RISC-V let you do a whole lot of different optimizations than x86.
jaaval@reddit
I guess the branch prediction logic would remain the same. And that’s like 2/3 of the front end.