As someone who analyzes GPUs for a living, one of the more vexing things in my life has been NVIDIA’s Maxwell architecture. The company’s 28nm refresh offered a huge performance-per-watt increase for only a modest die size increase, essentially allowing NVIDIA to offer a full generation’s performance improvement without a corresponding manufacturing improvement. We’ve had architectural updates on the same node before, but never anything quite like Maxwell.

The vexing aspect to me has been that while NVIDIA shared some details about how they improved Maxwell’s efficiency over Kepler, they have never disclosed all of the major improvements under the hood. We know, for example, that Maxwell implemented a significantly altered SM structure that was easier to reach peak utilization on, and thanks to its partitioning wasted much less power on interconnects. We also know that NVIDIA significantly increased the L2 cache size and did a number of low-level (transistor level) optimizations to the design. But NVIDIA has also held back information – the technical advantages that are their secret sauce – so I’ve never had a complete picture of how Maxwell compares to Kepler.

For a while now, a number of people have suspected that one of the ingredients of that secret sauce was that NVIDIA had applied some mobile power efficiency technologies to Maxwell. It was, after all, their original mobile-first GPU architecture, and now we have some data to back that up. Friend of AnandTech and all around tech guru David Kanter of Real World Tech has gone digging through Maxwell/Pascal, and in an article & video published this morning, he outlines how he has uncovered very convincing evidence that NVIDIA implemented a tile based rendering system with Maxwell.

In short, by playing around with some DirectX code specifically designed to look at triangle rasterization, he has come up with some solid evidence that NVIDIA’s handling of tringles has significantly changed since Kepler, and that their current method of triangle handling is consistent with a tile based renderer.


NVIDIA Maxwell Architecture Rasterization Tiling Pattern (Image Courtesy: Real World Tech)

Tile based rendering is something we’ve seen for some time in the mobile space, with both Imagination PowerVR and ARM Mali implementing it. The significance of tiling is that by splitting a scene up into tiles, tiles can be rasterized piece by piece by the GPU almost entirely on die, as opposed to the more memory (and power) intensive process of rasterizing the entire frame at once via immediate mode rendering. The trade-off with tiling, and why it’s a bit surprising to see it here, is that the PC legacy is immediate mode rendering, and this is still how most applications expect PC GPUs to work. So to implement tile based rasterization on Maxwell means that NVIDIA has found a practical means to overcome the drawbacks of the method and the potential compatibility issues.

In any case, Real Word Tech’s article goes into greater detail about what’s going on, so I won’t spoil it further. But with this information in hand, we now have a more complete picture of how Maxwell (and Pascal) work, and consequently how NVIDIA was able to improve over Kepler by so much. Finally, at this point in time Real World Tech believes that NVIDIA is the only PC GPU manufacturer to use tile based rasterization, which also helps to explain some of NVIDIA’s current advantages over Intel’s and AMD’s GPU architectures, and gives us an idea of what we may see them do in the future.

Source: Real World Tech

Comments Locked

191 Comments

