News Intel Skylake-EP/EX: 28 Kerne, Sechs-Channel-RAM, AVX-512 und UPI

P4ge schrieb:
Aber einfach nur Kerne abschalten bringt zwar beim Energiehunger etwas, bei der Leistung passiert hingegen Null. Ein 4+2 Design würde hingegen verschiedenste Vorteile bieten.
Worauf ich hinaus wollte ist, dass das von dir beschriebene Design (2xi3 + 4xi5) eben KEIN 4+2 Design sondern ein ganz normaler 6 Kerner wäre und wenn du nicht alle 6 Kerne gleichzeitig verwenden willst hätte er noch nichteinmal einen Vorteile gegenüber einem normalen 4 Kerner.

Ich bin mir ohnehin nicht sicher, ob big.Little im Desktop nennenswerte Vorteile bringen würde.
Zum einen ist es beim Desktop völlig egal, ob ein Computer bei wenig Last 5W mehr oder weniger Leistung benötigt und zum anderen wird der Verbrauch im Idle bzw. bei wenig Last auch jetzt schon nichtmehr vom Prozessor dominiert. Die Schwankungen im Idle-Verbrauch verschiedener Mainboards ist zum Teil höher als der gesamte Idle-Leistungsbedarf aktueller Notebooks, die genau das gleiche Prozessordesign haben.

Was die Schere zwischen Enthusiast und Mainstream angeht gebe ich dir recht und würde das hauptsächlich auf die seit dem Bloomfield eingeführte separate High-End Produktlinie und den stagnierenden Leistungsbedarf von Office und OS zurückführen. Früher brauchte man alleine für eine aktuelle SW-Grundausstattung (OS, Office, Internetexplorer) alle paar Jahre deutlich mehr Leistung. Inzwischen steigt selbst bei Spielen der Bedarf an CPU-Leistung nur sehr langsam - immerhin werden inzwischen meistens mehr als zwei 4 Kerne verwendet.

Kurz gesagt: Früher hatte jeder mehr Leistung gebraucht. Heute sind Enthusiasten die einzigen, die tatsächlich ständig mehr Leistung brauchen und die bedient Intel mit einer separaten Produktlinie.
 
Also ich sehe das mit den 4 sowie 6 und 8 Kernen so, dass Intel versucht die User die es wirklich wollen in die höhere Kategorie zu drücken.
Wie Apple mit dem Iphone das 16 und dann 64 und 128 Gb hat. Es gibt sicher viele Nutzer die eigentlich gerne nur zwei Kerne mehr hätten und dafür einen niedrigeren Takt ohne multi in Kauf nehmen würden zu einem in der Relation stehenden Preis. Das lässt Intel nicht zu und drückt sie in die andere Plattform.

Weiss denn einer wo wir geschwindigkeitstechnisch sind wenn wir von 500 mal NAND sprechen?
 
@Keloth

Die schnellsten NANDs liegen so etwa bei 10 µs. Faktor 500 schneller würde also etwa 20 ns bedeuten, was schon im oder sogar unter dem Bereich von DRAM liegt.

Viel entscheidender ist eigentlich die Angabe "persistent". Ein großes Problem von DRAM sind heutzutage die Refresh-Zyklen für nicht verwendete Zellen, was extrem viel unnötige Energie für nix verbrät. Selbst wenn sich keine Daten ändern, müssen alle paar µs sämtliche Zellen mit frischer Energie gefüttert werden.
 
