The NVIDIA GeForce RTX 2080 Ti & RTX 2080 Founders Edition Review: Foundations For A Ray Traced Future
by Nate Oh on September 19, 2018 5:15 PM EST- Posted in
- GPUs
- Raytrace
- GeForce
- NVIDIA
- DirectX Raytracing
- Turing
- GeForce RTX
The RTX Recap: A Brief Overview of the Turing RTX Platform
Overall, NVIDIA’s grand vision for real-time, hybridized raytracing graphics means that they needed to make significant architectural investments into future GPUs. The very nature of the operations required for ray tracing means that they don’t map to traditional SIMT execution especially well, and while this doesn’t preclude GPU raytracing via traditional GPU compute, it does end up doing so relatively inefficiently. Which means that of the many architectural changes in Turing, a lot of them have gone into solving the raytracing problem – some of which exclusively so.
To that end, on the ray tracing front Turing introduces two new kinds of hardware units that were not present on its Pascal predecessor: RT cores and Tensor cores. The former is pretty much exactly what the name says on the tin, with RT cores accelerating the process of tracing rays, and all the new algorithms involved in that. Meanwhile the tensor cores are technically not related to the raytracing process itself, however they play a key part in making raytracing rendering viable, along with powering some other features being rolled out with the GeForce RTX series.
Starting with the RT cores, these are perhaps NVIDIA’s biggest innovation – efficient raytracing is a legitimately hard problem – however for that reason they’re also the piece of the puzzle that NVIDIA likes talking about the least. The company isn’t being entirely mum, thankfully. But we really only have a high level overview of what they do, with the secret sauce being very much secret. How NVIDIA ever solved the coherence problems that dog normal raytracing methods, they aren’t saying.
At a high level then, the RT cores can essentially be considered a fixed-function block that is designed specifically to accelerate Bounding Volume Hierarchy (BVH) searches. BVH is a tree-like structure used to store polygon information for raytracing, and it’s used here because it’s an innately efficient means of testing ray intersection. Specifically, by continuously subdividing a scene through ever-smaller bounding boxes, it becomes possible to identify the polygon(s) a ray intersects with in only a fraction of the time it would take to otherwise test all polygons.
NVIDIA’s RT cores then implement a hyper-optimized version of this process. What precisely that entails is NVIDIA’s secret sauce – in particular the how NVIDIA came to determine the best BVH variation for hardware acceleration – but in the end the RT cores are designed very specifically to accelerate this process. The end product is a collection of two distinct hardware blocks that constantly iterate through bounding box or polygon checks respectively to test intersection, to the tune of billions of rays per second and many times that number in individual tests. All told, NVIDIA claims that the fastest Turing parts, based on the TU102 GPU, can handle upwards of 10 billion ray intersections per second (10 GigaRays/second), ten-times what Pascal can do if it follows the same process using its shaders.
NVIDIA has not disclosed the size of an individual RT core, but they’re thought to be rather large. Turing implements just one RT core per SM, which means that even the massive TU102 GPU in the RTX 2080 Ti only has 72 of the units. Furthermore because the RT cores are part of the SM, they’re tightly couple to the SMs in terms of both performance and core counts. As NVIDIA scales down Turing for smaller GPUs by using a smaller number of SMs, the number of RT cores and resulting raytracing performance scale down with it as well. So NVIDIA always maintains the same ratio of SM resources (though chip designs can very elsewhere).
Along with developing a means to more efficiently test ray intersections, the other part of the formula for raytracing success in NVIDIA’s book is to eliminate as much of that work as possible. NVIDIA’s RT cores are comparatively fast, but even so, ray interaction testing is still moderately expensive. As a result, NVIDIA has turned to their tensor cores to carry them the rest of the way, allowing a moderate number of rays to still be sufficient for high-quality images.
In a nutshell, raytracing normally requires casting many rays from each and every pixel in a screen. This is necessary because it takes a large number of rays per pixel to generate the “clean” look of a fully rendered image. Conversely if you test too few rays, you end up with a “noisy” image where there’s significant discontinuity between pixels because there haven’t been enough rays casted to resolve the finer details. But since NVIDIA can’t actually test that many rays in real time, they’re doing the next-best thing and faking it, using neural networks to clean up an image and make it look more detailed than it actually is (or at least, started out at).
To do this, NVIDIA is tapping their tensor cores. These cores were first introduced in NVIDIA’s server-only Volta architecture, and can be thought of as a CUDA core on steroids. Fundamentally they’re just a much larger collection of ALUs inside a single core, with much of their flexibility stripped away. So instead of getting the highly flexible CUDA core, you end up with a massive matrix multiplication machine that is incredibly optimized for processing thousands of values at once (in what’s called a tensor operation). Turing’s tensor cores, in turn, double down on what Volta started by supporting newer, lower precision methods than the original that in certain cases can deliver even better performance while still offering sufficient accuracy.
As for how this applies to ray tracing, the strength of tensor cores is that tensor operations map extremely well to neural network inferencing. This means that NVIDIA can use the cores to run neural networks which will perform additional rendering tasks. in this case a neural network denoising filter is used to clean up the noisy raytraced image in a fraction of the time (and with a fraction of the resources) it would take to actually test the necessary number of rays.
No Denoising vs. Denoising in Raytracing
The denoising filter itself is essentially an image resizing filter on steroids, and can (usually) produce a similar quality image as brute force ray tracing by algorithmically guessing what details should be present among the noise. However getting it to perform well means that it needs to be trained, and thus it’s not a generic solution. Rather developers need to take part in the process, training a neural network based on high quality fully rendered images from their game.
Overall there are 8 tensor cores in every SM, so like the RT cores, they are tightly coupled with NVIDIA’s individual processor blocks. Furthermore this means tensor performance scales down with smaller GPUs (smaller SM counts) very well. So NVIDIA always has the same ratio of tensor cores to RT cores to handle what the RT cores coarsely spit out.
Deep Learning Super Sampling (DLSS)
Now with all of that said, unlike the RT cores, the tensor cores are not fixed function hardware in a traditional sense. They’re quite rigid in their abilities, but they are programmable none the less. And for their part, NVIDIA wants to see just how many different fields/tasks that they can apply their extensive neural network and AI hardware to.
Games of course don’t fall under the umbrella of traditional neural network tasks, as these networks lean towards consuming and analyzing images rather than creating them. None the less, along with denoising the output of their RT cores, NVIDIA’s other big gaming use case for their tensor cores is what they’re calling Deep Learning Super Sampling (DLSS).
DLSS follows the same principle as denoising – how can post-processing be used to clean up an image – but rather than removing noise, it’s about restoring detail. Specifically, how to approximate the image quality benefits of anti-aliasing – itself a roundabout way of rendering at a higher resolution – without the high cost of actually doing the work. When all goes right, according to NVIDIA the result is an image comparable to an anti-aliased image without the high cost.
Under the hood, the way this works is up to the developers, in part because they’re deciding how much work they want to do with regular rendering versus DLSS upscaling. In the standard mode, DLSS renders at a lower input sample count – typically 2x less but may depend on the game – and then infers a result, which at target resolution is similar quality to a Temporal Anti-Aliasing (TAA) result. A DLSS 2X mode exists, where the input is rendered at the final target resolution and then combined with a larger DLSS network. TAA is arguably not a very high bar to set – it’s also a hack of sorts that seeks to avoid doing real overdrawing in favor of post-processing – however NVIDIA is setting out to resolve some of TAA’s traditional inadequacies with DLSS, particularly blurring.
Now it should be noted that DLSS has to be trained per-game; it isn’t a one-size-fits all solution. This is done in order to apply a unique neutral network that’s appropriate for the game at-hand. In this case the neural networks are trained using 64x SSAA images, giving the networks a very high quality baseline to work against.
None the less, of NVIDIA’s two major gaming use cases for the tensor cores, DLSS is by far the more easily implemented. Developers need only to do some basic work to add NVIDIA’s NGX API calls to a game – essentially adding DLSS as a post-processing stage – and NVIDIA will do the rest as far as neural network training is concerned. So DLSS support will be coming out of the gate very quickly, while raytracing (and especially meaningful raytracing) utilization will take much longer.
In sum, then the upcoming game support aligns with the following table.
Planned NVIDIA Turing Feature Support for Games | |||||
Game | Real Time Raytracing | Deep Learning Supersampling (DLSS) | Turing Advanced Shading | ||
Ark: Survival Evolved | Yes | ||||
Assetto Corsa Competizione | Yes | ||||
Atomic Heart | Yes | Yes | |||
Battlefield V | Yes | ||||
Control | Yes | ||||
Dauntless | Yes | ||||
Darksiders III | Yes | ||||
Deliver Us The Moon: Fortuna | Yes | ||||
Enlisted | Yes | ||||
Fear The Wolves | Yes | ||||
Final Fantasy XV | Yes | ||||
Fractured Lands | Yes | ||||
Hellblade: Senua's Sacrifice | Yes | ||||
Hitman 2 | Yes | ||||
In Death | Yes | ||||
Islands of Nyne | Yes | ||||
Justice | Yes | Yes | |||
JX3 | Yes | Yes | |||
KINETIK | Yes | ||||
MechWarrior 5: Mercenaries | Yes | Yes | |||
Metro Exodus | Yes | ||||
Outpost Zero | Yes | ||||
Overkill's The Walking Dead | Yes | ||||
PlayerUnknown Battlegrounds | Yes | ||||
ProjectDH | Yes | ||||
Remnant: From the Ashes | Yes | ||||
SCUM | Yes | ||||
Serious Sam 4: Planet Badass | Yes | ||||
Shadow of the Tomb Raider | Yes | ||||
Stormdivers | Yes | ||||
The Forge Arena | Yes | ||||
We Happy Few | Yes | ||||
Wolfenstein II | Yes |
337 Comments
View All Comments
Bp_968 - Sunday, December 2, 2018 - link
Even though the review is older and this comment is a few months old I just wanted to jump in and say "hah, look, eddman was right!" Now that the Titan RTX leaks are showing up. Lol. They didn't even wait for supply to stabilize on the 2080ti before dropping the titan.Plus, if the 2080 replaced the 1080ti then why is it more expensive and no faster? That would be a first even for Nvidia..
PeachNCream - Thursday, September 20, 2018 - link
The model numbers aren't that significant. NVIDIA could just have easily released a 2080, a 2070, and a 2060 by putting different labels on the boxes of the 2080 Ti, the 2080, and the 2070 for instance. The Ti, the Titan, all of those are long standing marketing identities that buyers now automatically associate with a certain relative scale of performance among other GPUs of the same generation. NVIDIA can play upon buyer expectations by releasing various products to fill those expectations in the way that best advances the company's interest. Any company with enough brand recognition can easily do the same. Consider Intel's long-running i-series CPU numbering. The fact that something labeled as a Ti came out at a certain time isn't an example of technological development, but a way of meeting customer expectations in reflection of the MSRP. We would have balked much more at $1200 for the exact same product if it was labeled as a plain vanilla 2080 and the current vanilla 2080 was branded as a 2070. Instead, we say, "Well, the 2080 Ti is really expensive, but at least its a Ti so that makes it a little bit more reasonable."eddman - Thursday, September 20, 2018 - link
Model numbers are significant in the way that they point out the models in the same successive line up. That's the entire point of them.I and a lot of people are not in this "we" you talk about. Again, nvidia themselves compare it to 1080 Ti every chance they get, so I do not see why I should in any way think its price is "reasonable".
That's not how past generational leaps worked, even for 8800 GTX. We got massive performance gains AND usually new rendering features at similar MSRPs or maybe a bit higher. The difference this time is that AMD has left the building, for now.
PeachNCream - Thursday, September 20, 2018 - link
Don't misunderstand me. I'm not implying that the price is okay or that anyone should find it reasonable to stomach a $1200 MSRP for a mere graphics card. I also agree that part of the pricing problem is due to an absence of credible competition from AMD. I'm just arguing that the people in the NVIDIA marketing department may justify the price in part by slapping a Ti label on the box so consumers are less likely to balk during checkout. The reality is that we're getting a step sideways in performance for a noteworthy increase in TDP due to the addition of capabilities that may or may not actually add much value because said features are too demanding to play nicely at high resolutions and because there are not indications that the software side will move to take advantage of said features. At best, the addition of the hardware won't be very compelling until the next generation of GPUs after Turing when its likely that performance will pick up a bit.Then again, who am I to talk? I play PC games on a laptop with an HD 4000 infrequently and end up mostly gaming on my ancient dual core Kitkat era phone that I've been keeping as a cheap wireless mini tablet. To me, PC gaming became an overly pricey sink of my limited, single parent free time. I'd rather bank my spare money in something that yields interest over time than throw it into gaming hardware that's obsolete in a matter of a few years. That and my kids me to be both of their parents these days since that worthless ex of mine schlepped off to marry some woman in Canada. *grumble*
tamalero - Thursday, September 20, 2018 - link
More like that they are pricing their high end cards like they are flagship cards.The 2080 Founders seems identical in price to a 1080TI. That is unacceptable. Specially when they are almost identical in performance (going slower in most games by a few small points).
They(Nvidia) just want to clear the huge build up of PASCAL cards.. by charging insanity for those who are willing to claim to be "gamers" with money. period.
tamalero - Thursday, September 20, 2018 - link
"You, like so many others don't get it. nVidia has re-worked their product lines. Didn't you notice how the Ti came out at the same time as the 2080?"What the hell does this has to do? Nothing for the consumer again.
tamalero - Thursday, September 20, 2018 - link
"Die size is not irrelevant to consumers because increased die size means increased cost to manufacture. Increased cost to manufacture means a pressure for higher prices. The question is what you get in return for those higher prices."
You're repeating the same.
Die size means NOTHING to a consumer. It means something for the manufacturer because it costs THEM.
If the die doesnt benefit anything at all (Fermi) compared to smaller dies that offer almost the same performance (Pascal). Why would the consumer have to pay MORE for LESS?
New tech is nothing if there is nothing to show. And there is NOTHING to show right now.
by the time raytracing becomes really viable, the new generation of cards will be out.
Spunjji - Friday, September 21, 2018 - link
This x1000. These cards are a necessary step towards getting the technology out there, but I'm thoroughly unconvinced that it is a good idea for anyone to buy them. The sacrifice in die area was too great, for far too little benefit. Given the strong indications that 1080p ~45fps is where real-time raytracing will be at right now, I just don't care. They sold me on high-resolution and high-framerate because those actually affect how much enjoyment I get from my games. I'm not interested in that rug being pulled from under my feet *and* paying damn near double price for the privilege.Morawka - Wednesday, September 19, 2018 - link
Doesn't TSMC charge their customers by the wafer nowadays?PopinFRESH007 - Wednesday, September 19, 2018 - link
how does that matter? Are you suggesting that magically makes the die size irrelevant? If you have a 300mm wafer and you double the die size, you also halve the number of die per wafer. This would also ignore yield. A larger die is more costly to produce because you get fewer die per wafer and increase the probability of having a defect within a die.