SuperPi goes AVX -> y-cruncher

WindHund

Grand Admiral Special
Mitglied seit
30.01.2008
Beiträge
12.189
Renomée
532
Standort
Im wilden Süden (0711)
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2021
Das bekannte Benchmark Programm SuperPi wird nicht weiter entwickelt, ein Grund mehr neue Ansätze zu wagen.
Der y-cruncher wurde von "Alexander J. Yee" Entwickelt und ist schneller als alle bisher entwickelten Pi Programme.
Es werden Multicore CPU´s unterstüzt und neue Befehlssätze wie z.B. AVX.
Das Programm eignet sich sowohl als Benchmark, als auch als Stabilitätstest.

Download: http://www.numberworld.org/y-cruncher/

Hier ein Ergebnis von meinem Scorpius System mit dem FX-8150 @ standard Takt mit DDR3-1866 CL9:
(Es wurden 1 Milliarde Stellen mit AVX* berechnet, was etwa 4.75GB RAM Auslastung entspricht)

y-cruncher1000mjrdsi.jpg


*Der Befehlssatz variiert je nach dem was die CPU unterstüzt, bei mir wurde AVX genutzt.

FYI: Windows 8 unterstüzt in der Consumer Preview Version bisher kein AVX, dort wird SSE4.1 genutzt.

MfG
 
Hab's mal auf i7 2600K @ 4500 MHz | 16 Gb DDR-3 1600 | Win 7 64 laufen lassen.
Anhang anzeigen 25848
 
Zuletzt bearbeitet:
i5-2520M | 8 GB DDR3-1333 | Win 7 64Bit

 
Wenn man einstellen könnte, ob AVX genutzt wird oder nicht, wäre ein direkter Vergleich auf demselben System mit und ohne interessant, um zu sehen, wieviel AVX bringt.
 
Wenn man einstellen könnte, ob AVX genutzt wird oder nicht, wäre ein direkter Vergleich auf demselben System mit und ohne interessant, um zu sehen, wieviel AVX bringt.

Eigentlich das einzige Feature das dem Programm fehlt, zumal es praktisch unbekannt ist, warte immer noch auf die neue Version 0.6.x welche auch XOP nutzt und wie sich die schlägt, das Programm ist meiner meinung nach viel Sinnvoller als die meissten programme welche Getestet werden und wenn es dann noch alle nützlichen Funktionen unterstützt lässt sich auch zeigen was für ein Potential die einzelnen Prozessoren haben.
 
Im Unterverzeichnis "Binaries" sind alle Varianten einzeln startbar.
.
EDIT :
.

Hier die 64-Bit-Werte für i7-3770K @4.1GHz, 8GB DDR3/1333, Win7/64 (Pi; total; total mit output und verify):
AVX ~Hina: 292,711s; 334,856s; 347,753s
SSE4.1 ~Nagisa: 325,941s; 372,278s; 386,110s
SSE4.1 ~Ushio: 324,270s; 370,477s; 384,117s
SSE3 ~Kasumi: 324,731s; 371,886s; 385,923s
SSE3: 325,094s; 371,995s; 386,108s
.
EDIT :
.

Werte für 1.000.000.000 decimal digits!
 
Und Bully macht trotz AVX wieder eine schlechte Figur?

Total Computation Time:
494 Sekunden bei 3.9Ghz (FX8150) zu 324 Sekunden bei 4.5Ghz (I7 2600K)

Taktbereinigt ist Bully um 32% langsamer, obwohl 8 Threads genutzt wurden ???
 
Danke an alle für die Ergebnisse! :)
Im Unterverzeichnis "Binaries" sind alle Varianten einzeln startbar.
@Helle53
Danke für den Hinweiß, hab gleich mal alle getestet:

Instructionset|PI Time|Computation Time|Total Time|Multi-core Efficiency
x64 AVX ~ Hina|427.825|492.040|514.399|96.48%
x64 SSE4.1 ~ Nagisa|387.308|443.548|466.159|96.51%
x64 SSE4.1 ~ Ushio|389.699|446.999|468.892|96.23%
x64 SSE3 ~ Kasumi| 391.616|448.489|471.191|95.73%
x64 SSE3|387.690|444.692|466.881|96.41%

