AMD: Intel-Compiler benchmarkoptimiert?

Diskutiere AMD: Intel-Compiler benchmarkoptimiert? im IT-News Forum im Bereich IT-News; Hallo Auf der AMD-Präsentation des neuen Barcelona-Opterons wurden auch Benchmark-Ergebnisse gezeigt. Dabei gab es eine kleine Merkwürdigkeit...
#1
Pvt.Caparzo

Pvt.Caparzo

Dabei seit
12.02.2006
Beiträge
15.688
Alter
44
Ort
Hell's Highway
Hallo



Auf der AMD-Präsentation des neuen Barcelona-Opterons wurden auch Benchmark-Ergebnisse gezeigt. Dabei gab es eine kleine Merkwürdigkeit, die Dirk Meyer von AMD erklärte. Vergleicht man den Opteron 2350 mit 2 Ghz gegen den 2 Ghz Xeon 5345 von Intel, so hat der Xeon im SPECInt_2006-Benchmark eine etwa 5% geringere Leistung laut AMD.

Allerdings ändert sich dies, wenn man den Benchmark mit dem frei erhältlichen GCC-Compiler erstellt. Dann hat der Opeteron einen Leistungsvorteil von 9%. Meyer bezeichnete den Intel-Compiler dementsprechend dann auch als "nicht anderes als einen Benchmark-Compiler".

Inwiefern hier Intel tatsächlich Optimierungen für Standardbenchmarks eingebaut hat, wie man es früher auch von Grafikkartentreibern kannte, oder ob schlicht der GCC-Compiler vorhandene Features der Intel-Prozessoren nicht unterstützt, ist noch nicht bekannt.

Quelle: gamestar.de
 
#2
S

seppjo

Gast
Das wundert mich nicht sonderlich. Diese Spielchen macht intel schon ewig. Es begann schon im WIN95 als man den anderen Prozessoren ausversehen den Cache abgeschalten hat. Zufälle gibts.
 
#3
D

dlonra

Dabei seit
19.10.2005
Beiträge
1.149
@seppjo genau...

Man sollte mal Linux auf den hochgezüchteten dualCore laufen lassen und
mit Amd vergleichen.
Meiner Meinung nach hat Intel nichts anderes gemacht als den schlechten
Windows Code (der immer der gleiche ist) optimiert. Wenn also Linux läuft könnte es schon ganz anderst für Intel aussehen. :aah

PS: ein unbewiesenes Gedankenspiel von mir !!!!!
 
#5
T

tipehana

Dabei seit
05.07.2006
Beiträge
494
wer glaubt schon statistiken die er nicht selbst gefälscht hat? ;)
 
#6
MountWalker

MountWalker

Dabei seit
16.07.2004
Beiträge
308
@ bullayer

Nein, weil ich noch nie einen Test gesehen habe, in dem das verwendete Benchmarkprogramm mit einem von AMD stammenden Compiler kompiliert worden war. Es verwenden alle den Intel-Compiler - das nimmt ja selbst unter Linux zu - egal für wessen Prozessoren. ;)
 
#7
Z

Zero0000

Dabei seit
03.01.2007
Beiträge
425
Alter
33
Ort
Dortmund
finde das aber doch nur logisch das der Intel Compiler etwas schneller Code bei Intel Systemen erzeugt. Dafür hat man einen eigenen Compiler...

Ein IBM XL C Compiler erzeugt auch schnelleren Code auf einer P5 Maschine als der GCC. Ist doch für den eigenen Prozessor optimiert.
 
#8
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
Es würde mich nicht wirklich wundern wenn Intel seinen Compiler speziell für die eigenen CPUs optimiert. Sollte aber der Compiler speziell für weit verbreitete Benchmarks optimiert sein, ist es eine reine Täuschung und Verfälschung der Ergebnisse.

Ich hoffe für Intel dass da wirklich nichts dran ist, denn bei den Grafikkarten gab es ja einen ziemlich heftigen Aufschrei deswegen. ;)


Zu dem Ergebnis selber: Ob jetzt die AMD-CPU nochmal um 4% schneller ist, ist doch ziemlich egal in der Praxis. Es kommt zwar auf das Einsatzgebiet an, aber im Normalfall bremsen andere Komponenten die Leistung sowieso etwas ab.

Sollte Intel wirklich was dran gefeilt haben, dann hat es ihnen wenig geholfen. ;)
 
#9
BD.BlackDragon

BD.BlackDragon

Ein Drache ohne Flügel
Dabei seit
31.08.2007
Beiträge
393
Alter
28
Irgendwer sagte es oben schon, man soll nie einer Statistik glauben die man nicht selbst gefälscht hat :D

Ich erachte Benchmarks eh für nicht gerade aussagekräftig, da sich auch andere Komponenten auf die Leistung auswirken......
 
#11
D

dlonra

Dabei seit
19.10.2005
Beiträge
1.149
@thecaptian

