Is this true, and is it of relevance here?
Is this true, and is it of relevance here?
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.
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?
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:
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.
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.
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
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
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.
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).
That's surely not a healthy situation either. Courts should never be a central part of competition among businesses.
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.
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.
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.
That can work, but only up to the point that a disgruntled former employee blows the whistle.
Any implementation of it has the exact same patent minefield to navigate as any other ISA. Most of the patents are around implementation techniques not instruction set.
https://riscv.org/technical/specifications/risc-v-genealogy/
Of course, the various extensions might violate current patents (I would guess that packed SIMD and cryptography extensions are particularly at risk). But the basic ISA does not use anything that was not already widely adopted by 2003.
Besides that, engineers in large companies are told to explicitly not look up any patents so they won't be accused of willful infringement.