Futuremark Publishes Guidelines for Driver Optimizations

Some excerpts from some of my thoughts last night in another thread:

...

I'm all for pointing out which drivers have failed their guidelines, and I'd propose it might very well be a required first step to regain some measure of consumer trust in the face of the amount of bad information associated with 3dmark 03 that is out there.

What I think is important to make distinct (both when discussing and proposing such to Futuremark, and for Futuremark's dealings with IHVs moving forward) is the idea of what to do now to start to recover trust, which would be a temporary and directed action to correct the current situation, and what to do afterwards as a policy to defend and maintain that recovery.

I think first we need for Futuremark to recognize the situation from the individual consumer perspective, whereas I currently think they view many recommendations in terms of ongoing policy only, instead of distinctly considering a more drastic "course correction" separate from a "steady course" from then on out. Much of what has been proposed about the rules might benefit from being addressed more clearly as directed towards one of these or the other.

My thoughts directly relating to ongoing policy:

It doesn't seem feasible to maintain an ongoing policy of pointing to bad drivers and results, but what might be is the much less onerous (and less "political") one of auditing driver result ranges for a card for a current driver revision, and then certifying them (perhaps quarterly, though monthly would be better if possible). It is much easier to defend granting approval than to be actively pursuing condemnation...let the consumer confidence in what "certification" means to allow them to have the knowledge to decide when they should have reason to condemn IHVs.

The comments about Futuremark discretion in evaluation need to apply to this, and places Futuremark's interest in such discretion more perceptibly (to consumers) in line with defending the honesty and reputation of the benchmark. Futuremark needs to work to formalize and convey reason for confidence in that discretion...I think a certification methodology achieves that without adding the further burden of trying to go toe-to-toe and "penalize" billion-dollar companies head-on on an ongoing basis. Also, an option for audits conducted on request, along with extended testing (perhaps involving certain BETA members without conflicting interest, I think would make sense) for audits, limits the expenditure on thorough investigation (when signficant departures in performance results occur) and all the attendant effort that might entail, while still protecting the consumer even when the efforts aren't presently occurring.

I'd initially hoped for exactly this type of certification system, but self maintaining (by consumers), for image quality in the image quality/driver version database idea I'd proposed for 3dmark at the beginning of the year, but in light of the education I (and most of us, I believe) have received about the measures an IHV may use for deception in benchmarks, extending it to drivers and performance result ranges seems to be the simplest additional step.

Of course, offering better tools in their benchmark could still serve to make the self-regulation by users more feasible again. This is a factor I think it important for Futuremark to consider as well.

In any case, I think the movement towards "certified" results and "uncertified" results has already been demonstrated as necessary, that the ORB database could be modelled on the concept with limited modification, and could serve to facilitate this mechanism while not impeding consumer usage for timely hardware comparison (a foundation of Futuremark's "enthusiast" popularity which I don't think should be forgotten). Perhaps even an additional label, such as "overclocked" (or perhaps something a bit more "inspired"/"catchy", like "extreme" or whatever phrase conveys some positive connotation but refrains from implying that they are "verified") for results that exceed certification criteria concurrent with higher card frequencies being recorded at benchmark time, to address the enthusiast appeal that serves/served to maintain the benchmark's popularity.

...

Thoughts?
 
OpenGL guy said:
AzBat said:
The reference rasterizer should be correct, but then again isn't it based on some IHV's hardware? If your hardware wasn't used as the reference rasterizer, then I could see how other IHVs might have a problem with it.
No one is going to perfectly match the refrast. The reason being that the refrast runs on a CPU with likely much higher internal precision than any consumer graphics hardware. Also, just because there are minor differences in LSBs, doesn't mean that your result is not correct.

There are lots of other types of precision that come into play in your result. Depth precision, vertex position, texture coordinates, texture sampling/filtering, subpixel precision, etc. It's highly unlikely that any two algorithms will give exactly the same results when you take all of these factors into account.

This doesn't mean that you can't determine a right answer from a wrong answer, however. You just need to account for the fact that there may be more than one correct result.

Edit: Fix typo.

OpenGL Guy,

Thanks for the reply. It's always been my assumption that with every iteration of DirectX it was based on some kind of hardware implementation and the reference rasterizer would in most cases(but not all) would have identical output with one piece of hardware. However, in my above quote I posed the question to see if that was still the case with DirectX 9. I can see by some of your explanation that things are much more complicated now and thus that doesn't guarantee that the refrast would mirror one piece of hardware. Unfortunately, that makes things much more difficult.

Anyway, I believe my original point is still valid. Meaning that Microsoft had to design and base the framework of DirectX 9 and the output of the refrast on one vendor's hardware implementation. Microsoft themselves do not own graphics technology IP to base the DirectX foundation on and thus the reason to seek an outside influence. To me this leads to the issue where certain versions of DirectX are biased to one piece of hardware over another. Let me know if this isn't correct. Also, what parts of the refrast are based on implementations from ATI and which ones are based on ones from NVIDIA?

This is one reason I believe Futuremark has and will have a hard time with benchmarks that satisfy all the IHVs. The IHV that has the hardware used as the basis of the refrast will have less work to do to make sure they are "mathematically consistent" with the refrast. I can see how the rest of the IHVs would want Futuremark to use the word "consistent" instead of "correct" on this issue and I agree it was probably the best thing to do, but I see the potential for those same IHVs to abuse this loop hole. They'll basically say "well you just said consistent and not correct, but did not state how consistent it should be". To me consistent is way too subjective. Anyway, that's where I was going with my comments with regard to the wording in Rule #4.

Tommy McClain
 
nelg said:
I would like to see a form of punishment in place whereby if a IHV is found to be cheating its drivers containing the cheats would be disqualified. Furthermore the next driver release from that company should automatically have its score reduced by 10%-20% for period of time. Consider it a form of probation. This would give Futuremark and others time to investigate and would prevent IHV’s from continually releasing drivers for the purpose of circumventing the guidelines.

demalion said:
Apparently a bad copy and paste job...I was tied up with being unable to edit other things and didn't touble check. It should have been to here. Maybe I can actually go and put those edits in now, and fix the link too?

In that post, my response to your concern is simply that a response to a lie shouldn't be another lie, it should be calling it a lie (now, to get benchmarking back on track from where nVidia has worked so hard to steer it) and restricting the ability of further lies to take place and be perceived as truthful (ongoing policy to prevent things from going off track again).

It seems to me Futuremark should be in the business of providing, focusing on, and defending simple veracity. Using/spending recognition (and trust, if it can be established) as a platform to politically and economically conduct battles with IHVs who are lying is something else entirely, especially if they themselves are using lies (as you proposed) as a weapon.

I don't see it as another lie but rather as if you are caught cheating you lose trust. As a result of this the driver in question will be disqualified and any subsequent one's will be treated with suspicion (and its score reduced) until Futuremark (and members) are reasonably satisfied that it contains no cheats. I think this gives IHVs an incentive to be honest.
 
DaveBaumann said:
Lars,

that shows the shaders the application requests the driver runs - this can be entirely separates from the sahder code the driver actually runs. In the application will submit some assembly to the driver and as far as the application is concerned that is what is run, however the driver may entirely replace that sahder code with some completely different shader code or optimise the code to do something the same, but faster - the application has no way of understanding that either of these scenario's have actually occured, since its job stops once its submitted the inital assembly it wants to run.


Maybe not the application itself. But since benchmarks like 3DM03 are static, it may be possible to detect and analyze the traffic between driver and card to find out if there´s something happening in the driver. But the question is if such a tool can be used without detection (would only matter if it costs much performance).

Lars
 
According to 'Unwinder', the Rivatuner author (popular Nvidia and now ATI tweaking utility) Nvidia is now encrypting their drivers. Remember he was the one that exposed the 70+ applications being detected in the detonator drivers with his anti-detection script, so it would be hard to get any app to detect the traffic..now.

Prior driver releases were possible to do so, but newer ones are not according to Unwinders last statement.

http://www.beyond3d.com/forum/viewtopic.php?t=6775

NVIDIA prepared to launch new 44.67 drivers, that have heavily encrypted D3D driver which decrypts itself in runtime (to tangle disassembling) and internal code checksums calculations that emulate visual artifacts if at least one byte of code is patched. Currently the company acts exactly as I've assumed in the conclusion of the article. Shame.
 
Doomtrooper said:
According to 'Unwinder', the Rivatuner author (popular Nvidia and now ATI tweaking utility) Nvidia is now encrypting their drivers. Remember he was the one that exposed the 70+ applications being detected in the detonator drivers with his anti-detection script, so it would be hard to get any app to detect the traffic..now.

Prior driver releases were possible to do so, but newer ones are not according to Unwinders last statement.

The easy solution is to do what has already been done to some extent by Borsti (kudos again for the excellent article on THG !!!) : don't use any drivers on which you can't verify for yourself what is done and what isn't WRT detecting cheat, or at the very least mark this driver as "tainted". FM should also totally refuse to have results of encrypted drivers submitted to the ORB or used in reviews. When no one reviews Nvidia hardware anymore because of encrypted cheating drivers, perhaps they will stop making those.

If Nvidia release those drivers to the public, I for one will support any attempt at asking MS to stop WHQLing said drivers, and I will also support any move directed at large OEMs to make them stop selling Nvidia products.
 
Wow. I was actually expecting something meaningful and tangible- especially given how long it took FutureMark to come up with an answer (Sept. 19th) and then accordingly blow that date off with another delay.

So what we get is something any idiot could have wrote in about 20 minutes, loaded with "No Duh" shocking revelations, of substantially less substance than their prior definition of cheats given their paper on NVIDIA detonator cheats the last time- yet no tangible change or occurance for ANY involved party (IHV's or customers.)

So what we have was a delay to a delay to a delay to a delay to a useless and meaningless piece of tripe- with a product that STILL has, by their repeated definition(s), illegal scores from deemed inappropriate "optimizations" from IHVs- still in their comparison database and across all websites being used for making purchasing decisions on hardware performance.

Is anyone somehow supposed to be effected by any of this? I mean, it might as well have been postponed until December and locked in the "public records" department (in the condemned basement, behind a door with a sign that says "Beware of the leopard") for all the applicable purpose it serves- i.e. none at all.

The whole thing reminds me of a scenario of someone standing on a street corner saying "Murder is bad!"... then a couple nights later, someone walks up to another person, shoots them dead in cold blood- while the original town cryer party approaches, walks up and again repeats "Murder is bad!"... then continues to pat the murderer on the back and walks off into the evening mist.
 
Hey dig or anyone,

So what has Fururemark done now after the guidelines have been released? Have they droped scores off the ORB that used "illegal" drivers? Have they done anything?
 
digitalwanderer said:
I know!

How about the person that discovers the cheat gets to be the one to flog the offending IHV's CEO? :D

As someone here said that NV is encrypting their drivers , so probably the guy who discovers it will get a letter from NV's legal dept. for violating DMCA.


ByteMe said:
Hey dig or anyone,

So what has Fururemark done now after the guidelines have been released? Have they droped scores off the ORB that used "illegal" drivers? Have they done anything?

yeah, they probably just collected another payment from NV ;)
 
Another thing slightly OT. Has Nvidia ever responed to the blast from TardOCP a few weeks past? Or to any other sites findings? Are they hoping that by ignoring this it will just go away?

The "T" was for you dig.
 
Until the latest nVidia driver scores get dropped from ORB, I think we can safely label this whole exercise as a waste of time.
 
Borsti said:
Maybe not the application itself. But since benchmarks like 3DM03 are static, it may be possible to detect and analyze the traffic between driver and card to find out if there´s something happening in the driver. But the question is if such a tool can be used without detection (would only matter if it costs much performance).
Probably somebody could make a motherboard that allowed copying of all the AGP bus traffic. I don't see there being much point though. It would be very expensive, and I don't think it would tell you much useful.

The AGP traffic is likely to change between driver revisions anyway - there are always small changes to drivers. Some of the most common ones would be registers sent down in different order, or the changing of memory management schemes.

Without a full spec for the chip and the ability to decompile the commands sent to it, this is likely to be a futile exercise, and it would still fall foul of the 'I fixed a bug, and now you won't rate my driver because something changed' problem.
 
Another question, is there any legitiment reason why you would want to encrypt your drivers? I can't think of any.
 
legitimate? To keep people from modifying them and releasing them (ex. omega). Companies dont want to be held responsible if someone uses a modified driver and it does something nasty to their machine. Also because of things like the patches in rivatuner.

As for this situation.. It seems to me each side played their cards and fought it out a bit, then decided things were getting too out of hand so they cut their losses and here we are. It doesnt seem to be a big revolution to me nor does it seem like much progress really. Things are back to normal.
 
Nautis said:
legitimate? To keep people from modifying them and releasing them (ex. omega). Companies dont want to be held responsible if someone uses a modified driver and it does something nasty to their machine. Also because of things like the patches in rivatuner.


Thanks, I didn't think of that. But then the questions is ... Is this encryption effort worth it? How much of a problem are modified drivers to companies like nvidia?
 
Back
Top