Live data from Hacker News

The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

anandtech.com

31–40 of 54 posts

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#31
post #24

Earlier quoted context omitted.

> The switching isn't free. It absolutely is, on current GPUs. Think of it like a larger-scale version of SMT (Intel's hyperthreading). GPUs are able to do this because they execute instructions in-order and do not need to track thousands of instructions per thread.

It's more complex than that. Switching warps thrashes your caches. There is definitely a cost associated with it.

Well, yeah. If you are memory bandwidth-constrained it's a bad idea to go off-chip.

But for ray-tracing, what does it really matter? We are already assuming that you will wait a full memory fetch cycle to get the next node's child AABBs and child indices. The warps will do their intersection test on the data they just read and fire off the next read. Each thread's hot context should fit in under a cache line, since it's basically just a single ray to keep track of.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#32

So the new top-end Nvidia cards will have dedicated ray tracing cores. However, real-time ray tracing is still so computationally expensive that games can only implement a hybrid form of it whereby ray tracing is applied for a certain effect or single object, and plain old rasterization is used for everything else. I applaud NV for stepping up and delivering something in a new direction. Just think- how long has it b…

Even if PUBG would support ray tracing, most users would probably turn it off, because being able to spot things in competitive games is more important than visuals. Good players even turn off shadows and post processing effects in order to get an advantage over players who dont. Ray tracing is a nice feature for single player games or multiplayer games that are not competitive (e.g. PvE games like Diablo).

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#33

Why are RT cores so different than normal shader cores? What instructions/memory fetch does a ray trace operation do that couldn't be implemented as an added instruction set on the shader cores to navigate the volume tree? From the article, the best I can see is the following, but can't that be solved with microcode or as an extra rendering pipeline stage? > In comparison, traversing the BVH in shaders would require…

RT cores are different because raytracing wants AoS (array of structures) rather than SoA (structure of arrays).

Let's look at the ALU perspective. Normal shader cores are essentially SoA: all ALU operations operate on 32 (NVidia) or 64 (AMD) items / threads at a time.

Implementing a ray-box intersection requires 6 multiply-adds to determine the intersection-time of the ray with each box plane, plus a bunch of comparisons to determine whether and when you hit the box. So if you're walking a standard (binary) BVH, you need 12+x ALU instructions (roughly equal to cycles) to handle one step of a wave / warp.

The picture is still fairly rosy when you start out your BVH walk, but then you get ray divergence. Some of your rays may finish early, some rays may want to do ray-triangle intersection instead. This means that only some of the SIMD lanes will be active and your ALU utilization drops. You're using the same number of cycles, but get much lower bang / buck.

In a dedicated RT core, you can operate one ray at a time instead of one instruction at a time. So you can do all multiply-adds for intersecting a single ray with both boxes in your BVH node in a single cycle, and then follow up with the comparisons in the remainder of your pipeline.

The upshot is that when rays diverge, you can still fully utilize the ALU units in your ray-box intersection pipeline -- it simply takes you fewer cycles to process all rays in a warp.

A similar argument applies to the memory system as well -- due to ray divergence, you obviously want to store your BVH nodes as AoS. A BVH node requires 12 floats to store the dimensions of two boxes, plus some space for child node links, which makes 64 bytes a natural node structure size, and you want to keep it contiguously in memory so that loading one node means loading (part of) one cacheline. But this makes it difficult to get the data through a normal shader core's load unit, which is optimized for SoA.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#34
post #21
post #12

The Turing architecture is also used in Quadro RTX cards, and those have a ridiculous amount of VRAM. Is there any professional/computational use for these RT cores beyond raytracing? One case that comes to mind is perhaps raytracing acoustics, and although interesting it's technically still raytracing. As far as gaming is concerned, personally I'd love if the RT cores could contribute—however inefficiently—to render…

> It's annoying that 50% of the die is allocated to hardware that requires feature-specific implementations. That's the future. While we may be able to cram more transistors onto "7nm" chips, only a tiny fraction of the chip area can be powered on because leakage currents are no longer decreasing with transistor size [1]. Hence Apple's Neural Engine and Nvidia's RTX. You have to waste the extra transistor count on so…

