AMD Carrizo - Kaveri-Nachfolger im Detail

Mich würde hier mal interessieren, ob es überhaupt "immer" möglich ist den Code so effizient zu gestalten, dass dieser immer 100% der CPU auslastet. Offengestanden glaube ich das nämlich überhaupt nicht. Selbst extrem parallelisierte Programme profitieren von SMT.

Der Intel Linpack erreicht ohne HTT eine bessere Auslastung als mit.

Zitat:
Intel Optimized LINPACK Benchmark is threaded to effectively use multiple processors. So, in multi-processor systems, best performance will be obtained with the Intel® Hyper-Threading Technology turned off, which ensures that the operating system assigns threads to physical processors only.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
CPUs funktioniere in der Vertikalen wie in der Horizontalen aber identisch. ;) SMT greift an dem Punkt auf, dass die CPU oder besser gesagt die Software Rechenleistung auf dem Kern liegen lässt, weil sie ihn aus unterschiedlichen Gründen nicht abruft. Die freien Ressourcen nutzt halt SMT. Einen konkreten Code zu nennen ist ja nicht wirklich möglich, gäbe es dieses Code, den es theoretisch geben muss, so würde in diesem kein Leistungsunterschied bei "totalem" Multithreading zwischen i5 und i7 existieren. Da ist dieses Phänomen so nicht in der Praxis gibt, zeigt, doch, dass es den sehr effizienten Code nicht gibt. Wobei sich bei vielen Arten von Software auch die Frage stellt wie nahe man ans Optimum heran reichen kann..
Hmm, glaube ich verstehe was du meinst. Denke ich sollte mich mal einlesen was für sonstige ungenutzte Ressourcen das so sind.
 
Hmm, glaube ich verstehe was du meinst. Denke ich sollte mich mal einlesen was für sonstige ungenutzte Ressourcen das so sind.

Informiere dich mal über "Algorithmen und Datenstrukturen" oder die "Komplexität von Algorithmen". ;) Das umreißt natürlich nicht das ganze Problem, aber es verdeutlicht schon mal die Abhängigkeiten. Finde ich zu mindest. :d
 
fdsonne schrieb:
Auf der theoretischen Ebene könnte man sagen, wenn die Pipeline durch diverse Bedingungen nicht optimal befüllt ist und somit "Lücken" entstehen kann dir SMT Punkte bringen.
Hast du hingegen höchstoptimierten Code der quasi keine Luft in der Pipeline lässt, wird dir wohl SMT auch keine Vorteile bringen.

Ich denke nicht dass die Abhängigkeit einer Skalierung von SMT wirklich so stark vom Code abhängig sein sollte, ansonsten wäre das Modell das Intel da erschaffen hat, nicht sehr zukunftssicher.
Ich würde mal behaupten dass es keinen Code geben kann der alle Ressourcen einer CPU auslasten kann, da liegt immer etwas brach. Das schafft nicht mal Seti @ Home.
SMT parellelisiert mit einem zusätzlich abarbeitenden Thread die eigentlichen Befehle in der echten Pipeline welche unabhängig voneinander bearbeitet werden können.

Wenn ich jetzt allerdings einfache Rechenoperationen schreibe, die komplett sequenziell ablaufen, dann sollte da nix rauszuholen sein, das sollte schon klar sein.
Wenn allerdings Integerlast auf FPU Last trifft und zugleich noch etwas aus dem Cache geladen wird und das ganze dann noch ne recht komplexe Anwendung ist, die optimalerweise parallelisiert wird, dann dürfte SMT eigentlich immer funktionieren.
 
ich hab ein cooles beispiel

Battlefield 4. mit SMT läuft es eigentlich nicht wirklich besser als ohne SMT. denn das spiel ist so gut multi core optimiert, das die 4 intel kerne schon nahezu zu 100% ausgelastet sind.

Battlefield 4 läuft sogar so gut das es sogar die 8 Threads von einem FX8150 auslasten kann.

schlussendlich habe ich dank den thread hier nun dazu gelernt was SMT wirklich ist. meiner meinung nach habe ich SMT immer überschätzt, und sehe es nun sehr viel wertloser an (aber auch nicht als komplett belanglos).

früher dachte ich immer, SMT erzeugt einfach so immer 25-30% mehr leistung, solange programme multi threading nutzen. jetzt habe ich gelernt, um so besser programme multi threading nutzen (BF3 & 4), um so eher geht SMT gegen 0%.

genau wie sonne sagte.

der Code hochoptimiert ist, macht es SMT auch nicht besser. Ggf. wird es sogar langsamer.

