Earlier quoted context omitted.
It does do graphics. Calculating graphics is different from handling display output. You can separate the two. Like someone else mentioned, laptops often have discrete graphics cards that are not wired to display hardware at all, needing to shuffle framebuffers through the onboard graphics when something needs to make its way to a screen.
> Like someone else mentioned, laptops often have discrete graphics cards that are not wired to display hardware at all, needing to shuffle framebuffers through the onboard graphics when something needs to make its way to a screen. Those are GPUs even if they aren't connected to a display because they still have graphics components like ROPs, TMUs and whatnot.
Tiny GPU: A minimal GPU implementation in Verilog
61–70 of 79 posts
Re: Tiny GPU: A minimal GPU implementation in Verilog
#62Really awesome project. I want to get into FPGAs, but honestly it's even hard to grasp where to start and the whole field feels very intimidating. My eventual goal would be to create acceleration card for LLMs (completely arbitrary), so a lot of same bits and pieces as in this project, probably except for memory offloading part to load bigger models.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#63Really awesome project. I want to get into FPGAs, but honestly it's even hard to grasp where to start and the whole field feels very intimidating. My eventual goal would be to create acceleration card for LLMs (completely arbitrary), so a lot of same bits and pieces as in this project, probably except for memory offloading part to load bigger models.
You might want to pick a more realistic goal! An FPGA capable of accelerating LLMs is going to cost at least tens of thousands, probably hundreds.
It could be as simple as using a CNN instead of a V matrix. Yes, this makes the architecture less efficient, but it also makes it easier for an accelerator to speed it up, since CNNs tend to be compute bound.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#64Yet another "GPU" providing no graphics functionality. IMO theses should be called something else.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#65Really cool project I love seeing HW projects like this in the open. But I'd argue that this is a SIMD coprocessor. For something to be a GPU it should at least have some sort of display output. I know the terminology has gotten quite loose in recent years with Nvidia & Co. selling server-only variants of their graphics architectures as GPUs, but the "graphics" part of GPU designs make up a significant part of the co…
If it processes graphics, I think it counts, even if it has no output. There's still use for GPUs even if they're not outputting anything. My place of work has around 75 workstations with mid-tier Quadros, but they only have mini-DisplayPort and my employer only springs for HDMI cables, so they're all hooked into the onboard graphics. The cards still accelerate our software, they still process graphics, they just don…
Re: Tiny GPU: A minimal GPU implementation in Verilog
#66Earlier quoted context omitted.
> If it processes graphics, I think it counts, even if it has no output. That's not a good definition, since a CPU or a DSP would count as a GPU. Both have been used for such purpose in the past. > There's still use for GPUs even if they're not outputting anything. The issue is not their existence, it about calling them GPUs when they have no graphics functionality.
Graphics functionality != display output What about laptop GPUs, which don't necessarily output to the screen at all times. Sometimes they don't even have a capability to do so. If it's coprocessor working alongside the general processor for the primary purpose of accelerating graphics computing workloads, it seems appropriate to call it a GPU. Edit: perhaps your point is that it doesn't make sense to call a device d…
Re: Tiny GPU: A minimal GPU implementation in Verilog
#67Nice! I warmly encourage open-core GPU work. Here's another: https://github.com/jbush001/NyuziProcessor
What size run would be needed for TSMC or some other fab to produce such a processor economically?
Re: Tiny GPU: A minimal GPU implementation in Verilog
#68Earlier quoted context omitted.
If it looks like a duck and it walks like a duck, why is it not a duck? If you are using a DSP to process graphics, then at least in the context of your system it has become your graphics processor. Plenty of GPUs don't have (or aren't used for their) display output. It's a GPU because of what it does: graphics processing. Not because of what connectivity it has.
But it doesn't do graphics, so it shouldn't be called GPU. That's the whole point of this thread.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#69Because the GPU market is so competitive, low-level technical details for all modern architectures remain proprietary. Except for Intel, which publishes lots of technical documentation on their GPUs: https://kiwitree.net/~lina/intel-gfx-docs/prm/ You can also find the i810/815 manuals elsewhere online, but except for an odd gap between that and the 965 (i.e. missing the 855/910/915/945) for some reason, they've been…
The Linux drivers are also high quality and mainlined. Wish every company followed their lead.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#70Because the GPU market is so competitive, low-level technical details for all modern architectures remain proprietary. Except for Intel, which publishes lots of technical documentation on their GPUs: https://kiwitree.net/~lina/intel-gfx-docs/prm/ You can also find the i810/815 manuals elsewhere online, but except for an odd gap between that and the 965 (i.e. missing the 855/910/915/945) for some reason, they've been…
[The Thirty Million Line Problem - Casey Muratori](https://www.youtube.com/watch?v=kZRE7HIO3vk)