Announcement

Collapse
No announcement yet.

The NVIDIA vs. Open-Source Nouveau Linux Driver Benchmarks For Summer 2018

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • starshipeleven
    replied
    Originally posted by cybertraveler View Post
    I'm not sure why you would say "of course not" as if it should be obvious. IIRC people have been using AMD Vega 64 firmware on Vega 56 cards to get certain performance benefits for certain workloads.
    That's mostly because of the increased thermal limits or frequencies. GPU BIOS modding can do that, but does not turn a card into another. As you put it it was much more important change than that. Maybe I read that wrong though.

    The fact that NVIDIA can get away with this tells me that NVIDIA may have been enjoying a near-monopoly position in the market
    Well, no, everyone does market segmentation like that in the integrated circuit world (even for far simpler cheap 2$ microcontroller chips) and it's not "wrong" per-se. R&D costs aren't specific to a product line, nor are most other fixed costs.

    Segmenting the market allows them to ask what they think is a "more fair" prices for the features they are offering. Because the additional features actually required more R&D and validation and whatever other costs. Companies can afford to pay a few thousands for a high end compute card that offers compute features.

    While for those that only need the card for gaming they remove the compute features and leave only the 3D acceleration.

    The customer is paying for the features, which is ok. Technically the hardware can do that too, but that's an artifact of manufacturing technology, making hardware that can only do the features you pay for would be more expensive to manufacture or to develop, so they resort to disabling stuff in hardware or in software after it was manufactured.

    Deliberately making your products artificially shit in a competitive market would simply mean your competitors would produce better products in that market (eg the mid-range gaming graphics card market) and you would lose lots of sales.
    Yes, and that's one of the reasons I don't think they are doing that, but are focusing on obsoleting old cards or doing something minor.

    But if we are talking of product segmentation again (i.e. allowing the gaming cards to steal sales to the businness/computing cards) then it's not going to happen. Your competitors also have their market segmentation in place and will not do that as they will also shoot their own foot.

    What I get from whining and other things I get in forums is that it seems they are decreasing performance of older cards, to push people to buy newer cards sooner than the hardware becomes actually obsolete. There are people that keep using old drivers because it's what gives them best performance on their old card.
    I can't state this as fact as I only heard it and never tested it, but it does make more sense than segmenting consumer GPU market.

    And again this trickery can't be done if there is an open driver they don't control.

    I feel hopeful about AMD. They've made some huge improvements recently so NVIDIA might be forced to stop relying on doing things like you suggested. With Intel potentially entering the gaming graphics card market in 2020, it would further improve the situation.
    I don't see how that could change. Both Intel and AMD know full well that they need to segment the market, and are doing so.

    Sure more competition will help in keeping th eprices down, and NVIDIA is indeed jacking up prices just because they can (no competition in upper midrange and high end gaming GPUs, 0 competition for computing using CUDA, limited competition for OpenCL) but it won't make Quadro cards sell for cheap.

    Again: with AMD stepping up their game, this may change for the better now.
    Again, no fucking chance. They will keep server features and high multicore counts in expensive Xeon processors, just as AMD does.

    It seems more likely to me that until recently AMD has just been producing inferior products to NVIDIA and Intel so they haven't had the option of producing artificially restricted products as doing that would make them even less competitive.

    Imagine if AMD tech was inferior to NVIDIA's. If AMD was to artificially restrict the capabilities of their-mid range graphics cards it might make them far more inferior to the NVIDIA offering in the same market. In this scenario, NVIDIA could get away with these artificial restrictions, because even with the restrictions their cards were superior to the AMD offering in the same market.
    Can you please stop thinking about midrange gaming cards? That's not what all this is about.

    The product segmentation in effect is the distinction between Quadro/Tesla/Volta/FirePro/Xeon and their consumer counterparts. With the professional lines being a very big revenue stream for NVIDIA and Intel, and quite a bit less for AMD.

    AMD is artificially restricting stuff to an extent too (there is a bunch of pro features available only in pro cards and not consumer ones, nothing really game-changing for consumers anyway).

    As their products get better market share, they will have good reasons to artificially restrict stuff more.

    If we want AMD to remain as it is now, we should wish it to remain in the 20%ish marketshare or so, where it is more important to sell than to segment the market.
    Last edited by starshipeleven; 16 June 2018, 08:24 AM.

    Leave a comment:


  • PackRat
    replied
    On windows there was a program called rivatuner that would mod the driver for geforce 6800 gs and I could turn into a gt or a quadro and it was known as softquadro. Back then there was no difference between a geforce and a quadro but the bios and the driver. The difference these day's is that pro cards have maybe have ecc ram and other input/output's for production on a quadro. Nvidia also wants people to pay extra for vm support and will block geforce cards from what I have heard.

    Amd's gpu is not inferior hardware it's that they are slow to produce good drivers people call it Amd radeon fine wine.

    Leave a comment:


  • cybertraveler
    replied
    Originally posted by starshipeleven View Post

    No, of course not. That's still different hardware, to do that you would need to change the GPU's BIOS, and maybe its hardware fuses (not possible at all?), and also enable the disabled cores (assuming they are actually stable, and were not laser-cut off), which is an entirely different kind of animal.
    I'm not sure why you would say "of course not" as if it should be obvious. IIRC people have been using AMD Vega 64 firmware on Vega 56 cards to get certain performance benefits for certain workloads.

    Originally posted by starshipeleven View Post
    I'm talking of making a customized driver. With an open driver you can have the GPU run better some SPECIFIC workload, while sacrificing others. For example AMD's mining drivers.
    Ah, my mistake. I thought you were talking about the firmware/bios being used modified to unlock features.

    Originally posted by starshipeleven View Post
    Or the "workstation drivers" of both camps that enable features that technically speaking also gaming cards can do but are not doing because it's disabled in the driver.
    For example, NVIDIA Geforce gpus can't be passed to Xen guests, while all AMD cards can, and Quadro/computing ones can be passed. There is not much that the card itself (in firmware) can do to avoid this.
    Interesting!

    Originally posted by starshipeleven View Post
    A customized driver can lead to a shift in cost-performance ratio for those running this SPECIFIC workload, so they won't buy higher end cards that have larger profit margin, but many lower end cards with less profit margin.
    I get it now.

    The fact that NVIDIA can get away with this tells me that NVIDIA may have been enjoying a near-monopoly position in the market or that they are far ahead of their competition. If this wasn't the case, they couldn't get away with artificially delivering inferior products to the market via software/driver profiles. Deliberately making your products artificially shit in a competitive market would simply mean your competitors would produce better products in that market (eg the mid-range gaming graphics card market) and you would lose lots of sales.

    I feel hopeful about AMD. They've made some huge improvements recently so NVIDIA might be forced to stop relying on doing things like you suggested. With Intel potentially entering the gaming graphics card market in 2020, it would further improve the situation.

    If we're really lucky, NVIDIA -- noticing that they can no longer benefit from having closed/controlled drivers -- may reconsider their stance on helping the nouveau project.

    Originally posted by starshipeleven View Post
    The same behaviour can be seen with Intel, that is very careful to not provide consumer CPUs that could in any way compete with their Xeons. But there they can easily do so by laser-cutting off features or making CPUs with low core counts.
    Again: with AMD stepping up their game, this may change for the better now.

    Originally posted by starshipeleven View Post
    AMD does not seem to care about such grave risks as they have low market share to begin with, and their main priority now is selling stuff, not necessarily enact a master plan for the future like this. If it turns out they start selling a ton of consumer GPUs and less pro ones they can scale accordingly, they don't have so much to lose as NVIDIA that has basically cornered the market in the high end.
    It seems more likely to me that until recently AMD has just been producing inferior products to NVIDIA and Intel so they haven't had the option of producing artificially restricted products as doing that would make them even less competitive.

    Imagine if AMD tech was inferior to NVIDIA's. If AMD was to artificially restrict the capabilities of their-mid range graphics cards it might make them far more inferior to the NVIDIA offering in the same market. In this scenario, NVIDIA could get away with these artificial restrictions, because even with the restrictions their cards were superior to the AMD offering in the same market.

    Leave a comment:


  • starshipeleven
    replied
    Originally posted by cybertraveler View Post
    This is an interesting theory and I hadn't considered it before, but even if what you are saying is correct (that NVIDIA use firmware/microcode as their means of artificially limiting the performance of lower end products), it doesn't explain why they don't release legally usable copies of their signed firmware.
    Because the firmware is doing low-level stuff like power management at the hardware level, or teaching the graphics cores how to react to a specific command from the driver.

    All the APIs (CUDA, OpenGL, DirectX to some extent as it also has components in the OS because of obvious reasons) come from the driver.

    IE I am assuming you can't just take a GTX 1080 firmware image and send it to a GTX 1060 to "upgrade" aspects of the performance of the 1060 to that of a 1080.
    No, of course not. That's still different hardware, to do that you would need to change the GPU's BIOS, and maybe its hardware fuses (not possible at all?), and also enable the disabled cores (assuming they are actually stable, and were not laser-cut off), which is an entirely different kind of animal.

    I'm talking of making a customized driver. With an open driver you can have the GPU run better some SPECIFIC workload, while sacrificing others. For example AMD's mining drivers.

    Or the "workstation drivers" of both camps that enable features that technically speaking also gaming cards can do but are not doing because it's disabled in the driver.
    For example, NVIDIA Geforce gpus can't be passed to Xen guests, while all AMD cards can, and Quadro/computing ones can be passed. There is not much that the card itself (in firmware) can do to avoid this.

    Also, I don't know why the gaming cards from NVIDIA have unnaturally low computing FLOPS, if this is done by the driver and not in hardware....

    A customized driver can lead to a shift in cost-performance ratio for those running this SPECIFIC workload, so they won't buy higher end cards that have larger profit margin, but many lower end cards with less profit margin.

    For gaming this would probably not matter that much, but I'm talking of SPECIFIC workload. Which means businness. If this actually dethrones the Quadro/Tesla cards (and it's entirely possible) they would be totally fucked. It would be a disaster as they would lose what is a very big source of income.

    Also, I'm pretty sure NVIDIA does make custom drivers for some large buyer that isn't making a true supercomputer but is still buying a few hundred serious compute cards, and again this isn't a free service and they won't like having to compete with third party mercenaries like Collabora developing the open driver for their client's needs.

    This is the actual risk they could face if they lose the control over the driver, and why I'm pretty sure they will not release firmware that lets their cards do more than basic display interface (i.e. a fallback driver, just good enough to use the screen until you can install the proprietary driver.


    The same behaviour can be seen with Intel, that is very careful to not provide consumer CPUs that could in any way compete with their Xeons. But there they can easily do so by laser-cutting off features or making CPUs with low core counts.
    On a GPU it's harder to keep the market separate as on a GPU it's more the raw power than the features that matter, and there is overlap between the markets.

    AMD does not seem to care about such grave risks as they have low market share to begin with, and their main priority now is selling stuff, not necessarily enact a master plan for the future like this. If it turns out they start selling a ton of consumer GPUs and less pro ones they can scale accordingly, they don't have so much to lose as NVIDIA that has basically cornered the market in the high end.
    Last edited by starshipeleven; 15 June 2018, 03:05 PM.

    Leave a comment:


  • cybertraveler
    replied
    Originally posted by starshipeleven View Post
    Reprogramming BIOS is irrelevant for opensource support, what opensource driver needs is firmware blobs to load at runtime (like the proprietary driver does).
    And they won't release them to make sure the open driver can't be optimized or modified in ways that would screw with their product segmentation (making cheaper cards run closer to more expensive ones) and offer features otherwise limited to Quadro GPUs that cost much more, for example.
    This is an interesting theory and I hadn't considered it before, but even if what you are saying is correct (that NVIDIA use firmware/microcode as their means of artificially limiting the performance of lower end products), it doesn't explain why they don't release legally usable copies of their signed firmware. Emphasis added to the word "signed", to highlight the fact that making this firmware legally, available for use by nouveau would not stop them from being able to artificially limit performance. Their low-end cards would simply not accept tampered firmware which was coded to remove the restrictions, because the tampered firmware wouldn't be correctly signed.

    My above comment is made under the assumption there is either a separate firmware program for each product that is not compatible with other products or the generic firmware checks a product specific ID to select a product-specific performance profile for that product. IE I am assuming you can't just take a GTX 1080 firmware image and send it to a GTX 1060 to "upgrade" aspects of the performance of the 1060 to that of a 1080.

    I think my assumption is fair because if NVIDIA really are doing what you are saying, then it should be an obvious loop-hole to an engineer if the user can simply upload firmware from better cards to their inferior card to get a performance boost. It would be unreasonable for them to assume that the illegality of it (if any) would stop users doing that (cite: the pirate bay).
    Last edited by cybertraveler; 15 June 2018, 02:09 PM.

    Leave a comment:


  • starshipeleven
    replied
    Originally posted by stargeizer View Post
    Because You as an "END USER" are not client of nvidia directly, Nvidia doesn't give a s**t about end users, they only cares about THEIR CLIENTS, and those are the real manufacturers of the cards: GIGABYTE, ZOTAC, PINE, etc, and the game markers themselves. And the drivers they made ARE MONETIZED since is more a SOFTWARE COMPANY rather than hardware company.
    Lol what? NVIDIA is a hardware company, drivers are part of the deal (you can't use the hardware without them), and they treat OEMs like their bitch too. (see the attempt at stealing all the gaming brands for NVIDIA cards with what is de-facto an exclusivity contract)
    Also they enforce stricter PCB design rules, which makes most cards look very similar once you remove the heatsink.

    Is no secret that our favorite closed source graphics mafia (as they are known in the AAA gaming code world) do many things with their drivers, and one of them is artificially optimize games for their hardware, for a fair price,
    AMD does too, and AFAIK neither requires payment for that. They do it because they want to look better in benchmarks and games so people will buy more of their cards, it's not a racket.

    nvidia as a bussiness colective, HATES open source culture,
    More like they don't comprehend how to use it. They don't go out of their way to block opensource per-se. They don't want to allow opensource to screw with their plans, which is a different thing.

    (done because of open source, and to prevent sales of fake cards with reprogrammed bioses, as some chinese cards were sold some time ago).
    Reprogramming BIOS is irrelevant for opensource support, what opensource driver needs is firmware blobs to load at runtime (like the proprietary driver does).
    And they won't release them to make sure the open driver can't be optimized or modified in ways that would screw with their product segmentation (making cheaper cards run closer to more expensive ones) and offer features otherwise limited to Quadro GPUs that cost much more, for example.

    This is kinda douchy, but it's perfectly understandable, they make money because of that after all, they can't afford to lose control over their own products.

    Leave a comment:


  • stargeizer
    replied
    Originally posted by vegabook View Post
    "what a ROUT!". Nouveau doesn't even come close. That's any sane person's initial reaction.

    But when we think about this, and consider the hard working and talented people behind Nouveau, the obvious conclusion is that this is indeed a rout, for Nvidia.

    How can a company be so tragically closed, and closed minded, so dismissive of its users, that it would cripple an open source project to this extent, through this unjustifiable holding back of information.

    Nvidia might like to take a page out of Satya Nadella's Microsoft's book. Not perfect, but a zillion miles away from Nvidia at this point.
    Because You as an "END USER" are not client of nvidia directly, Nvidia doesn't give a s**t about end users, they only cares about THEIR CLIENTS, and those are the real manufacturers of the cards: GIGABYTE, ZOTAC, PINE, etc, and the game markers themselves. And the drivers they made ARE MONETIZED since is more a SOFTWARE COMPANY rather than hardware company.

    Is no secret that our favorite closed source graphics mafia (as they are known in the AAA gaming code world) do many things with their drivers, and one of them is artificially optimize games for their hardware, for a fair price, and believe me when i say nvidia as a bussiness colective, HATES open source culture, since they cannot monetize it for now (The nvidia linux drivers exists only because there are big players with big money that uses linux as their default platform, and nvidia support directly to them, they just publishes the resulting driver, that shares most of the windows code). Also these guys invest quite an ammount of resources and money intro Research and Development for their video cards, and these will never be open source. (or at least not until the actual management (CEO included), and their open source haters (engineers) are replaced)

    Expect every genertion of nvidia chips have more and more safeguards to prevent reverse engineering and illegal reprograming of their chips (done because of open source, and to prevent sales of fake cards with reprogrammed bioses, as some chinese cards were sold some time ago).
    Last edited by stargeizer; 15 June 2018, 03:46 AM.

    Leave a comment:


  • coder
    replied
    Originally posted by stormcrow View Post
    game devs often only write for single hardware platforms, and more often than not it's Nvidia they're being paid to write for.
    Except that AMD is in PS4, XBox One, and now the upcoming (Linux-based) Atari console. The only non-PC platform Nvidia has is Nintendo Switch, which basically uses a tablet SoC - anything written for it will fly, on a PC.

    So, for cross-platform titles and those using cross-platform engines (Unity & Unreal), I see an advantage for AMD. Their biggest problem is the relative inefficiency of their hardware. If a future generation would be the "Zen" of GPUs, they could truly dominate. Of course, Nvidia will probably have stopped caring about gamers, by then.
    Last edited by coder; 14 June 2018, 11:59 PM.

    Leave a comment:


  • stormcrow
    replied
    Originally posted by Jabberwocky View Post

    AFAIK You would either infringe copyright or the firmware would not gain access to re-clocking, I don't think there's a way around it. One could physically modify the card to replace the logic that verifies signatures? If you magically got it working and Nvidia found out about it then they will prevent that method in future cards as they don't want people to own hardware, they just want people to use their hardware.

    TLDR; https://cdn.arstechnica.net/wp-conte...ia-640x424.jpg

    Edit: rhysk has a better answer, see Post #4
    Oh you can own the hardware, there's nothing they can really do to prevent you from owning and doing what ever you want to it. First Sale doctrine applies to physical goods. But thanks to our legal system in regards to copyright and the UCC you don't own the software that enables it to run. And to be fair, faik there's no fully opensource AtomBIOS nor Intel firmware system implementation from those respective vendors either. The difference is that AMD is somewhat more open source friendly allowing AtomBIOS to be more permissively used while Intel is schizophrenic at best. It's not black and white, it's shades of gray.

    I personally have a GeForce card in my desktop, because at the time AMD's FGLRX driver was... pretty terrible and I was tired of dealing with it. Nvidia's proprietary driver at least works from a gamer's point of view (for me). So when my AMD 7850 died, I had to make a choice, the AMDGPU drivers weren't a thing then and I had no confidence they'd be any better than what'd come before. So I went with Nvidia along with a lot of people, including GPGPU users. I haven't regretted that choice. Would I do the same thing now, with AMDGPU apparently proceeding at a good pace? Maybe. I honestly don't know. The reason being game devs often only write for single hardware platforms, and more often than not it's Nvidia they're being paid to write for. It becomes the path of least trouble for gamers and the Steam hardware stats tend to confirm an Nvidia bias.

    Leave a comment:


  • vegabook
    replied
    "what a ROUT!". Nouveau doesn't even come close. That's any sane person's initial reaction.

    But when we think about this, and consider the hard working and talented people behind Nouveau, the obvious conclusion is that this is indeed a rout, for Nvidia.

    How can a company be so tragically closed, and closed minded, so dismissive of its users, that it would cripple an open source project to this extent, through this unjustifiable holding back of information.

    Nvidia might like to take a page out of Satya Nadella's Microsoft's book. Not perfect, but a zillion miles away from Nvidia at this point.

    Leave a comment:

Working...
X