Earlier this month, we reported that the Windows 10 update will be finalized in shader model 6.0. For testing purposes, however, you can use 15063 or later versions of Windows 10 if developer mode is selected and a developer environment with the new shader compiler is installed.
Since finalization is practically only a formality, Microsoft has released its first example program for shader model 6.0. Which is named Wave Intrinsics Sample. This wave intrinsics demonstrates innovation in eight mapping modes.
The default mode without wave operation [+]
Shader model 6.0 Technology
Of course, no wave operations are used in the default mode. So this provides the base. The other eight modes display different functions. And the example program visualizes their effect on the enlarged part of the triangle. Of course, the source code is available. So you can also see how each function should be used.
This is a very important factor in shader model 6.0 that defines wave terminology. So, it is possible to efficiently use the thread-level parallelism designed for modern GPUs. The base unit is the so-called lane. That is the single thread of processing. In previous models, only one lane was exploited. So, the optimal use of hardware SIMD units was highly dependent on implementation. The wave terminology adds this and essentially imports the wave as another base unit, which can run a set number of lane parallel to multiprocessors, without the need for developers to use a direct resource restriction to ensure duplication. With this direction, many algorithms can be accelerated today.
Shader model 6.0 Hardware Platform
It is important to note that each architecture supports a different number of the lane in a wave. This app needs to ask, and shader model 6.0 support will let you know that the hardware supports a minimum and maximum of the lane in a wave. This is equivalent to today’s hardware. So both drives will return the same value to drives, but Microsoft considers it important to distinguish it from future hardware. The bottom line is that the applications. That is currently running shader model 6.0 will only use the minimum value. This industry is also known by AMD as “wavefront size” (64 in GCN Radeons), and NVIDIA’s “warp width” (32) based on Maxwell and Pascal’s built-in GeForce.
Impact of some functions of wave intrinsics on a 32-lane architecture per wave [+]
The example program visualizes the differences because of the previous paragraph. Because the patterns issued by the different architectures will be different. It is not even optimal to write a code that is directly aligned with one of the hardware deeds. For example, a code aligned with a 32 lane leads to poor utilization in current Radeons.
While optimization for 64 lane results in GeForce that excessive wave-to-race competition will be overcome and hardware can quickly run for local data sharing memory. This is primarily due to the Xbox One consoles because developers tend to opt for optimization that virtually takes into account the capabilities of multiprocessors. That the 64 adjacent lane in one wave guarantees the atomicity of the instructions. This avoids the execution of certain atomic or synchronization operations.
That may be expensive for hardware. For this reason, it will be much more convenient to perform the necessary atomic and synchronization operations on a PC. Since the different architectures can handle well. Of course, running very specially optimize shaders from the Xbox One consoles can solve on any hardware. But this is not the case with 64-lane architectures per wave. And it does not matter whether the design is up or down. For this reason, it is more convenient to perform the necessary atomic and synchronization operations on a PC. Since the different architectures can be handled well.
Shader model 6.0 for XBOX One
Of course, running very specially optimized shaders from the Xbox One consoles can be solved on any hardware, but this is not the case with 64-lane architectures per wave. And it does not matter whether the design is up or down.
Microsoft also announced that DirectX MiniEngine upgraded earlier. With the performance of the Forward + mapper improve by using wave operations. This system was released two years earlier for demonstration purposes so developers can experiment with DirectX 12 techniques and learn from source code.