News for hackers. Stuff that matters.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ChuckNorris89 on Sunday February 14, 2021 @12:08PM (#26133984)
Not sure of how relevant it is here, but yes, GPUs architectures are bound by tons of patents so you can bet your a$$ that if you were to commercially launch your own GPU IP, you'll have Nvidia's and AMD's lawyers knocking on your door in under 10 seconds.

IIRC most companies out there selling GPU IP are still paying royalties to AMD for their patents on shader architecture which they got from their acquisition of ATI which in turn came from their acquisition of ArtX which was founded by people who worked at the long defunct SGI (Silicon Graphics).

The funny thing is, if you backtrack through all GPU innovations, most stem from former SGI employees.

When 3Dfx went under, even though Nvidia's GPU tech was already superior to anything 3Dfx had, Nvidia immediately swept in and picked their carcass clean, mostly for their patents in this space, so they would have more ammo/leverage against competitors going forward.

Regardless how you feel about patents, with their pros and cons, hardware engineering is a capital intensive business and without patents to protect your expensive R&D, it wouldn't be a viable business.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ericbarrett on Sunday February 14, 2021 @12:23PM (#26134126)
I learned GL in the 1990s on SGI systems. Shaders didn’t exist, poly counts were in the 100s, and textures were a massive processing burden. The rendering pipeline of course was quite different. And yet so much is the same! Code organization, data types, all is quite familiar, whether it’s OpenGL or DirectX or what not. The achievements of SGI engineers have literally benefited generations.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by lkcl on Sunday February 14, 2021 @03:51PM (#26136149)
Jeff's evaluation of GPLGPU is fascinating: https://jbush001.github.io/2016/07/24/gplgpu-walkthrough.htm...

you are absolutely correct in that everything has moved on from "Fixed Function" of SGI, and how GPLGPU works (worked) - btw it's NOT GPL-licensed: Frank sadly made his own license, "GPL words but with non-commercial tacked onto the end" which ... er... isn't GPL... sigh - but everything commercially has now moved on to Shader Engines.

that basically means Vulkan.

however you may be fascinated to know, from Jeff's evaluation, that there are still startling similarities in basic functionality in not-GPL GPLGPU and in modern designs targetted at Shader Engines.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by joshspankit on Sunday February 14, 2021 @12:21PM (#26134108)
To clarify what I think is the relevance, as well as to explore my own questions:

If someone were to clean-room design their own GPU chip, how likely is it that Nvidia and AMD would come down on them anyway simply by virtue of the fact that they (presumably) have patents on everything that you could think of putting in that chip?

In essence: do you now have to be an expert in what you’re not allowed to put in before you even start?

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by raphlinus on Sunday February 14, 2021 @02:33PM (#26135417)
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.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by jeffbush on Sunday February 14, 2021 @03:23PM (#26135897)
(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.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by lkcl on Sunday February 14, 2021 @03:47PM (#26136120)
allo 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://news.ycombinator.com/item?id=15993848

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by raphlinus on Sunday February 14, 2021 @03:31PM (#26135977)
Great 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.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ChuckNorris89 on Sunday February 14, 2021 @12:25PM (#26134153)
To clarify further, Nvidia and AMD (and probably other small players like ARM, Quallcomm, Imagination) own the patents on core shader tech, which are the building blocks of any modern GPU design.

If you want to design a GPU IP that works around all their patents, you probably can, but unless you're a John Carmack x10, your resulting design would be horribly inefficient and not competitive enough to be worth the expensive silicon it will be etched on and probably not compatible to any modern API like Vulcan or DirectX.

But if you just want to build your own meme GPU for education/shits and giggles, that doesn't follow any patents or APIs, then you can and some people already did:

https://www.youtube.com/watch?v=l7rce6IQDWs

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ericbarrett on Sunday February 14, 2021 @12:29PM (#26134190)
I am not in the graphics space but I am quite familiar with tech business practices.

I think the chance you would be sued is near 100%. If you released and showed any market traction at all, you would immediately become a threat to the duopoly; they surely remember the rise of 3Dfx. Don’t bother arguing the merits of the patents because it would be a business decision, not a technical one—this is the kind of thing that’s decided at the C-level and then justified (or cautioned against) by the company’s legal team, not the other way around. Patents are merely leverage to effect the defense of the business, and you can be sure they’ll be used.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by joshspankit on Sunday February 14, 2021 @12:34PM (#26134244)
I agree with you (and definitely a conversation worth having) but for the sake of this thread let’s pretend that legal action would only be taken when a patent was actually matched with what was put in the chip.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ericbarrett on Monday February 15, 2021 @11:50AM (#26144409)
I’m sad you’re being downvoted because I would also have been interested in the discussion, but I think the unfortunate reality is it just doesn’t matter that much.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by joshspankit on Monday February 15, 2021 @12:03PM (#26144540)
I appreciate voicing that you’d also be interested in that discussion. These days it feels to me as though patents and litigation are such a large battleground that they dwarf conversations like these, but underneath it all patents do still exist the way they used to and that seems to me like that still means that these discussions are important.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by lkcl on Sunday February 14, 2021 @03:37PM (#26136041)
if it were done, say, as a Libre/Open processor, say, with the backing of NLnet (a Charitable Foundation), where the "Bad PR ju-ju" for trying it on was simply not worth the effort

if it were done. say, as a Libre/Open processor, say, with the backing of NLnet (a Charitable Foundation), where NLnet has access to over 450 Law Professors more than willing to protect "Libre/Open" projects from patent trolls by running crowd-funded patent-busting efforts

if it were done as a Libre/Open Hybrid Processor, based on extending an ISA such as ooo, I dunno, maybe OpenPOWER, which has the backing of IBM with a patent portfolio spanning several decades, who would be very upset if tiny companies like NVidia or AMD tried it on against a Charitably-funded project.

that would be a very interesting situation, wouldn't it? i wonder if there's a project around that's trying this as a strategy? hmmm, hey, you know what? there is! it's called http://libre-soc.org

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by ComputerGuru on Sunday February 14, 2021 @12:35PM (#26134262)
I don’t see how patents acquired from SGI could possibly still be protected and require licensing.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by webmaven on Sunday February 14, 2021 @08:14PM (#26137947)
> I don’t see how patents acquired from SGI could possibly still be protected and require licensing.

It isn't those patents specifically, but the IP developed on top of the safe harbor that those additional patents provided at the time.

It is difficult at any particular point in time to develop IP in this space without infringing patents that are still in force, because even if you go back and base your work on patents that have expired, unless you are very careful and clever you will be infringing on newer patents that are themselves also based on those expired patents.

You may be able to show that some of the key claims of those newer patents were "obvious to a person having ordinary skill in the art" and/or come up with prior art to give yourself some wiggle room, but that's a lot of effort with an uncertain result.

A surer strategy is to patent new developments on top of current IP that, while you can't use them without licensing the original IP, neither can the holder of the original IP, and if your new stuff is in their critical path and engineering around it would be annoying enough, you may be able to get them to negotiate a cross-licensing arrangement or something similar.

IOW, if someone's moat is stopping you or their tolls are too high, start digging a moat around their moat to get them to cut you a deal.

It's still tricky though: you can't patent stuff too far ahead of where the original IP holder is going because you may guess wrong about where they (or the industry) is going to have to go, or even if you're right your patents may expire before they become important (and you ran out of money to keep building more IP on top because your innovation wasn't implementable yet or you were too early to market), and if you aren't far enough ahead you run the risk of them patenting whatever innovation you are working on before you do, or even having the "obvious to a person with ordinary skill in the art" shoe on the other foot (and their legal department is bigger than yours).

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by bserge on Sunday February 14, 2021 @02:06PM (#26135113)
Aren't patents supposed to expire?

Isn't that the idea, you have a patent for 10-20 years, build your business (which AMD/nVidia did, very successfully) then everyone is free to use it, possibly leading to innovation?

I'm poorly versed in this, so if anyone with more knowledge could share some thoughts, that would be appreciated.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by mng2 on Sunday February 14, 2021 @09:03PM (#26138241)
Yes, and for example 3dfx's patents for the original Voodoo architecture expired a few years ago. But a fixed-function graphics pipeline is not terribly useful these days.

Technology moves so fast that perhaps tech patents should be given shorter terms. As it stands, the big companies just build up huge patent portfolios which discourage competition.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by lkcl on Sunday February 14, 2021 @03:18PM (#26135846)
only if the patent holder does not create an "improvement" on the old one. then the older (referenced) patent is extended. Bosch have done this specifically so that they can hold on to the original CAN Bus patent.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by webmaven on Sunday February 14, 2021 @08:37PM (#26138096)
> only if the patent holder does not create an "improvement" on the old one. then the older (referenced) patent is extended. Bosch have done this specifically so that they can hold on to the original CAN Bus patent.

The original patent still expires. The problem is when the patented improvement is obvious enough that anyone who wants to build on the expired patent is going to want to do it the way the new patent does it (ie. patent N+1 is "just" a modernized reimplementation of patent N), but un-obvious enough (to a "person of ordinary skill in the art", superficially at least) that it is still patentable.

Alternatively, the original patent holder throws money and people at the problem and patents every variation on their original patent they can conceive of, and every N*M combination with their other patents, even ones they have no intention of reducing to practice, maybe even ones that seem nonsensical, just in case. IBM used to be notorious for this.

Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by HideousKojima on Sunday February 14, 2021 @02:16PM (#26135237)
Correct, patents in the US expire after 20 years.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by JPLeRouzic on Sunday February 14, 2021 @02:24PM (#26135326)
And if I remember correctly, (I wrote my last patent 10 years ago) there are annuals fees that would invalidate any right if not paid.
Re:Nyuzi – An Experimental Open-Source FPGA GPGPU Processor by arithmomachist on Sunday February 14, 2021 @01:14PM (#26134618)
>Nvidia immediately swept in and picked their carcass clean, mostly for their patents in this space, so they would have more ammo/leverage against competitors going forward.

That's surely not a healthy situation either. Courts should never be a central part of competition among businesses.