Yet another "GPU" providing no graphics functionality. IMO theses should be called something else.
Easy, it's now a General Processing Unit. Or perhaps a Great Processing Unit?
Tiny GPU: A minimal GPU implementation in Verilog
41–50 of 79 posts
Re: Tiny GPU: A minimal GPU implementation in Verilog
#42Earlier quoted context omitted.
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…
> 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.
Edit: perhaps your point is that it doesn't make sense to call a device designed primarily to accelerate ML workloads or just general purpose vector calculations. In that case I'd agree that GPU isn't the right name.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#43Earlier quoted context omitted.
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…
> 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.
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.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#44Yet another "GPU" providing no graphics functionality. IMO theses should be called something else.
...I for my part want to say thanks for the findings! :-)
[Setting:Weekendmodus]
Re: Tiny GPU: A minimal GPU implementation in Verilog
#45Uh, the ALU implements a DIV instruction straight up at the hardware level? Is this normal to have as a real instruction in something like a modern CUDA core or is DIV usually a software emulation instead? Because actual hardware divide circuits take up a ton a space and I wouldn't have expected them in a GPU ALU. It's so easy to write "DIV: begin alu_out_reg <= rs / rt; end" in your verilog but that one line takes a…
The project stops at simulation, making real hardware out of this requires much more work.
Re: Tiny GPU: A minimal GPU implementation in Verilog
#46Re: Tiny GPU: A minimal GPU implementation in Verilog
#47Is there a reason they're mixing non-blocking and blocking assignment operators in sequential always blocks here?
Re: Tiny GPU: A minimal GPU implementation in Verilog
#48> Since threads are processed in parallel, tiny-gpu assumes that all threads "converge" to the same program counter after each instruction - which is a naive assumption for the sake of simplicity. > In real GPUs, individual threads can branch to different PCs, causing branch divergence where a group of threads threads initially being processed together has to split out into separate execution. Whoops. Maybe this pers…
Isn't the first just equivalent to calling __syncthreads() on every launch?
https://engineering.purdue.edu/~smidkiff/ece563/slides/GPU.p...
Re: Tiny GPU: A minimal GPU implementation in Verilog
#49Re: Tiny GPU: A minimal GPU implementation in Verilog
#50Earlier 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.
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.