News Nvidia Drivers Reportedly Enable New Checkerboard Rendering on Multi-GPUs

Care to elaborate? I am not familiar with either.
Tile-based rendering was a technique used on systems that didn't have enough memory to render a complete image on-screen - such as older consoles (NES, Master System etc.) and personal computers (early PCs in text mode, Commodore 64, Sinclair TX-80, Atari 520 St etc.) where, instead of referring to a pixel, the system would refer to a 8x8 pixel tile in a tile table. This saved on RAM (because every time a tile was reused on screen you would only need to refer to its address to draw it). Of course this only worked in 2D, 3D uses a radically different way to render. Some adventurous programmers managed to emulate 3D on a tile based system, but still, it's an exception not a rule.
Checkerboard-based rendering is when you divide a screen into squares and each square is assigned to a processing unit to render. Cards from a few generation back (like the Radeon 9700) wouls actually assign 16x16 tiles to a compute unit in the GPU, and each compute unit would take care of its own tile(s) - this would become very visible when trying to flash a 9500 with a 9700's BIOS, while some had disabled compute units that this hack would enable, other were actual cut-down chips where those checker squares would remain blank on screen.
What Nvidia is trying to do is to have SLI cards process their own squares; performance could be better than using the good old alternate line rendering (because most shaders work better on a tile than on a line) or alternate frame rendering (which causes lots of microstutter) by allowing both cards to work on the same frame - this also allows better balancing because not all tiles are equal and thus the cards could dispatch tiles as fast as they can and the rest redispatched between those that are done with theirs.
 

alextheblue

Distinguished
Tile and checkerboard, two completely different things.
No. Not when referring to 3D rendering. See below.
Tile-based rendering was a technique used on systems that didn't have enough memory to render a complete image on-screen - such as older consoles (NES, Master System etc.) and personal computers (early PCs in text mode, Commodore 64, Sinclair TX-80, Atari 520 St etc.) where, instead of referring to a pixel, the system would refer to a 8x8 pixel tile in a tile table. This saved on RAM (because every time a tile was reused on screen you would only need to refer to its address to draw it). Of course this only worked in 2D, 3D uses a radically different way to render. Some adventurous programmers managed to emulate 3D on a tile based system, but still, it's an exception not a rule.
That's not what I'm referring to. PowerVR had true tile based 3D rendering decades ago. More recently various mobile chips use tiled rendering. The naming convention is new, it's a way for Nvidia to specifically refer to multi-GPU tiled rendering. But even multi-GPU tile based rendering itself isn't new. Anyone familiar with Sega arcade hardware is aware of the multi-GPU NAOMI variants (not the first NAOMI which was single GPU), which were also PowerVR based. Although you had to fully replicate VRAM... it remains to be seen if anyone can do something about that.
 
Last edited:
  • Like
Reactions: digitalgriffin
No. Not when referring to 3D rendering. See below.

That's not what I'm referring to. PowerVR had true tile based 3D rendering decades ago. More recently various mobile chips use tiled rendering. The naming convention is new, it's a way for Nvidia to specifically refer to multi-GPU tiled rendering. But even multi-GPU tile based rendering itself isn't new. Anyone familiar with Sega arcade hardware is aware of the multi-GPU NAOMI variants (not the first NAOMI which was single GPU), which were also PowerVR based. Although you had to fully replicate VRAM... it remains to be seen if anyone can do something about that.
Arcade boards? Man, you're pushing it - don't refer to stuff most people wouldn't be able to afford! Still, I wonder if this isn't a way to differentiate between a system where a GPU use in charge of the even tiles and the other of the odd tiles, but an actual checker where the GPUs could render tiles in the order most efficient to them (say, when adjacent tiles use the same resources, one GPU does them all)
 

alextheblue

