5 ms·
If you don't mind, I have what is probably a dumb question. Why does a GPU use PCI-Express still? I understand why they used to use it, but now they are not o
by swalsh 6y ago
If you don't mind, I have what is probably a dumb question.
Why does a GPU use PCI-Express still? I understand why they used to use it, but now they are not only standard, but in some cases the most important part of a PC.
I feel like if we could break the basic components out of the card, and bring it closer the system with a more modular design a bunch of things would be better.
Wouldn't it be nice if I could choose more CUDA cores if that's what I needed? Wouldn't it be nice if I could add more dedicated video RAM? Wouldn't it be nice if the the PCI slot wasn't a bottleneck? They're not graphics cards any more... often enough they're used for AI and scientific computing. It feels to me like moving these pieces to the motherboard would be super beneficial. Plus eaiser for other companies to get their fingers in things.
- bootloop 6y agoWhat makes you think that PCIe is a bottleneck? You can just populate your machine with another GPU if you need more memory or cores (thanks to the PCIe bus system).
- swalsh 6y agoWhile reading about OpenGL programming, one of the first things nearly all books mention, is the cost of moving data from your system to the GPU's memory.... So I assumed that's still true, is it not? Adding more GPU's does not change things as much as reduce the problem by providing more space.
- bootloop 6y agoThat is true in a sense of: Of all the things in the graphics pipeline moving data between CPU and GPU is the slowest thing you can do. But that doesn't really mean the PCIe bus is slow. The truth is that most machines have a single GPU, connected to the CPU with all 16 PCIe lanes but they usually hit their performance cap utilizing much less then that.
- SCdF 6y agoThis is coming out to PCs nowish: https://devblogs.microsoft.com/directx/directstorage-is-coming-to-pc/ https://devblogs.microsoft.com/directx/directstorage-is-comi... Nvidia's 3000 series will support it, the new consoles have it one form or another, and we can safely presume AMD's 6000 series will support it as well. Under Windows, obviously. Linux will be a completely different bucket of chum.
- xxpor 6y agoMemory bandwidth is usually the bottleneck before PCIe. You see this effect in other things too, such as Intel NICs being able to place packets directly in L3 cache because avoiding main memory is such a huge win (for both bandwidth and latency reasons): https://www.intel.com/content/www/us/en/io/data-direct-i-o-technology.html https://www.intel.com/content/www/us/en/io/data-direct-i-o-t...
- Tuna-Fish 6y ago> Wouldn't it be nice if I could choose more CUDA cores if that's what I needed? Wouldn't it be nice if I could add more dedicated video RAM? How would you achieve any of that? The single meaningful difference between data rates in normal DDR memory and GDDR is that the latter is designed for signaling where the chips are soldered directly on a pcb with very short traces, whereas the former is designed to accommodate the longer distances and narrower buses necessitated by having socket connections. Any hypothetical new GPU connector would still have to have the memory soldered on the same board as the GPU. (Or, if you are going for the more advanced packaging methods, connected through an interposer or EMIB or something.) > Why does a GPU use PCI-Express still? Because PCI-Express is basically the best anyone can do. It has been rapidly evolved to the point where in the past there was a lot of win by using custom busses, but now everyone just uses PCIe because it's the best available. (And I mean everyone, almost all of the remaining custom buses used in high-performance workloads are basically PCIe with a few restrictions loosened.) Basically the only way you can go up from PCIe is to go wider. And if you do that, what you will likely to do is to make a LGA or PGA style socket format, that talks PCIe.
- dragontamer 6y ago> Why does a GPU use PCI-Express still? I understand why they used to use it, but now they are not only standard, but in some cases the most important part of a PC. PCIe is the fastest I/O mechanism in computers these days. > I feel like if we could break the basic components out of the card, and bring it closer the system with a more modular design a bunch of things would be better. GDDR6 and HBM2 RAM cannot be broken out. GDDR6 requires you to solder the RAM directly onto the board, while HBM2 RAM requires an interposer with 4096 individual wires connecting the HBM2 stacks to the GPU. > more modular design a bunch of things would be better. Its very difficult to make a "modular" set of 4096 wires (HBM2). Or a "modular" set of GDDR6x (which is now using 4-bits per clock cycle per pin, thanks to PAM4: https://www.anandtech.com/show/15978/micron-spills-on-gddr6x-pam4-signaling-for-higher-rates-coming-to-nvidias-rtx-3090 https://www.anandtech.com/show/15978/micron-spills-on-gddr6x...) The quality of the connections requires direct soldering in the case of GDDR6x, or incredibly specialized packaging in the case of HBM2. These RAM architectures, while incredibly fast, are almost impossible to extend. ------- > It feels to me like moving these pieces to the motherboard would be super beneficial. Xeon Phi tried to do that, and it failed. I'm not entirely sure what you expect to gain from moving the GPU closer to the center of the motherboard. Again: high-speed RAM trades flexibility for high-performance. So any GPU using the high-speed RAM like HBM2 or GDDR6 will be stuck at very limited configurations. ------- DDR4 and DDR5 are an order of magnitude less bandwidth, but their ability for multiple configurations is what makes the motherboard even possible. Remove the ability to buy more or less RAM per computer, and what do you have? You just have a graphics card. Its not like you'll be able to pipe information from your hard drives or SSDs faster than a PCIe pipe anyway.