also ist ein i7 quasi ein i5 sobald man so gute spiele wie Battlefield 3 & 4 spielt. spiele werden in zukunft immer öfter so multi core optimiert sein wie battlefield, vorallen wegen den konsolen.

daher ist für uns gamer ein i7 bzw i3 immer unwichtiger um so mehr zeit vergeht.

daher kann man wohl sehr gut sagen, 4 way smt wird für gamer nicht wirklich interessant. viel interessanter ist CMT von AMD. denn wie FDsonne sagte.

CMT ist dennoch der im Grunde leistungsfähigere Ansatz. Weil man damit eben mehr Ausführungseinheiten abbildet anstatt das ganze nur auf der logischen Ebene aufzutrennen. Nur ist dort halt der Nachteil, das die Software auch in der Lage sein muss, diese "Breite" entsprechend ansprechen zu können.
 
Zuletzt bearbeitet:
Aber da steckst du wieder im Dilemma. Und die Zukunft hat gezeigt, dass das Potential immer an der verfügbaren Software scheitert. Bulldozer gibt es nun seit 2011? In der Zeit ist nicht wirklich was an optimierter Software bei rum gekommen. So mies es auch klingen mag, aber bei einem Marktanteil von 13% !? (bei Bulldozer sogar nur ein Bruchteil) hätte ich als Entwickler auch keine großartigen Ambitionen auf AMD zu optimieren.

Bzgl. deiner SMT Theorie. Diese anhand einer Grafikengine zu vergleichen, ist ein wenig absurd. Als Beispiel würde ich z.B. den x264 Encoder nennen, der durchaus gut auf Multithread anspricht und mit SMT um eine 20% bessere Leistung erzielt.
 
Bulldozer gibt es nun seit 2011? In der Zeit ist nicht wirklich was an optimierter Software bei rum gekommen.

So mies es auch klingen mag, aber bei einem Marktanteil von 13% !? (bei Bulldozer sogar nur ein Bruchteil) hätte ich als Entwickler auch keine großartigen Ambitionen auf AMD zu optimieren.

dagegen habe ich 2 argumente.

1. multi threading software ist eh nicht auf 4 threads begrenzt. wieso sollte man sich nur auf 2 oder 4 kerne beschränken als game entwickler ?
2. die konsolen mit ihren 6 kernen gibts doch jetzt :) das wird die entwicklung noch mehr in richtung pro bulldozer schieben.
 
Glaube Schaffe wollte ein echtes Beispiel für solchen Code. Kann man effizienten und ineffizienten z.B. in C++ erzeugen?
Dachte Compiler holen da auch schon automatisch das bestmögliche raus...

Das ganze setzt quasi auf der Hardware an...
Wenn überhaupt kann man (in)effizienten Code anhand von Maschinencode erkennen. Zumal der Code eben in Zusammenhang mit der Hardware als (in)effizienz einzustufen ist. Was also auf einem Prozessor vom Typ X effizent läuft kann auf einem anderen Modell Typ Y anders ausschauen. Entsprechend ist der Vergleich von Code in einer Hochsprache eher unsinnig.
Vielleicht hab ich mich dahingehend auch etwas unglücklich ausgedrückt. Ich meine natürlich nicht mangelnde Effizienz des Hochsprachen-Codes. Also wenn der Programmierer aus welchen Gründen auch immer "das Rad neu erfindet" in seinem Code anstatt schnelle und bekannte Methoden für diese und jene Sachen zu nutzen. Simples Beispiel. Du willst 2^8 errechnen. Ineffizient wäre in einer Schleife 2x2x2x... zu rechnen ;) -> nur darum gings mir nicht.

Ich schätze aber Schaffe nicht dazu ein, als kann er Assemblercode lesen, geschweige denn verstehen :fresse: Was im übrigen auch auf 99% der anderen Personen hier gelten wird. Mich jetzt mit Codebeispielen abzumühen ist also wenig zielführend. Zumal ich ebenso kein Profi im Umgang mit Maschinencode bin. :wink:

Ich denke nicht dass die Abhängigkeit einer Skalierung von SMT wirklich so stark vom Code abhängig sein sollte, ansonsten wäre das Modell das Intel da erschaffen hat, nicht sehr zukunftssicher.
Ich würde mal behaupten dass es keinen Code geben kann der alle Ressourcen einer CPU auslasten kann, da liegt immer etwas brach. Das schafft nicht mal Seti @ Home.
SMT parellelisiert mit einem zusätzlich abarbeitenden Thread die eigentlichen Befehle in der echten Pipeline welche unabhängig voneinander bearbeitet werden können.