Distinguished
Arcade boards? Man, you're pushing it - don't refer to stuff most people wouldn't be able to afford! Still, I wonder if this isn't a way to differentiate between a system where a GPU use in charge of the even tiles and the other of the odd tiles, but an actual checker where the GPUs could render tiles in the order most efficient to them (say, when adjacent tiles use the same resources, one GPU does them all)
Sorry, I made some assumptions and skimmed the details. PowerVR has released tiled renderers that have been used in PCs and smartphones for decades. I still own a phone with one of their designs integrated into it. So to get specific: The PVR2DC chips used in Sega's NAOMI boards are identical to the one used in the very AFFORDABLE Sega Dreamcast. This same chip is nearly identical to the ones used in CLX2-based accelerators for PC (like the Neon). So, yeah they were used in tons of affordable hardware. Not to mention all of the successors to this design. Although my original post was only about tile based rendering, my follow-up covered the fact that even multi-GPU tiled 3D rendering isn't new. That's the only reason I brought up their arcade boards (although for the record they weren't super expensive highly-custom beasts like Model 3 and earlier). They use the same PVR2DC chips to do tile based multi-GPU 3D rendering - long before it was a twinkle in Jen-Hsun Huang's eye. Hence, not new.

Side note Sega also added in a hardware T&L engine (PowerVR Elan IIRC) to the NAOMI 2, which some had claimed wasn't possible for PVR chips. I was saddened that a version of Elan wasn't put together in time for Kyro II, even if only for a higher-end variant. Their eventual software-based solution worked pretty well but it was too little too late - it wasn't released until after the demise of the Kyro II SE project. WAY too late.
 
Many cards used tiles rendering - it's used for software render too as it allows more efficient use of cache by restricting the amount of resources used at once.
This is the first time something like tiled rendering is publicly used on stuff like SLI cards though - maybe it was used before with other systems. The name change hints at something a bit more intricate though, as I said I wouldn't be surprised if it were using in out of order rendering instead of the much more prevalent even/odd tile distribution.
 
  • Like
Reactions: digitalgriffin
Many cards used tiles rendering - it's used for software render too as it allows more efficient use of cache by restricting the amount of resources used at once.
This is the first time something like tiled rendering is publicly used on stuff like SLI cards though - maybe it was used before with other systems. The name change hints at something a bit more intricate though, as I said I wouldn't be surprised if it were using in out of order rendering instead of the much more prevalent even/odd tile distribution.
Were getting into the minutiae of internal designs. The term is a gwneral one without clear deliniation and needs to be referred with historical context. PowerVR (i owned a m3d) used a tiling architecture which lowered required resources when rendering a subsection (tile) on the screen.

Today we have things like early discard (culling) of triangles that fall outside the render tile to allow greater efficiency and lower resource use. Technically speaking a core can render an entire tile with the full scene. But it wouldn't be as efficient.

That said the previous poster is correct as it would lend itself to a more even distribution between gpu cores. And is more efficient then alt line rendering because compute units do better on squares.

But it presents many of the same issues as most sli and in some cases makes them worse. For example a depth of field blur is based on a z buffer distance and then applying a gaussian blur. Those objects outside the target z distance require bigger gaussian blurs. But the larger the blur the more likely that data point will exist in an adjoining gpu memory block.

Memory coherency sync issues are what make sli / crossfire a pain. And i believe chiplettes will address many of these issues as well as add support for additional add on capabilities like a ray trace intersection hit test chip for global illumination.

I believe this driver release is an indication that nvidia is indeed researching chiplettes aggressively because this kind of rendering technique is exactly how chiplettes will work.
 

alextheblue

Distinguished
Many cards used tiles rendering - it's used for software render too as it allows more efficient use of cache by restricting the amount of resources used at once.
This is the first time something like tiled rendering is publicly used on stuff like SLI cards though - maybe it was used before with other systems. The name change hints at something a bit more intricate though, as I said I wouldn't be surprised if it were using in out of order rendering instead of the much more prevalent even/odd tile distribution.
To my knowledge this is the first time Nvidia hardware would be using 3D tiled rendering, which was my original point. Also, NAOMI 2 hardware was very public. I played on them at an arcade. Sorry, I had to. Lest you think I'm ragging on Nvidia too much, kudos to them for being smart enough to implement it first on a multi-GPU desktop PC setup. Traditional SLI (not counting 3dfx's SLI) and Crossfire was never really great, and with modern APIs and games it's just terrible. Moving forward for both chiplet and separate card multi-GPU setups, tiled rendering is the best way IMO.

I don't suspect there's anything special about their "checkerboard" rendering. One card gets odd, the other gets even. When you add more than two GPUs/chiplets, then you split it up more. It's not novel, but they did beat slow-arse AMD to it - despite AMD beating even Intel to chiplets on the CPU front. AMD has a couple of competitive GPUs now, but they're still slackers on graphics lately.