View All Comments

  • tuxRoller - Friday, September 9, 2016 - link

    Yes, that is true, but we're talking about what the hardware itself is actually doing vs. the guarantees the driver is able to make to the developer.
  • versesuvius - Thursday, August 4, 2016 - link

    This is very intriguing, while stinking to high heaven at the same time. So, is this tiling done in hardware or software? If the technique is implemented in hardware and enshrined in patents then why should Nvidia keep it a secret and not even make the slightest hints about it? Mobile chip makers have not kept it as a secret, so why should Nvidia? Other than that if it is implemented in hardware then why Microsoft should even think about tiling in the first place? Microsoft is not a hardware company. Maybe someday it could force hardware changes but even then the changes or improvements had to be implemented by hardware companies not Microsoft, a software company. So, the fact that Microsoft has even considered it points to tricks in software. Given that it all seems more likely that tiling is done by software, namely Nvidia drivers (which are possibly in cahoots with other drivers). After all it sounds like the old DOS way of doing games and graphics, i.e. preparing the entire page (by tiles or all at once) and then displaying it. Also, it is just plain foolish to think that AMD did not have a clue about this method. After all, AMD would be playing a loosing game for ever and eternity. No matter how good its design was and would be in the future, Nvidia would have a lead over it. So, why play the game at all?
  • Scali - Thursday, August 4, 2016 - link

    Lolwat? Why are some people so hung up on 'software'? Sounds like the exact same argument I heard before... "nVidia does async compute in software".
    Total nonsense. As if you could perform tiling in software efficiently enough to reach the performance levels that nVidia does (hint: Pascal-based GPUs are by far the fastest GPUs on the market. Heck, even if they did do it in software, who cares?).

    I also don't see why you are pulling Microsoft into this. What point are you even trying to make? Maxwell and Pascal-based cards are fully backward compatible with earlier versions of Direct3D and OpenGL, which obviously could not have had any specific built-in functionality to cater for this type of rendering. Ergo, nVidia's approach to rendering is fully transparent at the API level.

    AMD most probably knows enough about the theory of tile-based rendering. Just as they probably know all the theory behind Intel's CPUs, hyperthreading and all. The problem is translating that to an actual chip with good performance.
  • versesuvius - Thursday, August 4, 2016 - link

    When Nvidia leaves a void as big as that, someone is bound to fill it with whatever one chooses. But why are you pulling the "compute" into this? Tiling is about games and rendering to display. Nividia chips have never been any better than AMD in "compute", async or not async. That is why the Linux community always prefers AMD over Nividia every time it has anything to offer in a particular class of hardware. The point is that if it is in hardware why keep quiet about it? Nvidia has never been shy of advertising its technology and its hardware, so why keep quite about this one for over two generations of hardware? Isn't it because it is nonexistent in the hardware? I am not pulling Microsoft into this. Microsoft was in it already, and just long enough, while not ever making any claims to being a hardware company, except slapping their logo on mouse and keyboards, or ever declaring any intention of turning into one. You don't care? So what! That is your privilege. But I think Nvidia should make things regrading this tiling business clear very soon, or a lot of people will start to care very strongly about this. Intel is an entirely different matter. Their business is not driven by drivers, just hardware.
  • Scali - Friday, August 5, 2016 - link

    "When Nvidia leaves a void as big as that"

    What are you even talking about?

    "But why are you pulling the "compute" into this?"

    Because it's another instance of broken AMD fanboy rhetoric.

    "Nividia chips have never been any better than AMD in "compute", async or not async."

    You're funny. Back when NVidia launched the GeForce 8800, AMD had no answer whatsoever for a long time.
    It wasn't until years later, when OpenCL finally arrived, that AMD even became an option for compute.

    "every time it has anything to offer in a particular class of hardware."

    Sadly it's been a while since AMD has offered anything in the higher classes of hardware.

    "I am not pulling Microsoft into this."

    Yes you are, you said: "So, the fact that Microsoft has even considered it points to tricks in software."

    What are you even talking about here? What did Microsoft even consider?

    "But I think Nvidia should make things regrading this tiling business clear very soon"

    Why? It works, it performs better than any alternative on the market.
    That's not exactly a good reason for nVidia to share all their trade secrets, is it?

    "or a lot of people will start to care very strongly about this."

    Why would they care? You're the only one here who's crying foul, and it sounds like you're a jealous AMD fanboy who can't take it that nVidia does something smart and efficient that AMD can't do. So somehow you have to make nVidia look evil.
    Everyone else here seems to be perfectly happy with the fact that nVidia is doing something different, and that it apparently works very well in practice.
  • versesuvius - Friday, August 5, 2016 - link

    Now it is a trade secret? Fixing the market is a trade secret? Making roads that only one type of car can run on is a trade secret? That must be the greatest trade secret of all. It is no secret that AMD have much more longevity than Nvidia. They may not surpass Nvidia at first but they are good for far longer with new games and OS revisions and updates than Nvidia cards ever are. Fanboy all you like. Nvidia will have to clear this up sooner or later, or answer for it eventually.
  • Scali - Friday, August 5, 2016 - link

    What are you even talking about? Tiled rendering is completely transparent to the API and applications. It is just a slightly different approach to rendering, which can have certain benefits for efficiency.
    Too many angry brainwashed AMD zombies such as yourself, littering up every discussion online.
  • versesuvius - Friday, August 5, 2016 - link

    Now it is transparent? Upfront and before anything Ryan Smith says that Maxwell and Pascal have been the greatest mystery of his career and you say it is transparent? Then why is Nvidia so quite about it? Not a word about this transparent technology that gives Nvidia its advantage only on the Microsoft OS and nowhere else, and surprise, surprise that is where the bulk of Nvidia's profits come from. Nvidia can not pretend honesty and transparency in this case. The only thing that can possibly compel Nividia to keep quite about this is the existence of another partner in the success of this so called "tiling technique". Nvidia must come clean about this tiling business. There is no way around it.
  • Scali - Friday, August 5, 2016 - link

    Transparent to the API and applications, as in, the GPU does exactly the same as any other GPU, as far as the API and application are concerned.
    Also, what's your problem?
    And on Microsoft's OS, nowhere else... say what? Nothing you say even makes sense.
  • versesuvius - Saturday, August 6, 2016 - link

    Which API? DirectX? Windows API? Nvidia drivers, which granted are not strictly APIs, but can return NULL or wait or deliver or call into another API. In fact what you are saying does not make any sense. You say Nvidia has found a way that makes tiling possible without the programmer knowing anything about it. Fine. Where is it? In the hardware? The answer is a resounding NO. In the software? You don't know. Does it cooperate with other parts of the system? You don't know. And you call the sum of your blissful ignorance, Nvidia's trade secret, or transparent API. That is not nearly enough. Your attitude only helps Nvidia to get away with what is clearly another of its unsavory practices. Well, pay and be happy ever after. But Nvidia will have to answer for it sooner or later.

Log in

Don't have an account? Sign up now