FarCry 5 and Wolfenstein to use FP16

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Yakk

Golden Member
May 28, 2016
1,574
275
81
Yeah, i sure hope AMD will make enough money to start a R&D department with bigger budgets mainly for the driver software. That will allow more software engineers to work with less stress and that will lead to more creativity.
The reality is that the theoretical maximum flops numbers are rarely reached, will it be either Nvidia or AMD. So the trick is to take the data that the game supplies and process it in such a way that the gpu is utilized as much as possible. In mining , it is possible to use all alu's. But in games it is more difficult and that is where the driver magic is. And Nvidia knows that very well and has that problem very good under control. "Mo money" less problems.

I always wonder how a graphic scene is build up in general. Since the software writing is abstract, it is not written (optimized) to match the exact amount of computing units a given gpu has for every task. Also, this can only be done if there is only one type of gpu to program for.
This exact matching cannot be done because then every manufacturer would only have one gpu card to sell. This is where the consoles have an advantage, being fixed hardware. But it would also
take more effort from the software designers in one way and eases their lives in another way..
So in one scenario, the driver has to take all these computations and batch them to reach the maximum theoretical tflops throughput of the gpu. But that is not always possible because if in a given frame that number can not be reached, the driver would have to stall the computations to extract maximum tflops throughput from the gpu. And that could lead to delays.
Engineers who write drivers for gpu do not have it easy. They have to examine every scenario and create a solution and also modify the driver to detect that scenario and use the solution.
I have come to understand that the gpu driver tracks the programs being executed or is notified by windows that a game is started(I do not know how this is done exactly) and loads the optimized gpu profile. But i am sure that the gpu driver in general also does run time optimizations on the fly.
But in the end, the gpu driver writer is often just like the virus scanner writers, they are solving the problems afterwards.

And that is where the various initiatives like game works and mantle come from, for the gpu drivers to be ahead of the situation and create an environment where the hardware is fully utilized.
Of course, how the initiatives are implemented is a different matter because the implementation is based on making money and company strategy .

AMD came out with a GPU Profiler for PC similar to what they use on consoles, since they already have one + also do it for consoles I guess it wasn't too much work and makes console developers feel more confortable on PC. Easy integration of compute & async a big plus also :

 
May 11, 2008
19,555
1,194
126
AMD came out with a GPU Profiler for PC similar to what they use on consoles, since they already have one + also do it for consoles I guess it wasn't too much work and makes console developers feel more confortable on PC. Easy integration of compute & async a big plus also :


That is interesting.
But one really needs to have the GCN_Architecture_whitepaper.pdf next to it as i quick lookup source.
https://www.amd.com/Documents/GCN_Architecture_whitepaper.pdf
Coming back to what i wrote about trying to obtain the maximum theoretical throughput, the video gives a nice example about the vertex shader from a given rendering stage not being able to use all 8 possible wavefronts but only 4 because the all the registers from the vector registers are in use ( That is if i understand it correctly.)
This all starts from 18:15.
Another example follows about the pixel shader also has only 5 wavefronts occupied from the maximum 8 because again the registerfile is all used up.
If it is possible to optimize the shaders, then more wavefronts can be used and the calculations are done more quickly per frame. Yes ?


I do assume here that AMD uses this program as well to optimize the driver.
Perhaps to replace shaders with optimized ones if possible when profiling a desktop pc game.
The gpu driver could replace them.
Nvidia does this too and i find it a great way to increase performance if the game developer cannot provide optimized shaders.
 
Last edited:
  • Like
Reactions: Krteq