Ich spreche von Maschinencode... Nicht das, was du in den Editor einhämmerst ;)
Und genau dieser Maschinencode ist zum Teil stark ineffizient. Eben wie man sieht durch SMT, das Leistung "aus dem Nichts" auftaucht, weil vorhandene Ressourcen schlicht brach liegen.
Nur die wenigstens Tools erzeugen absolut gar keine Leistungssteigerung durch SMT. Vorraussetzung ist natürlich immer, das man den zweiten Thread überhaupt ansprechen kann, logisch...

früher dachte ich immer, SMT erzeugt einfach so immer 25-30% mehr leistung, solange programme multi threading nutzen. jetzt habe ich gelernt, um so besser programme multi threading nutzen (BF3 & 4), um so eher geht SMT gegen 0%.

Woher hast du das gelernt!? Von mir nicht... Denn ich hab nix dergleichen gesagt.
Denn der Ansatz von SMT ist nicht der, das du damit Multithreadansätze in Hardware obsolet machen willst oder sollst. Sondern es ist ein Feature/Bonus um den Spaß in Summe effizienter zu machen.
Wenn SMT bei einem Core ~25% Performance bringt, bringt es das bei zwei, vier oder was weis ich wie vielen Cores ebenso. SMT geht also keinesfalls gegen 0%.
Das tritt z.B. genau dann ein, wenn die Software mit der Threadanzahl nicht mehr klar kommt. Was dann aber wiederum weder ein Problem des Herstellers der Hardware noch von SMT ist. Sondern es ist einfach ein Softwareproblem. Oder man stößt an die Grenzen der möglichen Parallelisierung. Bspw. wenn die Instruktionen sich nicht weiter in die Breite ziehen lassen. -> dann hilft kein SMT, kein CMT und auch keine "echten Cores" um den Speed zu steigern.

2. die konsolen mit ihren 6 kernen gibts doch jetzt :) das wird die entwicklung noch mehr in richtung pro bulldozer schieben.

eigentlich nicht... Die FX8 CPUs können auch nur acht Threads händeln. Genau so wie die S115x i7 CPUs von Intel.
für das OS sind acht Threads = acht Threads.

Die Diskusion hatten wir übrigens schonmal. Und ich kann mich nur widerholen. Du bekommst bei Intel seit 2006 von vier Thread CPUs. Das sind bis heute gesehen schlappe 7+ Jahre. Davor hat man von Singlecore über Dualcore/Dualcore mit SMT zu Quadcore keine 1,5 jahre gebraucht... Es hat schon Gründe warum Intel den Markt derart zerhackstückelt hat, dass man im Mainstream bei aktuell acht Threads schluss macht. -> einfach weil mehr für die Masse keine Mehrperformance bringt und nur "Balast" und somit Kosten bedeuten. Wer mehr will, kann ja mehr kaufen :wink: ist ja nicht so, dass es das nicht geben würde... Neben ein paar Programmen mit statischer Berechnungen, die sich idR stark über MT skalieren lässt, ist das für die Masse aber keine Option. Undabhängig ob da nun Intel oder AMD auf der Uhr steht!
 
Zuletzt bearbeitet:
eigentlich nicht... Die FX8 CPUs können auch nur acht Threads händeln. Genau so wie die S115x i7 CPUs von Intel.
für das OS sind acht Threads = acht Threads.

ich meinte das so;

ein echter 8 kerner oder ein AMD FX8 kann mit Battlefield zb viel mehr anfangen als ein i7. weil ein i7 eben keine echten 8 threads hat. daher hat ein i7 quasi auch keine nennenswerte mehrleistung als ein 4 thread i5 in dem beispiel.

dass zeigt, das smt eig unwichtig wird, wenn die software die cpu gut genug auslastet. daher würde ich eine echte 8 kern cpu oder halt einen FX8 einem intel quad immer bevorzugen. egal ob dieser smt oder 4 way smt hat oder nur ein i5 ist. im endeffekt kann der 100 way smt haben, das bringt dem bei battlefield auch nichts.

ein Kaveri hat ja schon 15% mehr IPC in Battlefield 4 als ein Richland. wenn der Excavator nochmal 10-15% ipc drauflegt, sind die 30% realistisch.
ein FX8 der mit Excavator sagen wir 20-30% mehr ipc hat als ein Piledriver FX8, wird in Battlefield 4 jeden i7 klar Zerstören.

Intel wird mit diesem SMT nichts gegen AMD,s 4 Moduler machen können wenn AMD den Excavator in finfet bringt. die 5 ghz sind dann auch mehr als standard.

daher muss intel eig mit einem 6 kerner countern sofern immer mehr games, wie Battlefield auf multi core setzen. Star Citicens ist wohl das erste nachfolgende beispiel dafür.
 