Und Bully macht trotz AVX wieder eine schlechte Figur?

Total Computation Time:
494 Sekunden bei 3.9Ghz (FX8150) zu 324 Sekunden bei 4.5Ghz (I7 2600K)

Taktbereinigt ist Bully um 32% langsamer, obwohl 8 Threads genutzt wurden ???
Das der Bulldozer kein Rennwagen ist, sollte inzwischen bekannt sein. ;)
Taktbereinigt ist nicht so einfach, da bei mir alle EE (APS, C1E, C´n´Q, EuP2013, CC6 sowie das Coreparking in Windows) aktiv sind.
Ich werde es mal noch mit fixem Takt testen.
 
@Windhund
Deswegen hab ich ja auch mit 3.9Ghz gerechnet, obwohl 1-2 Cores wohl auch mit 4.2Ghz laufen könnten.

Das BD kein Rennwagen ist, ist mir klar, aber wo ist nun dein vielmals raufbeschwörter Vorteil von AVX@Bully ? Wenn nicht hier, wo dann?

(PS.: Die EE-Features sowie Coreparking spielen bei MT-Tests [100% CPU-Auslastung] keine Rolle, wohl eher bei Teillast. Aber du könntest ja mit 4.5GHz ohne allem testen, dann muss man nicht "schätzen" wo er wirklich liegt :))
 
AVX bringt hier wohl nicht viel, zugegeben die AVX Version wurde auf einem I7-2600K optimiert.
Die Last geht ab und zu auf 75% runter bei meinem FX, laut Windows Taskmanager.

Takt|Instructionset|PI Time|Computation Time|Total Time|Multi-core Efficiency
PowerNow!|x64 AVX ~ Hina|427.825|492.040|514.399|96.48%
3.9GHz fix|x64 AVX ~ Hina|428.820|492.988|516.003|96.09%

Mal sehen was XOP später bringt und ob Intel es auch nutzen wird. :)
 
Wie kommst du darauf, das das Programm auf einen I7-2600K optimiert sein soll?

Mein Schnelltest hat ergeben, das mein i7 3930K nur 2Ghz für deine Zeit benötigt *buck* - Skaliert wunderbar über alle Cores.
.
EDIT :
.

I7-3930K@2GHz


I7-3930K@4GHz


btw.: Westmere ist um 30% langsamer als Sandybridge :o
 
Zuletzt bearbeitet:
habe es mal auf einem PhenomII x6 1055T laufen lassen, mit Standard-Konfiguration.
Das Programm nimmt 8 Threads dafür, obwohl das ein Sechskerner ist.


(leider erst jetzt bemerkt, das Bild schaut etwas verpixelt aus, habe mit mspaint im gezoomten Modus kopiert, das war wohl daran schuld)
 
Das BD kein Rennwagen ist, ist mir klar, aber wo ist nun dein vielmals raufbeschwörter Vorteil von AVX@Bully ? Wenn nicht hier, wo dann?
Wer hat gesagt AVX wäre super auf dem BD??
Das bringt so gut wie gar nichts. Die Vorteile von AVX sind:

a) 3 Operanden
b) 256bit.

a) bringt nicht immer was, da BD ne look-ahead Funktion hat, die einen benötigten 3.Operanden vorher laden kann und dann genauso schnell ist. Aber kommt auf den Code an.

b) Bringt wirklich nichts auf BD, da es ja nur 2x128bit Pipes gibt. Im Gegenteil, das Teil bremst noch, da die OoO-Flexibilität anscheinend deutlich schlechter ist und/oder das Front-End mit den doubles extra beschäftigt ist, sieht man ja bei den yCrunsher-Ergebnissen.

Wobei: Das ist eher ein grober Eckpunkt, der AVX-Code ist mit VStudio übersetzt, die SSE-Sachen mit ICC. Allerdings war ICC-AVX auf den Intels *langsamer* (kein Scherz). Eventuell sind die Optimierungen bei AVX-Code noch nicht so stark wie bei SSE.
Wie dem auch sei, AMD selbst empfiehlt ja AVX-128 zu nutzen. Eben weil AVX256 nichts bringt, bzw. sogar bremst.

