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.
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?
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.)
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.