Zuletzt bearbeitet:
Das Problem dürfte nur sein:
Bis dahin is auch bei intel die Zeit nicht stehen geblieben.
Klar , ich würde AMD auch mal wieder einen richtigen Hammer gönnen, aber man sollte sich davon nicht zu viel versprechen.

Lieber bissl tief stapeln und dann überraschen lassen. ;)

In wie weit macht es eigentlich noch Sinn die Anzahl der Kerne "hochzusimulieren"?
Irgendwann müßte doch eine Grenze erreicht sein, wo das Anheben der Kernanzahl die "Verwaltungskosten" den Mehrgewinn wieder auffressen, oder?
Vor allem da ja, zumindest so wie ich das bisher hier verstanden habe, der Vorteil von mehreren Kernen nur durch die bessere Umsetzung von "schlechtem" Quelltext kommt.


Mal sehen wie lange Sandy hier noch hält...
 
sandy wird noch 5 jahre für alles an games reichen.
 
Ich spreche von Maschinencode... Nicht das, was du in den Editor einhämmerst ;)

Wobei das eine auch das andere beeinflusst, aus ineffizienter Software wird in Maschinencode nicht auf einmal ein Effizienzwunder. ;) Aber das Thema ist halt komplex und die optimalen Code werden wir wohl nie sehen...
 
schlussendlich habe ich dank den thread hier nun dazu gelernt was SMT wirklich ist. meiner meinung nach habe ich SMT immer überschätzt, und sehe es nun sehr viel wertloser an (aber auch nicht als komplett belanglos).

Das würde ich nicht sagen, da SMT teilweise über 40% Mehrleistung in Spielen bringt. Siehe Gamestar Test:

Bei den Vierkern-CPUs der Core-i7-Serie nutzt Hyperthreading in Spielen in der Regel nichts, da Spiele sowieso nur in Ausnahmefällen von mehr als vier Kernen beziehungsweise Threads profitieren. Bei Dual-Core-CPUs wie dem Core i3 4330 bringt Hyperthreading dagegen auch in Spielen, die (mittlerweile) häufig mehr als zwei Kerne beziehungsweise Threads nutzen, mehr Leistung. Teilweise ist der Vorteil durch Hyperthreading bei einer Dual-Core-CPU sogar größer als erwartet. Im Test mit Anno 2070 etwa sinkt die Leistung des Core i3 4330 ohne Hyperthreading um annähernd 30 Prozent, dasselbe passiert bei F1 2011 . Der Stromverbrauch für das gesamte Testsystem geht dabei aber ebenfalls um 20 Watt zurück, ein Hinweis auf die schlechtere Auslastung der Recheneinheiten.
Quelle

Ich stelle mir SMT wie ein Autobahn Leitsystem vor. D.h. ein i7 oder FX8xxx haben vier Spuren, weil sie beide vier vollwertige Kerne haben. Bei dem i7 dient SMT als ein Verkehrsleitsystem, das die Autos auf die 4 Spuren verteilt. Das CMT des FX8xxx ist auch ein Verkehrsleitsystem, das die Autos auf die vier Spuren verteilt und es gelegentlich sogar zwei Auto erlaubt, nebeneinander auf einer Spur zu fahren.

Also wäre CMT eigentlich besser, wäre da nicht das Problem, dass auf der AMD Autobahn aus technischen Gründen ein Tempolimit von 80 herrscht und auf der Intel Autobahn von 120 - und das Problem mit dem Straßenbelag, der bei der AMD Autobahn zu einem erhöhten Benzinverbrauch führt.

Aber es ist irgendwie klar, dass falls ein Programm eh nur zwei "Spuren" belegt ein "Verkehrsleitsystem" nicht bringt. Bei 2-Kernern ist der Nutzen, wie auch von Gamestar nachgemessen, enorm, falls doch mal ein Programm mehr als zwei "Spuren" belegen möchte.
 
Zuletzt bearbeitet:
Das würde ich nicht sagen, da SMT teilweise über 40% Mehrleistung in Spielen bringt. Siehe Gamestar Test:

Quelle

SMT wäre wertlos, wenn es optimale Software/Code gäbe, das ist allerdings eine Utopie und so skaliert diese wertlose Technik halt, je nach Threadzahl, ziemlich gut, weil halt viel Leistung liegen gelassen wird ohne SMT.
 
Das würde ich nicht sagen, da SMT teilweise über 40% Mehrleistung in Spielen bringt. Siehe Gamestar Test:

über 40% das glaube ich nicht. da bin ich ja mal gespannt.