The RT and Tensor cores are primarily intended to power raytracing and DLSS, respectively. Both of those features will be used in conjunction with traditional shading/compute units, so the entire die is utilized at once, at least at a high level.

It would be really interesting to know the power consumption of a Turing card maxing out just its shading units, versus full utilization with RTX/DLSS.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#35
post #12

The Turing architecture is also used in Quadro RTX cards, and those have a ridiculous amount of VRAM. Is there any professional/computational use for these RT cores beyond raytracing? One case that comes to mind is perhaps raytracing acoustics, and although interesting it's technically still raytracing. As far as gaming is concerned, personally I'd love if the RT cores could contribute—however inefficiently—to render…

The whitepaper brings up physics simulation and occlusion/visibility testing as possible non-raytracing applications of the RT hardware, plus acoustic simulation as you said.

Page 30: https://www.nvidia.com/content/dam/en-zz/Solutions/design-vi...

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#36
Seems to me like ray-traced rendering provides a feasible path to foveated rendering for VR, meaning much better performance for VR scenes at high resolutions. This would be a big deal for VR developers, since they don't have to do unlikely amounts of magic to implement this. If NVIDIA is able to drag everyone along, they will get the hardware for this without making any huge strategic moves on their own part.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#37
post #22
post #11

Earlier quoted context omitted.

I was under the impression from the initial coverage that they were actually getting something like 1 to 2 rays per pixel per frame. Perhaps even less. From there they were using some sort of smoothing and/or temporal anti-aliasing to gather the data from multiple frames to get decent quality out of it. Or are you proposing how many raise they would NEED to be able to do real time full raytracing? By the time we have…

Why does ray tracing require more than 1 ray per pixel anyway?

Due to noise and aliasing. If multiple features (edges, materials etc) cover a single pixel, you usually get aliasing. If you do random sampling (of reflections, lights, whatever) you get noise.

For anti-aliasing you'll usually want at least on the order of 10 rays per pixel for a nice result. If you do random sampling, you quickly need 100 to 1000 rays per pixel to get an acceptable noise level.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#38
post #22
post #11

Earlier quoted context omitted.

I was under the impression from the initial coverage that they were actually getting something like 1 to 2 rays per pixel per frame. Perhaps even less. From there they were using some sort of smoothing and/or temporal anti-aliasing to gather the data from multiple frames to get decent quality out of it. Or are you proposing how many raise they would NEED to be able to do real time full raytracing? By the time we have…

Why does ray tracing require more than 1 ray per pixel anyway?

It's a stochastic process and it needs many samples per bounce. Basically, unless the surfaces are perfect mirrors, each angle of reflection is a probability function. Look for Monte Carlo methods for more information.

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#39
post #12

The Turing architecture is also used in Quadro RTX cards, and those have a ridiculous amount of VRAM. Is there any professional/computational use for these RT cores beyond raytracing? One case that comes to mind is perhaps raytracing acoustics, and although interesting it's technically still raytracing. As far as gaming is concerned, personally I'd love if the RT cores could contribute—however inefficiently—to render…

> It's annoying that 50% of the die is allocated to hardware

Source on 50%?

Re: The Nvidia Turing GPU Architecture Deep Dive: Prelude to GeForce RTX

#40
post #13

The thing that strikes me with the RTX announcement is a general point about how important identifying useful intermediate steps are to bringing about new paradigms . Unless a technological breakthrough is just around the corner, or you have the resources to push it forward (Space Race / Manhattan Project), it’s better to spend your energy identifying useful intermediate steps that you can offer to the market to fund…

Toyota is just as far ahead as Tesla. Electric cars isn't better than hydrogen. Just different. And Toyota can sell 1000 cars and have less problems than one Tesla.

Electric cars are objectively superior to hydrogen vehicles in pretty much every metric that matters.

The only ones remaining who want hydrogen are legacy manufacturers and energy companies, since it guarantees them a seat at the table (hydrogen infrastructure would be hard, expensive, and large)

Meanwhile almost everyone has 220v electricity to their house.

Post reply on HN