AMD working on their own ray tracing technology
Via a new patent spotted this week online, it’s been revealed that AMD is pursuing a powerful new innovation in lighting technology for their GPUs.
The patent breaks down the designs and overall goals of this new technology, and is revealing an interesting approach AMD is taking to rival Nvidia. AMD has been pushing back against Intel, AMD is even considered “tough competition”, so it looks like it’s Nvidia’s turn. With the impending launch of the PS5 and the Scarlett Xbox, gamers are expecting vastly improved framerates and quality of visuals in the next console generation. And it looks like AMD is gearing up to deliver just that.
It’s a very in-depth process involving three main components, all built around a core pipeline that splits up the processing load to dedicated hardware. There’s a shader unit that handles actually applying shading and embellishing on the lighting effects. That’s backed up a texture processor suite that handles all of the main processing, and finally a cache to store and organize data as it’s processed.
The texture processor (TP) is an incredibly complex mix of multiple parts that can push a rather surprising amount of throughput. As data is pumped into the TP for a scene, a handful of hardware and software tools go to work assigning locations in the scene for textures and shading, then push that data into a filter pipeline that carries the output to the stage that handles drawing the actual light rays.
Ray Tracing works by mapping the paths of lighting rays in a scene using a technique similar to texture sampling, and this offers increased realism and detail, although it’s typically a rather intensive process. There’s also some issues with throughput and overhead that come along with a hardware-based solution. This is why AMD is developing the new technology as a hybrid of both software and hardware.
I’ll let AMD speak for themselves on the details though. Check down below for the rundown:
The hybrid approach (doing fixed function acceleration for a single node of the BVH tree and using a shader unit to schedule the processing) addresses the issues with solely hardware based and/or solely software based solutions. Flexibility is preserved since the shader unit can still control the overall calculation and can bypass the fixed function hardware where needed and still get the performance advantage of the fixed function hardware. In addition, by utilizing the texture processor infrastructure, large buffers for ray storage and BVH caching are eliminated that are typically required in a hardware raytracing solution as the existing VGPRs and texture cache can be used in its place, which substantially saves area and complexity of the hardware solution.
The system includes a shader, texture processor (TP) and cache, which are interconnected. The TP includes a texture address unit (TA), a texture cache processor (TCP), a filter pipeline unit and a ray intersection engine. The shader sends a texture instruction which contains ray data and a pointer to a bounded volume hierarchy (BVH) node to the TA. The TCP uses an address provided by the TA to fetch BVH node data from the cache. The ray intersection engine performs ray-BVH node type intersection testing using the ray data and the BVH node data. The intersection testing results and indications for BVH traversal are returned to the shader via a texture data return path. The shader reviews the intersection results and the indications to decide how to traverse to the next BVH node.
A texture processor based ray tracing acceleration method and system are described herein. A fixed function BVH intersection testing and traversal (a common and expensive operation in ray tracers) logic is implemented on texture processors. This enables the performance and power efficiency of the ray tracing to be substantially improved without expanding high area and effort costs. High bandwidth paths within the texture processor and shader units that are used for texture processing are reused for BVH intersection testing and traversal. In general, a texture processor receives an instruction from the shader unit that includes ray data and BVH node pointer information. The texture processor fetches the BVH node data from memory using, for example, 16 double word (DW) block loads. The texture processor performs four ray-box intersections and children sorting for box nodes and 1 ray-triangle intersection for triangle nodes. The intersection results are returned to the shader unit.
There’s a ton of speculation as to whether this feature will be rolled into the next iteration of NAVI GPUs, or whether it will get its own dedicated GPU line. It’s likely going to take some time to design and develop this new lighting tech, even though the patent was first filed in 2017. The RX 5700 XT and RX 5700 GPUs drop next month on July 7th. These high-end 7nm GPUs offer a significant performance increase, with a pretty steep rise in price.
AMD apparently decided to omit DXR Ray Tracing for now in the PC space to push the technology to the next generation of game consoles. This seems weird, but the general consensus was that DXR on PC needs some more maturity to be more commonplace on PC. The idea seems to be that consoles can more easily be designed to account for the needed performance targets that the PS5 and Xbox Scarlett need. There’s also the fact-of-life that many PC gamers don’t tend to shop at the top-end where NAVI currently sits, as many people can’t or won’t plop more than $300 for a GPU.
AMD is going to be using the iteration over the next several years as they slowly and steadily improve their hardware and software technology in their newest mid to high range GPUs and CPUs. This should help drive down prices as DXR matures, making it more common in midrange cards.
Source: FreePatentsOnline via AMD
ISKMogul is a growing video game publication that got its start covering EVE Online, and has since expanded to cover a large number of topics and niches within the purview of gaming.