Um nen BD voll auslasten zu können braucht man FMA-Code, dann bringts was. Ansonsten sieht er kein Land gegen Intel. Sieht man auch schon an den theor. FLOP-Zahlen, die betragen bei purem AVX nur die Hälfte. Man kanns sichs auch dadurch klar machen, dass Intel je eine 256bit Add+Mul Pipe hat pro Kern, während BD eben nur eine 256bit Add oder Mul Pipe hat - für 2 Kerne. Kurz: Nur die Hälfte.

Der Autor hat nen Thread bei AMDzone:
http://www.amdzone.com/phpbb3/viewtopic.php?f=532&t=138791
 
@Twodee
Du beschwerst dich jetzt nicht allen ernstes das der Bulli @ all Core Turbo deutlich langsamer ist als ein zu 36% übertakteter i7 ist und machst dich jetzt nicht allen ernstes darüber lustig das der i7 mit 6 Kernen und 6 FPUs bei einem multicore tauglichen Programm doch tatsächlich deutlich schneller wird und für die gleiche Leistung weniger Taktfrequenz benötigt? Die Ergebnisse decken sich eher halbwegs mit bisherigen FX-8150 vs. i7 2600 Multicore Ergebnissen.

Beim ht4u Test konnte man bereits sehen das der Bulli nicht allso sehr von AVX profitiert und der Hund bei FMA begraben ist. http://ht4u.net/reviews/2011/amd_bulldozer_fx_prozessoren/index17.php
Interessant ist allerdings zu sehen das der Bulli hier mit AVX ca. 10% Leistung verliert wärend der i7 ca. 10% gewinnt. Das dürfte wohl der Pferdefuss am FPU Design sein.

Komm also mal wieder runter und geile dich nicht an absehbaren Ergebnissen auf.
 
@Opteron: Ok alles. Allerdings hab ich noch im kopf das einige behauptet haben, das AVX auf BD besser umgesetzt worden sei als auf Sandy. Was ist da nun dran?

@Sompe: Schade du hast keinen einzigen Post bzw. dessen Ergebnisse verstanden. Das einzige was annähernd direkt vergleichbar ist, ist Sabroe SMC I7 und Windhunds BD. Da yC sehr gut mit dem Takt skaliert (siehe meine beiden Benches) kann man den Taktunterschied von 600MHz rel. genau rausrechnen. Daher der Unterschied von 32%.
 
So wie ich das sehe vergleichst du einen übertakteten i7 mit nem Bulli @ standard.
Wo ist das Problem beide @ Standard zu testen?

Im Zweifelsfall darfst du dann die zusätzlichen 15% Takt vom i7 wieder abziehen.
Ich für meinen Teil bin dann noch gespannt was bei raus kommt wenn man das beste Ergebnis unabhängig vom Befehlsatz nimmt.
Rein rechnerisch dürfte dann der Vorsprung von 32% auf ca. 6% zusammenschnurren, es sei denn das der Turbo des i7 noch dazwischen funkt.
 
@Opteron: Ok alles. Allerdings hab ich noch im kopf das einige behauptet haben, das AVX auf BD besser umgesetzt worden sei als auf Sandy. Was ist da nun dran?
Kann ich mich nicht dran erinnern. Ich denke das war nur im Zusammenhang mit FMA, im Spezialfall von AVX128, oder nur auf die momentan günstigere FPU-Organisation von 2x128 statt 1x256. Aktuell gibts ja nur wenig AVX-Code, da liegen die 256bit brach und die Flops brechen auf die Hälfte = AMD-Niveau ein.

Aber ohne FMA und mit den vollen 256b gibts eigentlich keine Diskussion.
 
So wie ich das sehe vergleichst du einen übertakteten i7 mit nem Bulli @ standard.
Wo ist das Problem beide @ Standard zu testen?

Im Zweifelsfall darfst du dann die zusätzlichen 15% Takt vom i7 wieder abziehen.
Ich für meinen Teil bin dann noch gespannt was bei raus kommt wenn man das beste Ergebnis unabhängig vom Befehlsatz nimmt.
Rein rechnerisch dürfte dann der Vorsprung von 32% auf ca. 6% zusammenschnurren, es sei denn das der Turbo des i7 noch dazwischen funkt.
Wie kommst du auf 6%?

BD@3.9 wäre um 19% langsamer als ein i7@3,5 Ghz (beide mit AllCoreTurbo)
(rechne Sabroe 4.5Ghz i7 auf 3.5Ghz runter)
 
Zuletzt bearbeitet:
Ich glaube die bessere Unterstützung bezog sich lediglich auf den Befehlssatz und nicht auf die Leistung.
Bevor er raus kam hieß es doch immer das er durch die SSE5 Vorarbeit den einen oder anderen Befehl mehr kann.
Gehe ich dann noch anch den SSE5 Wiki Eintrag, dann war FMA 4 sogar mal ein Bestandteil von AVX, wodurch wir heute bei Intel nur die Sparversion haben.
http://de.wikipedia.org/wiki/Streaming_SIMD_Extensions_5
.
EDIT :
.

Wie kommst du auf 6%?

BD@3.9 wäre um 19% langsamer als ein i7@3,5 Ghz (beide mit AllCoreTurbo)
(rechne Sabroe 4.5Ghz i7 auf 3.5Ghz runter)

Da unbekannt (da nicht getestet) ist mit welcher Taktfrequenz der i7 @ Standard läuft bin ich von den 3,4GHz Standardtakt ausgegangen und das sind ausgehend von den 3,9GHz ca. 15% weniger. Was der Turbo daraus macht...keine Ahnung aber das schrieb ich bereits in dem Posting.
Bei WindHund lief der FX-8150 mit "x64 SSE4.1 ~ Nagisa" ca. 10% schneller als mit "x64 AVX ~ Hina". Grob überschlagen wäre das also eine Angleichung von ca. 25%. OK...wenn man es ganz genau nehmen will wären wir dann bei grob überschlagenen 7% @ i7 2600 Grundtakt.

Edit:
Habe ich deine taktbereinigte Prozentangabe falsch verstanden? Ich hatte es so verstanden das du die 32% auf jeweils 3,9GHz bezogen hattest.
Rechne ich aber mit den 4,5 GHz komme ich auf ca. 52% Mehrleistung bei einer Übertaktung um ca. 28% (mit allcore turbo) bzw. 32% (Grundtakt). Das runter gerechnet und nochmal die 10% für SSE4.1 beim Bulli rauf und ich bin grob geschätzten 10-14% Mehrleistung für den i7.
 
Zuletzt bearbeitet:
Das BD unter SSE4.1 10% schneller ist, hab ich übersehen. So gesehen hast du natürlich recht ;)
.
EDIT :
.

Ich glaube die bessere Unterstützung bezog sich lediglich auf den Befehlssatz und nicht auf die Leistung.
Bevor er raus kam hieß es doch immer das er durch die SSE5 Vorarbeit den einen oder anderen Befehl mehr kann.
Gehe ich dann noch anch den SSE5 Wiki Eintrag, dann war FMA 4 sogar mal ein Bestandteil von AVX, wodurch wir heute bei Intel nur die Sparversion haben.
Und ich dachte es ging ums verrechnen, weil beim Sandy da mehrere Einheiten zusammengeschaltet werden müßten... naja wie auch immer.
 
Der grüne Planet war und ist ne gute zitierbare Quellen oder *lol* - selbst heise zitiert uns
 
Also bei den SSE-Zahlen schlägt sich Bully garnicht so übel.
AVX in voller Lebensgröße schmeckt der FPU in der Konfiguration noch nicht. Ohne FMA ist da auch nichts zu holen. Wenn man aber betrachtet dass BD bei AVX256 nur grob die Hälfte der Rohleistung gegenüber Sandy aufbieten kann, sind die Werte wiederum recht ordentlich - denn Sandy ist nicht doppelt so schnell.
In der Hinsicht bin ich gespannt was Steamroller uns zeigen wird, ob die FPU da nochmal deutlich getunt wird, oder ob man sich darauf verlässt dass das Fliesskomma-lastige Zeugs mittelfristig von der GPU übernommen wird.
Trotzdem ist die skalierung interessant zu sehen, Helles ivy wird bei AVX nochmal schneller gegenüber den SSEs und BD verliert an Leistung. - Inwieweit die Compiler dabei reinspielen, kann ich aber auch nicht abschätzen. Interessant allemal, dass der ICC überhaupt SSE > 2 auf AMD-CPUs benutzt.
 
Zurück
Oben Unten