Noch zu den AVX-512-Extensions: weiß man eigentlich von Software, speziell Spielen, die AVX / AVX-2 einsetzen? Ich kenne es bisher nur von Videoschnittsoftware (Cyberlink's Engine setzt explizit auf AVX-2)... bei Spielen könnte ich mir (mal wieder das technikaffine) Star Citizen vorstellen.
 
Selbst avx-256 gibt es doch erst set den sandy bridge cpus. Da könnte ich mir noch gut vorstellen, dass aktutelle Spiele das benutzen. Aber avx-512? Wie sollen die Entwickler denn darauf programmiert haben, wenn die CPUs doch noch gar nicht zur Verfügung stehen?
 
Es gibt kein AVX-256, sondern AVX2 (wurde erst mit Haswell-CPUs eingeführt).
 
Spiele benutzen AVX in der Regel nicht. Denn die Programmierung wird dann sehr umfangreich. Der verwendete Compiler muss dann auch AVX Code generieren, der modularisiert in die Software eingebracht wird ("Code Branching"). Schließlich kann sich der Spieleentwickler nicht sicher sein, ob der Käufer des Spiels nun wirklich eine CPU besitzt, welche die programmierten AVX Instruktionen unterstützt. Diesen Aufwand macht man sich nicht, weil es sich nicht lohnt. Entwickler kosten Geld, ihre Arbeitszeit ist teuer. Bevor man sowas macht, sollen die lieber Bugs suchen oder bereits Teil 6 von Doomworld-Slayers Rage programmieren.

Im Bereich Multimedia ist AVX allerdings gut verbreitet, siehe zB mein Lieblingsencoder, TEnc:

http://sourceforge.net/projects/tencoder/

Es gibt auch eine ganze Reihe von Seiten, die sich nur mit speziellen Instruktionen befassen, viele davon sind bereits bei StackOverflow verlinkt:

http://stackoverflow.com/questions/20933746/parallel-programming-using-haswell-architecture

(ich verlinke jetzt nicht alles einzeln, wen es interessiert, sieht einfach bei StackOverflow nach).

Also eigentlich braucht man SSE und AVX nur im wissenschaftlich-technischen Bereich oder eben für Multimedia Applikationen, insbesondere natürlich Encoder oder auch für das Rendern von 3D Einstellungen.
 
Zuletzt bearbeitet:
@deamon777

Das Nutzen von Befehlserweiterungen kann man zu guten Teilen allein dadurch erreichen, dem Compiler zu sagen, dass er den Befahlssatz nutzen soll. Wobei Unterstützung AVX-512 im aktuellen Intel Compiler vorhanden ist und auch schon in die GnuCompilerCollection integriert wurde. Das ist also überhaupt kein Problem.


@Mr.Seymour_Buds
Naja, in sehr vielen Bereichen Vorteile, nicht nur bei wissenschaftlichen Numbercrunchern und Multimedia. Die Vorteile die sich ergeben lassen sind mitunter nicht überall gleich hoch, in der Regel gibt es aber Benefit dem Compiler mitzugeben, dass er AVX tauglichen Code ausspucken soll :).
 
juansohn schrieb:
Naja die unteren Regionen sind auch die mit den geringsten Gewinnen pro verkauftem Prozessor, außerdem werden die hohen Entwicklungskosten meist auf die teureren Produkte ausgelagert, dass ist in der Automobilbranche ähnlich.Die neuen Sachen bekommt zuerst die Oberklasse und 3-4 Jahre später die Kompaktklasse...
ähm, völlig falsch. Die aktuell (immer noch) fortschrittlichsten Motoren hat seit über sieben Jahren Fiat in ihren Kleinwagen (Panda, 500). Und zwar elektrohydraulisch angesteuerte Einlassventile und dadurch der Wegfall der Drosselklappe als Effizienzsteigerung. Sowas gibt es sonst nur in der Formel Eins. Aber die Werbung suggeriert uns ja dass Audi soo fortschrittlich sei - technisch gesehen hinken sie Fiat über ein Jahrzehnt hinterher...

Ich finde hier bei Intels Leak ist es genauso. Viel wow und super-duper, aber nichts konkretes. Da ist AMD mit HBM Speicher und hUMA wieder meilenweit voraus. Aber die Fertigung macht ihnen einen Strich durch die Rechnung. Fertigungsbereinigt wäre AMDs jetziges Prozessordesign mindestens ebenbürtig zu Intel...
 
@Mr.Seymour Buds
Ich habe hier auch eher an die Engine gedacht, wo man mit solchen Optimierungen doch noch was rausholen kann.

