Su HWBot.org è finalmente disponibile la patch che è in grado di ottimizzare l'esecuzione di codice x87 su CPU AMD con core Piledriver (ma non Bulldozer).

 

There are two kind of news bad and good ones.
Let's get rid of the bad ones first:
Originally I tested this fix on three different CPU/APUs (Richland, Trinity and Vishera).
When I went to verify the effects of the fix on Zambezi the system crashed immediately once the necessary changes were written.
After some research I noticed that these registers do not respond on Zambezi based CPUs.
Upon reading all of them return null values and crash the system unless a special method is used.
At first it appeared that these registers do not exist on Zambezi, however after digging a bit deeper I found indication that the registers are there... But for some reason AMD seem to have protected them with a ESI/EDI password on Zambezi.
They do not require any passwords on any Piledriver based APU/CPU.
So the fix will not be available for Zambezi users.
Sorry for the massive let-down
The the good news:
The software is pretty much finished.
It should be available for download within this week.
After the let-down on Zambezi I felt that something had to be done for Zambezi too.
While it does not result as massive boost as the original fix does it still gives something:
SuperPI 1M: > 1 second improvement
SuperPI 8M: > 10 second improvement
SuperPI 32M: > 35 second improvement
It is called as "Zambezi Stack Special (PD)".
Note: There might also be some performance specialbunnyation in some applications when enabled (Zambezi vs. Vishera effect).
Zambezi is significantly faster than Vishera in SuperPI by default so the difference between a "fixed" Vishera and a tuned Zambezi won't be that massive after the "Zambezi Stack Special" configuration.

 


 

Per testarne l'effettiva efficacia abbiamo effettuato dei test in prima persona, con una CPU Athlon X4 750K, e siamo rimasti sorpresi dai risultati.

Con Super Pi, test da 1M, a frequenze default, i risultati sono migliorati notevolmente, passando da 27.587 secondi a 23.752 secondi, dopo l'applicazione della patch. Abbiamo anche testato la CPU in overclock (4,8 GHz), su SO non ottimizzato, e siamo riusciti ad avvicinarci notevolmente al primo classificato (14.656 s) su HWBot.org, nonostante il nostro SO fosse “sporco" e la CPU avesse circa 1.8 Ghz di meno. Qui di seguito lo screen al risultato.

 

 

In ultimo abbiamo testato la patch anche con AIDA64, test CPU PhotoWorxx, il quale utilizza in una piccola percentuale le istruzioni x87, ed il risultato è passato da 8958 a 9060 Mpixel/s.

A questo punto dovremmo domandarci: quante altre non ottimizzazioni per le CPU AMD sono presenti nei software attualmente in commercio? Ma soprattutto, perché gli ingegneri di AMD non se ne sono accorti ed hanno provveduto a colmare tale gap?