Soviel ich weiß wird Linux ausschließlich mit dem gcc Compilier compiliert!
Und Windows mit einem Microsoft eigenen Compilier.

Also wird weder Linux noch Windows mit dem Intel-Compiler compiliert!
Ich weiß es nicht besser deshalb hab ich unbewiesen geschrieben.

Schau doch mal, XP ist 2001 herausgekommen.
Der Code (erzeugt Maschinencode) hat
sich nicht wesentlich verändert, vielleicht wurden mit dem SPS2 einige
Bremserdateien ausgetauscht (also mit neuem Maschinen Code versehen).

Den Linux-Kernel kann man speziell für sein System compilieren um eine
optimale Leistung zu erhalten. Jeden Compiler kann man auf Geschwindikeit
und Codegröße einstellen. (So wie bei meinem heiß geliebten Borland ;) )
Entweder man hat kleine Programme oder schnelle Programme.
Man kann x386 optimierten Maschinencode erstellen lassen oder x486 oder
für Pentiume und 64bit.
Der Programmcode ist der selbe (C, C++ usw) es wird nur im Compiler anderst eingestellt das
es auf dem EndPc am besten läuft.
Natürlich kenne ich keinen Mensch der seinen Linux-Kernel selber auf
sein System zuschneidet (compiliert).

Was soll ich sagen ich denke mal einfach, dass Intel den Geschwindikeitszuwachs nur erreicht hat indem sie den vom
Microsoft-Compiler erzeugen Maschinen Code im voraus anschauen und
häufig wiederkehrende MaschinenCode Sequenzen erkennen und
4 Befehle in einem Rutsch erledigen.
Somit hat doch ein Linuxsystem schlechte Karten, weil es
ein anderer Maschinencode (Copilier) ist.

Grüsse

PS: mich würde es schon interessieren ob ein Linuxsystem schlechter laufen.
 
#12
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
dlonra hat gesagt.:
Was soll ich sagen ich denke mal einfach, dass Intel den Geschwindikeitszuwachs nur erreicht hat indem sie den vom
Microsoft-Compiler erzeugen Maschinen Code im voraus anschauen und
häufig wiederkehrende MaschinenCode Sequenzen erkennen und
4 Befehle in einem Rutsch erledigen.
WTF? Bereits von einem Microsoft Compiler optimierter Code wird doch nicht nochmal von Intel kompiliert.

Der Benchmark wird sicher für Vergleichszwecke immer gleich arbeiten. Also optimiert man den eigenen Compiler einfach dahingehend, dass genau diese Operationen sehr schnell ausgeführt werden können zB in dem diese explizit ausprogrammiert werden, statt dynamisch darauf zu reagieren.


dlonra hat gesagt.:
Natürlich kenne ich keinen Mensch der seinen Linux-Kernel selber auf
sein System zuschneidet (compiliert).
Den Kernel neu kompilieren wird schon so ziemlich jeder Linux-User gemacht haben, der sich etwas besser auskennt. (War/Ist in einigen Situationen, besonders bei Treibern öfter notwendig) Linux hat ja den Vorteil dass man sich alles so zusammenstellen und optimieren kann wie man will. Es ist auch nicht einmal so kompliziert wie es sich eigentlich anhört und es bringt einiges.

BTW: 64-Bit bringt auch dann meist nur viel Leistung wenn der Quelltext entsprechend optimiert ist, sonst bringen die größeren Register so gut wie gar nichts, außer vielleicht einen höheren Arbeitsspeicher-Verbrauch.

dlonra hat gesagt.:
Meiner Meinung nach hat Intel nichts anderes gemacht als den schlechten
Windows Code (der immer der gleiche ist) optimiert.
Intel hat ja keinen Code von Windows selbst kompiliert, falls du das damit meinst.

Falls du damit meinst dass Windows-Programme generell auf schlechten Code aufbauen, liegst du ziemlich daneben. Compiler bzw. Betriebssystem hin oder her, das was Leistung aus einem Programm holt ist hauptsächlich der dem Programm zugrunde liegenden Quelltext.
 
#13
D

dlonra

Dabei seit
19.10.2005
Beiträge
1.149
Hi DialeNoir,

mein Hobby ist programmieren. Ich hab schon einige Bücher gekauft :D
Das mit Abstand schwirigste war der Siemens 80c535 Microcontroller.
Dem Buch war nur ein Assembler beigelegt. Das Handbuch hab ich vom
Internet geladen. Das ist Programmierkunst :D,
dabei lernt man ziemlich viel, was Maschinencode ist und wie es mit dem
Befehlssatz des Prozessors zusammenhängt.

Beim PC programmieren kann man leicht auf den Compiler schimpfen
sieht man doch eigentlich nichts vom Befehlsatz der benuzt wird.
Eigentlich auch wurscht, da es genügend Speicher im PC gibt.

Ich hab oben nur gemeint, dass Intel, hardwaremässig, also im Prozessor selbst dafür gesorgt hat, dass häufig wiederkehrende Maschinencode-Sequenzen schneller abgearbeitet werden.