Bei den Vierkern-CPUs der Core-i7-Serie nutzt Hyperthreading in Spielen in der Regel nichts, da Spiele sowieso nur in Ausnahmefällen von mehr als vier Kernen beziehungsweise Threads profitieren. Bei Dual-Core-CPUs wie dem Core i3 4330 bringt Hyperthreading dagegen auch in Spielen, die (mittlerweile) häufig mehr als zwei Kerne beziehungsweise Threads nutzen, mehr Leistung. Teilweise ist der Vorteil durch Hyperthreading bei einer Dual-Core-CPU sogar größer als erwartet. Im Test mit Anno 2070 etwa sinkt die Leistung des Core i3 4330 ohne Hyperthreading um annähernd 30 Prozent, dasselbe passiert bei F1 2011 . Der Stromverbrauch für das gesamte Testsystem geht dabei aber ebenfalls um 20 Watt zurück, ein Hinweis auf die schlechtere Auslastung der Recheneinheiten.

da steht annähernd 30 prozent.

das fett markierte fand ich deutlich interessanter. die sagen ja quasi das smt bei high end cpus immer nutzloser wird. was interessiert mich ein dual core im jahre 2014 als zocker ?

- - - Updated - - -

Ich stelle mir SMT wie ein Autobahn Leitsystem vor. D.h. ein i7 oder FX8xxx haben vier Spuren, weil sie beide vier vollwertige Kerne haben. Bei dem i7 dient SMT als ein Verkehrsleitsystem, das die Autos auf die 4 Spuren verteilt. Das CMT des FX8xxx ist auch ein Verkehrsleitsystem, das die Autos auf die vier Spuren verteilt und es gelegentlich sogar zwei Auto erlaubt, nebeneinander auf einer Spur zu fahren.

Also wäre CMT eigentlich besser, wäre da nicht das Problem, dass auf der AMD Autobahn aus technischen Gründen ein Tempolimit von 80 herrscht und auf der Intel Autobahn von 120 - und das Problem mit dem Straßenbelag, der bei der AMD Autobahn zu einem erhöhten Benzinverbrauch führt.

Aber es ist irgendwie klar, dass falls ein Programm eh nur zwei "Spuren" belegt ein "Verkehrsleitsystem" nicht bringt. Bei 2-Kernern ist der Nutzen, wie auch von Gamestar nachgemessen, enorm, falls doch mal ein Programm mehr als zwei "Spuren" belegen möchte.

also ich würde das anders sagen.

amds FX8 ist quasi mittlerweile fast ein echter 8 kerner. und die 4rte generation soll ja noch mehr in die richtung vollwertige 8 kerner gehen.

das sieht man bei der 3ten Bulldozer generation auch schon gut wenn man sie mit dem K10,5 vergleicht. in dem fall mit einem K10.5 Athlon II X4 (weil ohne L3 chache). denn der Kaveri hat auch keinen L3. in battlefield 4 zb ist der bulldozer bei gleichem takt nicht langsamer, obwohl er ja nichtmal ein echter 4 kerner sein dürfte mit seinen 2 modulen.

mit intel ist das ja garnicht zu vergleichen.

bestes beispiel
Haswell i5 Quad = 4 threads
Haswell i7 quad mit SMT = 8 threads
Fiktiver Haswell i9 Quad mit 4 way SMT = 16 threads

die wären alle gleich schnell. bei AMD dagegen ist das ganz anders. bei AMD ist ein FX8 schneller als ein FX6 und ein FX6 schneller als ein FX4.
 
das fett markierte fand ich deutlich interessanter. die sagen ja quasi das smt bei high end cpus immer nutzloser wird. was interessiert mich ein dual core im jahre 2014 als zocker ?

Das liegt allerdings an der Software nicht an der Technik, wie soll eine Software von SMT profitieren, wenn die Software nur vier Threads oder weniger signifikant auslasten kann? An der Stelle stinkt CMT übrigens genauso ab, weil ein FX 4xxx nicht langsamer agier als ein FX 8xxx...
 
über 40% das glaube ich nicht. da bin ich ja mal gespannt.

Du brauchst nichts glauben, denn ich habe eine Quelle mitgeliefert, deshalb kannst du wissen, dass die Mehrleistung bei über 40% liegt.

da steht annähernd 30 prozent.

Nein, das steht dort nicht. Dort steht die Leistung sinkt ohne SMT um annähernd 30%. Ich habe von der Leistungssteigerung durch SMT geredet. Und jetzt rechne mal nach: Leistung mit SMT = 100%, Leistung mit abgeschaltetem SMT = 70%. Preisfrage (ohne Preis): um wieviel Prozent steigt die Leistung folglich durch SMT?

Richtig, um 42,9% dank SMT.
 
