4 ms·
We should really have another word for “chip that runs OpenCL but has no rasterizer”. I see the title was edited to call it a “GPGPU”, or a “general-purpose GP
by unsigner 5y ago
We should really have another word for “chip that runs OpenCL but has no rasterizer”.
I see the title was edited to call it a “GPGPU”, or a “general-purpose GPU” but it’s not a thing; GPGPU was an early moniker for when people tried to do non-graphics work on GPUs many years ago, but it was a word for techniques, never for a specific type of hardware. Plus it feels to me that “general purpose” should be something more than a GPU, while this is strictly less.
- avianes 5y agoThat term is "SIMT architecture." Modern GPUs (or GPGPUs) are based on the SIMT programming model that requires an SIMT architecture
- zozbot234 5y ago"SIMT" is not an architecture, it's just a programming model that ultimately boils down to wide SIMD instructions with conditional execution. Add that to a barrel processor that can hide memory latency across a sizeable amount of hardware threads, and you've got the basics of a GPU "core".
- avianes 5y agoSIMT is a programming model, you are right. But in the literature the term "SIMT architecture" is used to describe architectures optimized for the SIMT programming model. Just search for "SIMT architecture" in google scholar or any other search engine dedicated to academic research, you will see that it's indeed a term used for this kind of architecture.
- nine_k 5y agoVector processors? Follow the early Cray nomenclature.
- eqvinox 5y agoVPU? With network processors being called NPU these days...
- zmix 5y ago> VPU? Already taken: Video Processing Unit.
- techdragon 5y agoWhat’s your point? NPU was mentioned earlier and I routinely see NPU used as an acronym for “neural processing unit” in modern embedded hardware containing hardware either on chip or on module for accelerating neural networks for various edge computing applications of machine learning models. I’m pretty sure Vector Processing Unit may outdate Video Processing Unit given that people were developing vector processing hardware for high performance computing back before even the Amiga was released which is the earliest thing I can think of that had serious video related hardware. I leave room for someone to have called their text mode display driver chips a “video processing unit” but I don’t think it would have been common given the nominal terminology at the time was to call the screen a “display” and the hardware was typically called a “display adaptor” or “display adapter” … at least in my experience, which I will admit is limited since I didn’t live through it merely learned after the fact by being interested in retro computing.
- avianes 5y agoThe terminology "vector processor" refers to a completely different type of architecture. Using it for SIMT architecture would be confusing
- dahart 5y agoWhat definition of vector processor are you thinking of? Wikipedia’s definition appears to agree with the parent, and even states “Modern graphics processing units […] can be considered vector processors” https://en.wikipedia.org/wiki/Vector_processor https://en.wikipedia.org/wiki/Vector_processor
- raphlinus 5y agoI don't really agree. I think it's completely valid to explore a GPU architecture in which rasterization is done in software, with a perhaps a bit of support in the ISA. That's what they've done here, and they do demonstrate running OpenGL ES. The value of this approach depends on the workload. If it's mostly rasterizing large triangles with simple shaders, then a hardware rasterizer buys you a lot. However, as triangles get smaller, a pure software rasterizer can win (as demonstrated by Nanite). And as you spend more time in shaders, the relative amount of overhead from software rasterization decreases; this was shown in the cudaraster paper[1]. Overall, if we can get simpler hardware with more of a focus on compute power, I think that's a good thing, and I think it's completely fine to call that a GPU. [1]: https://research.nvidia.com/publication/high-performance-software-rasterization-gpus https://research.nvidia.com/publication/high-performance-sof...
- justsid 5y agoThis is essentially where Sony was trying to go with their Cell architecture in the PS3. Only at the very end did they realize that they actually needed a GPU that can do rasterization in hardware. In fact, a lot of games actually did graphics workloads on the SPEs to help out the pretty weak GPU. The concept can definitely work, especially if the driver takes care of all the programmable bits and exposes a more classical graphics pipeline to the host.
- zbendefy 5y agoOpenCL has a category called CL_ DEVICE_ TYPE_ ACCELERATOR for that, so something like 'Accelerator' seems to fit