Coherence gathered ray tracing: ray tracing hardware advantages

Although, in theory, to achieve a modern  GPU  method is unlimited, but the real effective way is to effectively understand the problem and begin to plan a reality. Manufacture of modern high-performance semiconductor devices and attempting to accelerate the current problems faced by the programmable raster technology reveals the future trend of development of GPU hardware industry.

For example, in the modern GPU  SIMD  processing and fixed function texture units is essential, so do not use them to design the GPU program almost certainly means that do not have commercial feasibility and practicality of the study. Even in the past 20 years, no one GPU wildest visions did not abandon these core principles (rest in peace, Larrabee (Intel GPU chip code)).

Over the past 15 years, real-time ray tracing acceleration has been default to GPU design the most frustrating problems, mainstream norms on how ray tracing should be implemented on the GPU is Microsoft's DXR, which requires the implementation of the model has not really integrated into the GPU the mode of operation, which will undoubtedly cause some serious problems for any potential need to support its GPU designer. If the real-time ray tracing is that they are not considered in the past decade thing, then this problem will become more obvious, and Imagination have been concerned about this issue.

The key challenge faced by ray tracing

If you follow the DXR norms and to consider the need to achieve something in the GPU computing to provide acceleration performance, then you will probably quickly came out with the following Regardless of these design uses both need to be addressed:

First, you need a way to generate and process a data structure comprising a set of geometry, which can in a more efficient way to track the light for the geometry. Secondly, when the track light, GPU to test whether light intersect to provide some user-definable programming interface. Third, the light tracked can issue a new light! DXR specification defines implementations also need to consider other issues, but from a global point of view these three factors are the most important.

Ray tracing rendering mixed PowerVR

Generation and use of expedited data structures to effectively represent needs to be done intersection test geometry means that GPU may have to complete a new implementation phase, then we need to deal with these new data structure with the new interface functions, to test whether the intersection, after the program implement some features based on the results of the test intersection under the control of members. GPU parallel design, so to handle what a bunch of light mean? Whether this is the discovery of new challenges, and these challenges with traditional parallel geometry and pixel processing challenges brought about by the very different?

The answer to the previous question is yes, how did these differences will be mapped to an existing ray tracing GPU execution model has far-reaching impact. The presence of GPU computing and memory resources of the imbalance, leading to memory access has become a valuable resource, and waste of these resources is one of the main causes of low efficiency and performance.

Oh no - what have we done?

GPU is designed to take advantage of any form of access to the DRAM connected thereto, using spatial or temporal locality of memory access as a method to achieve this purpose. Fortunately, the most common and most modern rasterization rendering has a nice feature that during the coloring (especially pixel shading is usually the main workload in any given frame) triangular apex and pixels and their possible neighbors share relevant data. Therefore, any cached data that you visit on a set of pixels, it is likely the next adjacent group will need to use your already extracted from the DRAM and cache memory part or all of the data. For most of today's rasterization rendering workload, this is correct, so we can breathe and around the property GPU architecture design.

When we use ray tracing, which would have expired. Ray tracing spatial locality so that all disappear. Let's analyze the reasons.

The surface of the problem

The easiest way is to look around thinking, attention to the role of light in the environment you are in at the time you sit down to read this article. Because ray tracing modeling attributes from all the light rays propagating light source, it must deal with what happens when any surface exposed to light in the scene. Maybe we only care about which objects exposed to light, perhaps even surface of the object to the light scattering direction, but it may also completely random. Perhaps the surface absorbs all light, so there is no secondary spread of light. Perhaps there is a surface material properties, it can partially absorb almost all of the irradiation light, and then a small amount of randomly scattered light that it can not be captured.

Only the first scenario may be mapped to a memory access by using a GPU operating mode locality, even then only if all of the parallel rays are irradiated to the processing of the same type can only triangle.

It is significant possibility of such differences contribute to the problem, if any light parallel processing may have different effects from each other, including the impact of different data structures or accelerate new light emitted, the basic work efficiently GPU premise will be destroyed, and this is usually more destructive than the divergent phenomena encountered in conventional geometry or pixel processing.

Coherence gather

PowerVR hardware acceleration of ray tracing is done to achieve ray tracing hardware and sort it with any other hardware in the light of today's industry track is unique compared to accelerate, this software is completely transparent to ensure that the hardware transmitted in parallel ray tracing potential similarities. We call this coherence aggregation.

Hardware maintains a data structure, the light being hardware processing for hierarchical storage software issued, and can be selected and grouped by their position in the forward acceleration structure according to their direction. This means that the acceleration data is more likely to share data structures in memory to be accessed when they are processed, and an additional advantage is that the light can be maximized to be subsequently processed in parallel - the geometry intersects the calculated number.

By analyzing light from the hardware scheduling, we can ensure that the GPU friendly way to group them to more efficiently follow-up treatment, which is the key to the success of the system, helps to avoid breaking the GPU industry for the efficient rasterization rendering the well-designed operating mode, which avoids the need for special hardware ray tracing type storage system, thus providing to the rest of the GPU more easily integrated solution.

Coherency aggregation mechanism itself is quite complex, since it requires a fast track, sequencing and scheduling of all submitted to the hardware processing of the light, so that no counter-pressure stage before the scheduling system for emitting light, and will not result in a subsequent stage in light sorted data structures and hardware acceleration idle input.

Without hardware system to help the GPU sort of light, then you need to rely on the application or game developers to somehow deal with the problem coherence light on the host, or join a link in the middle of computing on the GPU to handle the sort of light - - provided that this way is supported by the hardware, these assumptions in a way no one can improve the efficiency and performance in real-time hardware platform, however Imagination is the only possession of such hardware ray tracing system GPU IP suppliers.

Closely follow the trend

Imagination's becoming the sole supplier for hardware ray tracing solutions in the industry because we have to address this problem for a long time. Compared with the industry in a number of other technologies it is slowly progressive, ray tracing has become one of today's graphics technology widely used API.

We gathered coherence properties of light industry and the current track compatible with each other (if the light emitted by the new light happens, the stack will be released or may emit new light, etc.), a coherence gathered at each stage of processing and to ensure that we achieve a strong performance ray tracing hardware as much as possible.

In modern ray tracing hardware system is the most important to measure the light beam, the parallel test of peak emission of light or air, and miss rate, these are simply described ray tracing performance of the hardware, but it is not very useful, after development who do not only care about the peak value of the parallel test rate or the rate of leakage test.

Our overall goal is to use ray tracing acceleration in the whole system, so that developers can harness a light budget which useful functions to achieve. Our solutions coherence gathering system we provide together to achieve this goal, other programs and the industry is unique in comparison.

Published an original article · won praise 0 · Views 5110

Guess you like

Origin blog.csdn.net/mahuahu/article/details/104998931