Previous | Next --- Slide 77 of 78
Back to Lecture Thumbnails
mlandis

I'm curious as to what it actually means for different parts of GPUs to be optimized for a particular task. Maybe it's because I'm not familiar with hardware at a low-level, but what types of physical optimizations can you make to the way part of a processor is designed to make it a better fit for a particular task?

InfinityAxiom

NVDIA real-time RTX cards accelerate raytracing by adding dedicated "Turing RT Cores" that contain two specialized units. The first unit does bounding box tests, and the second unit does ray-triangle intersection tests. Ray tracing without hardware acceleration requires thousands of software instruction slots per ray to test successively smaller bounding boxes in the BVH structure until possibly hitting a triangle. With RTX Cards, all the work is offloaded to RT cores, allowing shaders to just do shading. (source: Ray tracing without hardware acceleration requires thousands of software instruction slots per ray to test successively smaller bounding boxes in the BVH structure until possibly hitting a triangle.)

vnambiar

Graphics cards are optimized using SIMD. Ray tracing requires branching and SIMD aren't designed to handle branching at all. If I had to guess I'm pretty sure RTX cards handle branching in hardware to get the current performance.