Zuletzt bearbeitet:
Intel wird mit diesem SMT nichts gegen AMD,s 4 Moduler machen können wenn AMD den Excavator in finfet bringt. die 5 ghz sind dann auch mehr als standard.
daher muss intel eig mit einem 6 kerner countern sofern immer mehr games, wie Battlefield auf multi core setzen. Star Citicens ist wohl das erste nachfolgende beispiel dafür.
5GHz als Standard sind utopisch, würde man durch Finfet und einen kleineren Prozess 30% an Energieeinsparung rausholen so kommt man dann immernoch auf ~150W - das ist einfach zu viel.
Intel bietet seit 4+ Jahren 6 Kerne, so langsam wird es Zeit dass AMD mal countert...
wieso sollte man sich nur auf 2 oder 4 kerne beschränken als game entwickler?
50% der Käufer haben nur 2 Kerne oder weniger, 97% haben 4 Kerne oder weniger - wieso sollte irgendein Entwickler für mehr optimieren? Steam Hardware & Software Survey
Dachte Compiler holen da auch schon automatisch das bestmögliche raus...
Ein Compiler übersetzt nur, wenn er also 2 verschiedene Möglichkeiten hat etwas zu übersetzen so wird er immer wieder mal die ineffiziente Richtung wählen weil er stur ein Prozedere abarbeitet und nicht mitdenken kann...
 
Zuletzt bearbeitet:
Wenn die Software nicht auf eine Threadanzahl beschränkt ist und anstatt 4 Threads 8 für eine Operation verwendet werden können, bringt SMT und CMT (hier noch mehr) einen ordentlichen Schub. Der Compiler kann nur von Entwickler verbessert werden, er lernt wie senbei schreibt ja nicht dazu, sondern arbeitet Stur von A nach B. Microsoft hat von VS2005 zu VS2012 den Compiler geschärft, je nach Architektur der CPU und beschaffenheit der Software sind einige Prozentpunkte plus drin bei identischer Software.
 
Zuletzt bearbeitet:
Intel wird mit diesem SMT nichts gegen AMD,s 4 Moduler machen können wenn AMD den Excavator in finfet bringt. die 5 ghz sind dann auch mehr als standard.

daher muss intel eig mit einem 6 kerner countern sofern immer mehr games, wie Battlefield auf multi core setzen. Star Citicens ist wohl das erste nachfolgende beispiel dafür.

Das ist ziemliches Wunschdenken...
Denn die Entwicklung bei Intel steht genau so nicht.
Es wäre ein leichtes für Intel die heutigen Ivy-E CPUs im Mainstream zu bringen, wenn der Markt es erfordert. Warum? Weil die Dinger schlicht und ergreifend schon vorhanden sind... Seit Ivy hat es native Hexacore DIEs. Also man verschenkt an der Stelle nichtmal irgendwas an Fertigungskapazität.

Zumal, ich hatte es oben schon erwähnt, SMT genau so wie CMT sollen in keinster Weise breitere CPUs durch mehr Kerne/Module ersetzen. Sprich wenn es 4-way SMT geben sollte oder bei AMD ggf. irgendwann mal vierfaches CMT pro Modul ersetzt das in keinster Weise die absolute Anzahl der Cores/Module dieser CPUs. Wichtig ist, was am Ende hinten rum kommt.
Jeder weis, das der Intel Quadcore schneller im MT ist wie ein Intel Dualcore mit SMT obwohl beide vier Threads können (gleicher Takt/Technik)... Das gleiche gilt auch für AMD. Ein fiktiver FX8 irgendwas mit halb abgeschalteten Modulen ist schneller als ein FX4 irgendwas mit gleichem Takt und gleicher Technik.

Wenn man so will, SMT genau so wie CMT ist ein Mittel zum steigern der MT Performance. Das eine kostet mehr Transistoren/Fläche das andere weniger. Dafür bringt das eine auch mehr absolute Skalierung als das andere.
Zwei Grundverschiedene Wege in der Umsetzung mit dem quasi gleichen Ziel. -> mehr MT Performance.

In wie weit macht es eigentlich noch Sinn die Anzahl der Kerne "hochzusimulieren"?
Irgendwann müßte doch eine Grenze erreicht sein, wo das Anheben der Kernanzahl die "Verwaltungskosten" den Mehrgewinn wieder auffressen, oder?
Vor allem da ja, zumindest so wie ich das bisher hier verstanden habe, der Vorteil von mehreren Kernen nur durch die bessere Umsetzung von "schlechtem" Quelltext kommt.