@Piktogramm
Das heißt es würde einfach bei der Codegenerierung dann automatisch in entsprechende Befehlssätze übersetzt werden? Wie gut funktioniert denn so etwas? Schließlich gibt es ja nicht schlimmeres, als das hin und her switchen zwischen Vektorbefehlen und normalem Befehlssatz. Da wäre der komplette Vorteil in schlimmsten Fall direkt dahin.
Abgesehen davon könnte man es dennoch immernoch nicht testen. Das fände ich schlimmer als es gar nicht zu implementieren.
 
Mr.Seymour Buds schrieb:
Spiele benutzen AVX in der Regel nicht. Denn die Programmierung wird dann sehr umfangreich. Der verwendete Compiler muss dann auch AVX Code generieren, der modularisiert in die Software eingebracht wird ("Code Branching").

Hmm... ich dachte Du hast auch Programmiererfahrung, oder? Bist Du Assembler-Programmierer? ;) Im Ernst: Ich würde bei sowas eine Bibliothek einbinden, die entsprechende Optimierungspfade bereits abdeckt. Simple as that.

Ich meine mich zu erinnern, dass Spiele sowas einsetzen. Allerdings fallen mir die Titel gerade nicht ein... irgendjemand hier im Forum hatte da mal was erwähnt. Evtl. @Daedal? ;)
 
@deamon777

Die Compiler erledigen das Ganze halbwegs "intelligent" und Intel liefert auch allerhand Werkzeuge, die eine weitere Optimierung diesbezüglich erlauben. Zugegebenermaßen gibt es jedoch Fälle wo es sinnvoll ist AVX zu vermeiden. Die modernen Xeons drosseln bei Nutzung von AVX ja etwas und entsprechend sind einzelne AVX Befehle an der Stelle nicht zu empfehlen.
Oftmals reicht es einfach zweimal zu kompilieren, die Laufzeit aufzuwerten um festzustellen ob AVX etwas bringt oder nicht.


@Raucherdackel

Was Motoren angeht, variable Ventilsteuerungen sind jetzt nichts so Neues. Ob das mechanisch, elektromechanisch oder hydraulisch erfolgt ist dabei recht egal.

Was AMD angeht, deren aktuelle Architektur ist einfach nicht auf moderne Workloads abgestimmt. Die 2 zu 1 Verteilung zwischen ALU und FPU ist einfach mau und die Instruktionen per Clock sind schlicht miserabel. Mit Fertigungstechnologie allein ist da wenig machbar.
Auch was Huma angeht, an ähnlichen Konzepten arbeitet auch Intel. Der Unterschied zwischen AMD und Intel ist an der Stelle, dass Intel wirklich liefert. Zuletzt hat Intel da CILK-Plus vorgestellt bzw. erweitert und aus C/C++ heraus ist es nun sehr einfach direkt die GPU zum Rechnen zu nutzen inkl. ZeroCopy und anderen Späßen. Integriert wurde das in den Intel Compilern und auch gleich in GCC. Im Vergleich dazu muss man sich um die Fähigkeiten der AMD APUs in BeZuletzt gab es da die clk-Erweiterung (bin mir mit clk als Abkürzung gerade nicht so sicher) für C / C++.zug auf Huma nutzen zu können geradezu ein Bein ausreißen.
 
Mr.Seymour Buds schrieb:
Spiele benutzen AVX in der Regel nicht. Denn die Programmierung wird dann sehr umfangreich. Der verwendete Compiler muss dann auch AVX Code generieren, der modularisiert in die Software eingebracht wird ("Code Branching").
Soweit ich mich erinnere macht der aktuelle MS Compiler genau das automatisch. Ich kann aber nicht beurteilen, wie aktuell die in der Spielebranche verwendeten Compiler sind.

Es ist auch nicht ganz trivial, Code so zu schreiben, dass er tatsächlich gut autovektorisiert werden kann. Das Gute ist allerdings, dass solcher Code, meistens auch so schon sehr effizient ist, d.h man muss nicht für jede Architektur separat optimieren.

Ich denke, es kommt auch darauf an welche Instruktionen genau. Viele (die meisten?) AVX Instruktionen sind ja nur 256Bit Versionen der 128Bit SSE Instruktionen und die sind schon lange Standard. Von daher sollte es nicht schwer sein entsprechenden Code auf die neueste Version zu portieren.
 
Zurück
Oben