6 ms·
So here's what I would do if I were in this situation. I wouldn't build a graphics processing unit per se, but instead would build a highly parallel SIMD CPU or
by raphlinus 6y ago
So here's what I would do if I were in this situation. I wouldn't build a graphics processing unit per se, but instead would build a highly parallel SIMD CPU organized in workgroups, and with workgroup-local shared memory. These cores could be relatively simple in some respects (they wouldn't need complex out-of-order superscalar pipelines or sophisticated branch prediction), but should have good simultaneous multithreading to hide latency effectively.
Then, if you wanted to run a traditional rasterization pipeline, you'd do it basically in software, using approaches similar to cudaraster (which is BSD licensed!). The paper on that suggests that it would be on the order 2X slower than optimized GPU hardware for triangle-centric workloads, but that might be worth it. The good news is this story gets better the more the workload diverges from what traditional GPUs are tuned for - in particular, the more sophisticated the shaders get, the more performance depends on the ability to just evaluate the shader code efficiently.
It would of course be very difficult to make a chip that is competitive with modern GPUs (the engineering involved is impressive by any standards), but I think a lot would be gained from such an effort.
I should probably disclaim that this is definitely not legal advice. Anyone who wants to actually play in the GPU space should plan on spending some quality time with a team of topnotch lawyers.
- jeffbush 6y ago(project author here) That is pretty close to the approach this project has taken, although my motivation was not so much avoiding IP as exploring the line between hardware acceleration and software.
- lkcl 6y agoallo jeff nice to see you're around :) thank you so much for the time you spend guiding me through nyuzi. also for explaining the value of the metric "pixels / clock" as a measure for iteratively being able to focus on the highest bang-per-buck areas to make incremental improvements, progressing from full-software to high-performance 3D. have you seen Tom Forsyth's fascinating and funny talk about how Larrabee turned into AVX512 after 15 years? https://player.vimeo.com/video/450406346 https://player.vimeo.com/video/450406346 https://news.ycombinator.com/item?id=15993848 https://news.ycombinator.com/item?id=15993848
- raphlinus 6y agoGreat to hear! I've poked around a little and see that, and in any case wish you success and that we can all learn from it.