Das kannst du fast bis zur "Vergasung" treiben...
Kommt halt stark auf die Software an. Siehe z.B. ein Cinebench. Der skaliert ziemlich extrem auf die Breite. Weil es statischer Kontent ist und man statischen Kontent fast beliebig zerhackstückeln kann. Um so höher der Rechenaufwand, desto besser die Skalierung hintenrum.
Das größere Problem ist die Alltagssoftware, dort hat es idR dynamischen Kontent. Also nix, was du beliebig in die Breite zerhackstückeln könntest. So bedient man sich in heutigen Games idR einem Trick, indem man einfach mehr Berechnungen dran packt. Sieht am Ende zwar besser aus, ist aber das komplette Gegenteil von dem, was man am Limit erreichen will -> nämlich das es schneller wird. Sondern es steigert sich die benötigte Basisperformance. Erreicht man diese Schwelle skaliert es nicht mehr nach oben. :wink: Also völlig anders als der Cinebench als Bsp. denn der Skaliert fast endlos. (je nach Version -> ältere Versionen können nicht mehr wie bestimmte Threads gleichzeitig händeln)

Wobei das eine auch das andere beeinflusst, aus ineffizienter Software wird in Maschinencode nicht auf einmal ein Effizienzwunder. ;) Aber das Thema ist halt komplex und die optimalen Code werden wir wohl nie sehen...

Das nicht... Sind ja zwei paar Schuhe. Ineffizienter Hochsprachencode kann durch die Übersetzung in den Maschinencode immernoch effizient sein. Eben wenn man das quasi perfekte Ergebnis dieser Berechnungsketten auf die CPU drückt.
Effizienter Maschinencode soll ja "nur" mit möglichst wenigen Takten die enthaltenen Befehle über die CPU ausführen lassen. Ist er hingegen ineffizienz, dann steigt die Zahl der benötigten Takte und somit die Rechenzeit. Ergo, weniger Performance...

Aber es ist irgendwie klar, dass falls ein Programm eh nur zwei "Spuren" belegt ein "Verkehrsleitsystem" nicht bringt. Bei 2-Kernern ist der Nutzen, wie auch von Gamestar nachgemessen, enorm, falls doch mal ein Programm mehr als zwei "Spuren" belegen möchte.

Genau dieser Punkt ist aus meiner Sicht der Ausschalggeber, warum es aktuell im Mainstreambereich nur Quadcore/modul CPUs mit maximal acht Threads gibt. -> Die Software ist nicht für diese Breite ausgelegt stand heute.
Intel hat scheinbar erkannt, das man mit günstigen Mainstream Produkten aufgrund der Absatzmasse mehr verdient als mit teuren HigHEnd Produkten. Für diese gibts nun den eigenen "Markt". Wer es will, kann es kaufen... Der Umsetz dafür dürfte allerdings deutlich geringer sein als im Mainstream. Deswegen sind die "HighEnd" Modelle auch recycelte "Server-CPUs" für nen im Vergleich schon fast schmalen Taler.

die wären alle gleich schnell. bei AMD dagegen ist das ganz anders. bei AMD ist ein FX8 schneller als ein FX6 und ein FX6 schneller als ein FX4.

Der Vergleich hinkt...
Denn dein 4 way SMT Modell i9 hat 16 Threads. Der FX8 nur acht... Du müsstest dagegen einen fiktiven acht Moduler FX stellen. Und der wäre dann wiederum genau so schnell wie der vier Moduler :wink:
Das gleiche gilt für den Quadcore i5. Hier müsste der Dualcore mit SMT stehen um gegen einen FX4 anzutreten.
 
Zuletzt bearbeitet:
Das nicht... Sind ja zwei paar Schuhe. Ineffizienter Hochsprachencode kann durch die Übersetzung in den Maschinencode immernoch effizient sein. Eben wenn man das quasi perfekte Ergebnis dieser Berechnungsketten auf die CPU drückt.

Okay, da wir hier ja gerade die CPU auslasten wollen hast du nicht unrecht. Wobei ich das nicht so ganz strikt trennen würde, aber das ist wohl Haarspalterei meinerseits... :d
 
du hast ja nur bedingt Einfluss auf die Übersetzung des Hochsprachencodes...
Sicher lässt man die Masse der Performance mit "schlechtem" Hochsprachencode liegen und der absolute Mehrwert der Maschinencodeeffizienz ist deutlich geringer... Lässt sich halt extrem schwer beurteilen da man in das Combilat am Ende nicht so ohne weiteres reingucken kann. Anders wenn du direkt in Assembler deine Programme schreibst. Da hast du halt direkt mehr Einfluss auf das Ganze. Dafür ist es halt auch ein ziemlicher Graus das ganze mit komplexeren Anwendungen zu bewerkstelligen :fresse:

