Tim Sweeney on cheating V optimizations

Status
Not open for further replies.

TS | Thomas

Posts: 1,318   +2
Beyond 3D got a response from Tim Sweeney on the whole Driver cheating V optimization in light of the Futuremark Audit report. Here's a snip:

Therefore, any code optimization performed on a function that does not change the resulting value of the function for any argument, is uncontroversially considered a valid optimization. Therefore, techniques such as instruction selection, instruction scheduling, dead code elimination, & load/store reordering are all acceptable. These techniques change the performance profile of the function, without affecting its extensional meaning.

Optimization techniques which change your function into a function that extensionally differs from what you specified are generally not considered valid optimizations. These sorts of optimizations have occasionally been exposed, for example, in C++ compilers as features that programmers can optionally enable when they want the extra performance & are willing to accept that the meaning of their function is being changed but hopefully to a reasonable numeric approximation. 1 example of this is Visual C++'s "improve float consistency" option. Such non-extensional optimizations, in all sane programming systems, default to off.


Would you like to know more? To apply this to the NVIDIA/ATi Drivers in 3D Mark 2003 what's he's saying is NVIDIA cheated, ATi optimized.
 
Thomas, maybe gathering the many different threads dealing with all that cheating news should be gathered into one ? just throwing ideas :)

very good analysis IMO, btw
 
I felt it would probably have been better to include the different lines seperately, i.e. Tim Sweeney's opinions V ATi & NVIDIA responses. I do feel though that ATi are just milking it a bit with the whole, oh we'll remove this optimization from the next Drivers, while NVIDIA goes into denial despite seemingly overwhelming evidence, particularly as regards the shaders they swapped in after decting 3D Mark.
 
Status
Not open for further replies.
Back