Sind wir einfach froh das es die Hochsprachen gibt und niemand in Assembler programmieren muss. :up

Grüsse
 
#14
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
Ich hab oben nur gemeint, dass Intel, hardwaremässig, also im Prozessor selbst dafür gesorgt hat, dass häufig wiederkehrende Maschinencode-Sequenzen schneller abgearbeitet werden.
Schon klar das ist was anderes, dein Text hat sich halt anders angehört.

Einige der Optimierungen die viele Befehle als einen ausführen werden davon aber in zusätzliche Befehlssätze ausgelagert, like MMX, SEE, 3D Now,... und nicht automatisch angewendet.

Automatisch funktionieren solche Dinge wie die Vorhersage von Jumps. Für die Wiederverwendung gibt es ja die Caches. ;)


Sind wir einfach froh das es die Hochsprachen gibt und niemand in Assembler programmieren muss. :up
Kann auch Assembler und weiß wovon du redest. Wäre heutzutage ja auch komplett unproduktiv. Das fängt ja schon bei Unterprogrammen an wo man umständlich manuell dafür sorgen muss dass der Stack sauber bleibt. Spätestens nach dem 3. Unterprogramm geht das einem schon ziemlich auf den Sender... :sleepy
 
#15
D

dlonra

Dabei seit
19.10.2005
Beiträge
1.149
@Diablenoir & thecaptain

Ok ich hab überspitzt geschrieben ,dass

Winodows ein schlechten Code hat.

Richtig ist das Intel festgestellt hat, dass es eine Maschinencode-Sequenz
gibt, die sehr häufig vorkommt.
Also Vorsprung durch Technik und vollkommen richtig :blush
Ich sehe meine Aussage ganz neutral....
AMD hat auch so seine Tricks (Technologie) um das beste aus dem Code zu
holen, (obwohl eigentlich der Maschinen-Code auf den Prozessor zugeschnitten werden muss).
Ich hab mal gelesen (vor langer Zeit), dass das Menü-Fading (einblenden) von
XP auf einen neuen Befehl im Befehlssatz beruht.
Nur hat dieses Feature auch bei meinem AMD K6 2 von 1998 funktioniert.
Deshalb bitte nicht böse sein es wird viel geschrieben und falsch verstanden.
Es ist auch keine einfache Sache den Durchblicken zu behalten.

Grüsse
 
Thema:

AMD: Intel-Compiler benchmarkoptimiert?

AMD: Intel-Compiler benchmarkoptimiert? - Ähnliche Themen

  • Intel Core i7-8809G: Kaby-Lake-G-Kombiprozessor mit AMDs Vega-Grafikeinheit zeigt bei FHD-Auflösunge

    Intel Core i7-8809G: Kaby-Lake-G-Kombiprozessor mit AMDs Vega-Grafikeinheit zeigt bei FHD-Auflösunge: Wer bislang mit einem auf einem Intel-Prozessor basierenden NUC-Mini-PC ein kleinere Spiel spielen wollte, hatte aufgrund der integrierten...
  • AMD Athlon 200GE - Konkurrenzkampf zwischen Intel und Athlon geht in eine neue Runde

    AMD Athlon 200GE - Konkurrenzkampf zwischen Intel und Athlon geht in eine neue Runde: Während bei Intel der Modellname "Pentium" wohl für immer und ewig den wohl bekanntesten Mikroprozessor darstellt, so gilt dies beim Konkurrenten...
  • AMD Ryzen-CPUs übergeben Führungsrolle bei Marktanteilen an Intel Coffee Lake CPUs

    AMD Ryzen-CPUs übergeben Führungsrolle bei Marktanteilen an Intel Coffee Lake CPUs: Der Chiphersteller AMD hat im vergangenen Jahr mit seinen Ryzen-CPUs ein Comeback feiern können, welches selbst die besten Optimisten nicht...
  • CPU-Sicherheitslücke: laut Google nicht nur CPUs von Intel, sondern teilweise auch AMD und ARM betroffen - Microsoft bereitet Patch vor - UPDATE

    CPU-Sicherheitslücke: laut Google nicht nur CPUs von Intel, sondern teilweise auch AMD und ARM betroffen - Microsoft bereitet Patch vor - UPDATE: Über die gestern berichtete CPU-Sicherheitslücke sind nun weitere, umfangreichere Informationen aufgetaucht. Neben einer genaueren Aufschlüsselung...
  • win10 update vom 15.11.: KB4048955 betrifft AMD-x64-Systeme, ich habe aber einen INTEL Core 2 duo Pr

    win10 update vom 15.11.: KB4048955 betrifft AMD-x64-Systeme, ich habe aber einen INTEL Core 2 duo Pr: Der Patch KB4048955 bricht zu Recht aber ab. Und dann wird das Update deinstalliert. Wie kann ich den Patch deaktivieren oder herausnehmen?
  • Ähnliche Themen

    Oben