Am Ende ist es doch eh alles eine Kostenfrage. Wenn der Programmierer die x fache Zeit braucht um den Spaß zu optimieren ist es unwirtschaftlicher als eher ineffizienten Code zu schreiben. Man schafft es ja heute nichtmal, halbwegs Bugfrei zu programmieren. Da ein hohes Maß an Speedoptimierung zu verlangen, passt nicht primär unter einen Hut ;)
 
Das kann ich so unterschreiben. ;) Speedoptimirung ist ja schon alleine deswegen uninteressant, weil die moderne Hardware ja offensichtlich trotzdem genug Leistung bietet. :d
 
Das kann ich so unterschreiben. ;) Speedoptimirung ist ja schon alleine deswegen uninteressant, weil die moderne Hardware ja offensichtlich trotzdem genug Leistung bietet. :d

Für den gemeinen Nutzer wird nichts optimiert, wo Geld vorhanden ist, Zeit und Performance wichtig genommen wird, kann es nicht schnell genug gehen.
 
Für den gemeinen Nutzer wird nichts optimiert, wo Geld vorhanden ist, Zeit und Performance wichtig genommen wird, kann es nicht schnell genug gehen.

Das bezog sich eher auf horizontaler oder vertikaler Auslastung, die CPUs wachsen in die Breite, auch durch SMT, es ist also generell nicht sonderlich attraktiv Zeit und Geld in die kompliziertere Horizontale zu legen. ;)
 
@ Sonne

Ein fiktiver FX8 irgendwas mit halb abgeschalteten Modulen ist schneller als ein FX4 irgendwas mit gleichem Takt und gleicher Technik.

ein FX4 ist ein FX8 der zur hälfte abgeschaltet ist, daher kann ich dir nicht wirklich folgen.

btw 4 way cmt wäre doch total die strom verschwendung. cmt + smt wäre cool. ein 2 moduler mit smt der dann quasi 6 threads hätte wäre eine cpu die ich mir gönnen würde. somit kombiniert man die vorteile beider techniken.
 
Zuletzt bearbeitet:
ein FX4 ist ein FX8 der zur hälfte abgeschaltet ist, daher kann ich dir nicht wirklich folgen.

btw 4 way cmt wäre doch total die strom verschwendung. cmt + smt wäre cool. ein 2 moduler mit smt der dann quasi 6 threads hätte wäre eine cpu die ich mir gönnen würde. somit kombiniert man die vorteile beider techniken.

Er meint in jedem Modul einen Integer-Kern abschalten, ein FX 4xxx hat einfach nur zwei Module, er will vier Module mit einem Integer-Kern, quasi wieder ein klassischen Kern.
 
achso okay. ja das ist logisch aber im prinzip nicht mit dem abschalten von smt zu vergleichen da das ganze design ohne cmt total unnütz wäre. man hätte sonnst mit dem Phenom ja schon eine bessere cpu.
intel dagegen ist design technisch nicht auf smt angewiesen.
 
Trotzdem kannst CMT auch abschalten/aushebeln und mehr erläuterte fdsonne da nicht. ;)
 
achso okay. ja das ist logisch aber im prinzip nicht mit dem abschalten von smt zu vergleichen da das ganze design ohne cmt total unnütz wäre. man hätte sonnst mit dem Phenom ja schon eine bessere cpu.
intel dagegen ist design technisch nicht auf smt angewiesen.

Es sind nunmal zwei unterschiedliche Ansätze... Mit dem gleichen Ziel dahinter -> mehr MT Performance.
Und nein, auch AMD ist im Grunde nicht auf "CMT angewiesen". Für mehr Performance kann man genau so mehr "Module" oder Kerne verbauen. Kommt im Endeffekt auf das gleiche Verhalten -> ebenso mehr MT Performance.

Man geht bei beiden Herstellern aber diesen Weg und nutzt SMT/CMT. Stell dir mal die Frage warum!?

btw 4 way cmt wäre doch total die strom verschwendung.

woher willst du das wissen!?
Irgendwie ist es müßig mit dir zu diskutieren... Da alle Nase lang deine AMD Verbundenheit durchscheint und dir scheinbar Worte in den Mund legt. Macht zumindest den Eindruck.
Es geht aktuell auf ziemlich nüchterner Ebene um die Technik und nicht um den Vergleich von Umsetzungen.
Würde man Umsetzungen vergleichen, kommt man zwangsweise zu dem Schluss, das AMDs CMT Umsetzung im Mainstreammarkt irgendwie fatal fehl am Platz ist. Denn den Prozessoren fehlt es massiv an Rohpower bei Lastszenarien unterhalb von Volllast. Diesen Umstand bekommst du weder durch mehr Cores, noch durch mehr Module (CMT) weg. Genau so wenig nutzt ne Kombi aus SMT und CMT oder sonstwas.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh