Das hier Geschriebene zeugt aber auch nicht davon. Es geht einzig und allein um bessere Auslastung der Hardware und dann hätte der Zen dann wohl noch Vorteile (zukünftig und wenn Entwickler darauf eingehen). Der Intel kann nur mit seiner Taktrate protzen, die dann irgendwo stark limitiert.
Ich würde mir erst Mal durchlesen, was logisch und physisch bei CPUs eigentlich bedeutet. Die Frage ist eher, ob die Kerne wegen ihrer Gleichheit hinderlich wirken können. Netburst hat bei Threadauslastung ein typisches Belastungspotential, was Auslastungsressourcen angeht und optimiert kann HT oder SMT da schon einiges bewirken.
Als Intel damit kam war's natürlich absolut wichtig, dass man dies hat. Die Entwicklung geht klar zu mehr ausführbaren Threads, dazu braucht man nicht immer physische Kerne, sondern kann diese auch besser auslasten und Bottelneckpotentiale minimieren.
Logische Kerne sind immer gleichwertig und wegen dieser können sie sich in der Ausführung behindern. Thread Logik in Form von HT oder SMR kostet nur wenige Register mehr und der technische Aufwand ist gering, führt jedoch dazu das mehr Threads in der Pipeline gehalten werden können. Das Gute daran ist, desto mehr auf diese Ressource zugegriffen wird, um so besser kann Multi Threading sein.
Von der Theorie her ja, praktisch kann es im Worst Case sogar Leistung kosten (wie bei manchen Spielen aufgetreten).
Wenn dann jemand andeutet, dass doppelt so viele Threads in (deutlich) mehr Leistung resultieren müssten ist das für mich nun mal "fachlich fundiert".
Darum auch meine Aussage, dass ich SMT für überbewertet halte. Finde es z.B. keinen Weltuntergang, dass die i5 das nicht unterstützen bzw. hätte ich meinen Ryzen 5 auch ohne SMT gekauft weil damals noch unschlagbare P/L
Als Dreingabe nehm ichs natürlich gerne mit.
Dass sie nicht damit umgehen können, war auch nicht die Aussage meines Beitrags, sondern eben dass der Durchsatz doppelt so hoch sein kann und das durchaus auch genauso wichtig sein kann wie zum Beispiel mehr Kerne.
Beispiele gibt's genug.
Es geht darum, dass bei den Intel Benches AVX verwendet wird und bei den AMD Benches compilerbedingt vermutlich nicht.
Ich hab persönlich überhaupt keine Ahnung davon wieviele besser ein AMD Compiler wäre und das kann glaub ich auch niemand nachweisen.
Ergo es ist so wie es ist. Wird der Intel Compiler genommen und es gibt nichts anderes, dann bringt es nichts das in Verbindung mit Performance das anzuprangern, denn dem Nutzer bringt es genau gar nichts.
Belege dafür?
Klage seitens AMD und Verurteilung Intels wäre Beweis genug?
Ansonsten wird es hier recht gut erklärt:
Agner`s CPU blog - Intel's "cripple AMD" function
Gilt natürlich nicht nur für AMD sondern auch VIA wurde benachteiligt. Ist heute halt nicht mehr wirklich relevant. 2013 haben sie das gleiche mit ihren mobilen Prozessoren und dem Antutu Benchmark durchgezogen:
ARM Beats Intel With Revised AnTuTu Benchmark | EE Times
Bei regulär verwendeter Software (wie bspw. Adobe) hättest du recht. Da kann dem User egal sein, welcher Compiler verwendet wird, da er damit leben muss. Bei reinen Benchmark-Programmen wo es um den Leistungsvergleich geht, wie eben der y-Cruncher, verfälscht das mMn die Ergebnisse.
Unter Windows gibt es keine gute Alternative zu Intel. Der Compiler von Microsoft ist teilweise deutlich schlechter für beide Plattformen. Unter Linux gibt es Alternativen und da schneidet AMD teilweise besser ab. Durch die sehr unterschiedlichen Architekturen sind natürlich Vergleiche schwierig.
Intel Core i9 7960X Linux Benchmarks Review - Phoronix
Intel Core i9-7980XE & 7960X im Test: 18 Kerne stellen bei Leistung und Preis alles in den Schatten (Seite 3) - ComputerBase
SKL-X kompiliert schnell - Core i9-7980XE im Test: Intel braucht 18 Kerne, um AMD zu schlagen - Golem.de
Intel C++ Compiler – Wikipedia
Ansonsten müsste es in allen Produktinformationen zum Intel Compiler stehen. Ich habe es auf jeden Fall schon zigfach in den offiziellen Intel-Dokumenten gelesen.
gcc kann man auch unter Windows verwenden. Auf Intel Systemen ist die Programmdatei aber mit dem Intel-Compiler in der Regel etwas performanter.
Es ist der intel-Compiler der eben für intel optimiert ist. zu sagen das intel absichtlich AMD behindet ist falsch (wie auch die gerichte festgestellt haben) und die Story ist mittlerweile 10 Jahre alt auch wenn die Story immer wieder aufgewärmt wird.
AMD Ryzen: Performance unter der Lupe |
heise online
wer suchet der findet - mit dem intel-Compiler kompilierter Code ist auf AMD CPUs nicht langsamer als mit GCC oder VS kompilierter Code - bzw der unterschied zwischen intel und AMD bleibt weitestgehend gleich.
Da steht nur was von Microsoft vs. Intel Compiler. Von gcc keine Spur, was auch in den Kommentaren angeprangert wird.
Ansonsten ist die Story zwar "10 Jahre alt" aber immer noch aktuell. Umsonst hat Intel sicher nicht ihre gerichtlich angeordnete Compiler-Warnung auf der Website.
Ansonsten Seite 133, was geschieht und wie man das umgeht:
http://www.agner.org/optimize/optimizing_cpp.pdf
Aktuelle Version ist von Mai 2017, also doch recht aktuell.