[F]L4SH
Rear Admiral
- Registriert
- Aug. 2008
- Beiträge
- 5.318
Dann frag mal die Kinesen!
Jo und als nächstes fragen wir die Demokratische Volksrepublik Korea, wem die Republik Korea gehört und die Palästinenser, wem West-Jerusalem gehört
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Dann frag mal die Kinesen!
oldmanhunting schrieb:Habe selbst beruflich 3 Jahre in China (Peking und Shanghai) gelebt und was soll ich sagen, ich mache einen großen Bogen um chinesische Produkte. Das wird bei chinesischen Prozessoren nicht anders werden.
Was soll ich mich über chinesische oder russische Prozessoren freuen? So etwas wollte ich noch nicht einmal geschenkt haben.
Headcool schrieb:Mars: 0.6 Teraflops FP single precision @ ~120W
Xeon Phi Knights Landing: ~6 Teraflops single precision @ ~200W
Da sieht man wieder mal wie unglaublich "effizient" die ARM-ISA wirklich ist.
So ein Teil würde ich nicht mal geschenkt nehmen.
Mr.Seymour Buds schrieb:Du solltest bedenken, dass die Herstellkosten für den MARS mit Sicherheit auch sehr viel niedriger sein werden. Die Chinesen bauen den dann halt 10 mal. Strom? Ist da eh egal, die haben billige Kohle aus Australien!
Und was genau hat das jetzt mit der ISA zu tun? Xeon Phi hat auch nur deshalb so viele FLOPs, weil man das Ding mit 512 Bit-SIMD-Rechenwerken vollgestopft hat, wie man sie (noch) in keiner normalen x86-CPU findet. Dass der Prozessor hier offensichtlich gar keine SIMD-Einheiten hat, hat erstmal wenig mit den Befehlssatz zu tun.Da sieht man wieder mal wie unglaublich "effizient" die ARM-ISA wirklich ist.
VikingGe schrieb:Und was genau hat das jetzt mit der ISA zu tun? Xeon Phi hat auch nur deshalb so viele FLOPs, weil man das Ding mit 512 Bit-SIMD-Rechenwerken vollgestopft hat, wie man sie (noch) in keiner normalen x86-CPU findet. Dass der Prozessor hier offensichtlich gar keine SIMD-Einheiten hat, hat erstmal wenig mit den Befehlssatz zu tun.
Was man per (proprietärer) Erweiterung lösen könnte. Nochmal, das konnte x86 vor Xeon Phi auch nicht.Mehr geht auch gar nicht, weil die ARMv8-ISA eben keine Instruktionen für 256/512 bit breite SIMD Einheiten hat.
Dann kann aber die Rechnung mit 0.6TFLOPS (SP) nicht passen. 64*4 (wg. 128 Bits) *2 (wg. zwei Einheiten) *2 (wg. FMA) * 2.0 GHz sind nach meiner Rechnung über 2 TFLOPS. Sofern die FPUs vernünftig gepipelined sind, aber davon kann man im Jahre 2015 wohl ausgehen.Der Mars hat SIMD Einheiten, allerdings nur 128bit breit.
Fakt ist aber nunmal, dass bei x86-Hardware unheimlich viel Arbeit ins Frontend gesteckt wird und auch werden muss, weil die ISA einfach so fürchterlich kompliziert ist. Einer der Gründe, warum x86-Hardware heute relativ stromsparend relaisiert werden kann, ist eben, dass die ganze Decodiererei dank µop-Caches usw. nicht mehr für jeden Befehl separat ausgeführt werden muss.Punkt ist, dass die ARM-ISA nicht energieeffizient und die x86-ISA nicht energiehungrig ist, auch wenn das oft behauptet wird.
Tekpoint schrieb:Chenesen
VikingGe schrieb:Was man per (proprietärer) Erweiterung lösen könnte. Nochmal, das konnte x86 vor Xeon Phi auch nicht.
VikingGe schrieb:Dann kann aber die Rechnung mit 0.6TFLOPS (SP) nicht passen. 64*4 (wg. 128 Bits) *2 (wg. zwei Einheiten) *2 (wg. FMA) * 2.0 GHz sind nach meiner Rechnung über 2 TFLOPS. Sofern die FPUs vernünftig gepipelined sind, aber davon kann man im Jahre 2015 wohl ausgehen.
Wo steht das eigentlich? Auf den Folien steht es offensichtlich nicht, oder ich überlese da was. Was ich da allerdings sehr wohl finde ist die Angabe mit 512 GFLOP/s Peak Performance. Irgendwie fehlt mir da jetzt gerade die Erklärung für den Unterschied um Faktor 4.
Edit: Da steht wohl, dass 128 Bit-Befehle unterstützt werden, aber das heißt nicht, dass auch 128 Bit-Hardware verbaut wird.
VikingGe schrieb:Fakt ist aber nunmal, dass bei x86-Hardware unheimlich viel Arbeit ins Frontend gesteckt wird und auch werden muss, weil die ISA einfach so fürchterlich kompliziert ist. Einer der Gründe, warum x86-Hardware heute relativ stromsparend relaisiert werden kann, ist eben, dass die ganze Decodiererei dank µop-Caches usw. nicht mehr für jeden Befehl separat ausgeführt werden muss.
Nur, dass SSE5 nie implementiert wurde, weil mit AVX schon etwas Besseres in Sichtweite war.Propietäre Erweiterungen sind eine schöne Sache vor allem wenn man einen Alleingang wagt. Frag doch mal bei AMD nach wie SSE5 so läuft.
FMA ist zumindest in der x86-Welt eine SIMD-Operation, die auf der vollen Vektorbreite arbeitet. Natürlich verdoppelt das die Peak-Leistung, und ich gehe mal davon aus, dass MARS das genau so handhabt.Da FMA aber nur 2 Operationen durchführt im Gegensatz zu den klassischen SIMD-instruktionen welche 4 durchführen
Das ist die Latenz, also die Anzahl der Takte, die benötigt wird, bis ein vom Ergebnis abhängiger Befehl ausgeführt werden kann. Sofern die Hardware gepipelined ist, kann aber jede Einheit pro Takt einen Befehl annehmen, insofern ist die Rechnung schon richtig.Außerdem gehst du davon aus, dass alle Instruktionen eine Zyklus benötigen was auch nicht richtig ist.
Nämlich?Es können einfach viel mehr Funktionalitäten in Hardware gegossen werden und müssen nicht über Software emuliert werden.
VikingGe schrieb:Nur, dass SSE5 nie implementiert wurde, weil mit AVX schon etwas Besseres in Sichtweite war.
Bei so einem Chip hier könnte man den Schritt durchaus wagen, weil die Software, die darauf läuft, in der Regel doch recht speziell ist und darauf optimiert werden kann (und wenn es nur per Compiler-Flag ist).
VikingGe schrieb:FMA ist zumindest in der x86-Welt eine SIMD-Operation, die auf der vollen Vektorbreite arbeitet. Natürlich verdoppelt das die Peak-Leistung, und ich gehe mal davon aus, dass MARS das genau so handhabt.
Wie kommen denn die 6 TFLOPS (SP) von Knights Landing wohl zustande? Genau so:
72 Kerne * 2 vollwertige FMA-Einheiten * 16 SP-Komponenten pro Vektor bzw. Einheit * 2 wg. FMA * 1.3 GHz.
VikingGe schrieb:Das ist die Latenz, also die Anzahl der Takte, die benötigt wird, bis ein vom Ergebnis abhängiger Befehl ausgeführt werden kann. Sofern die Hardware gepipelined ist, kann aber jede Einheit pro Takt einen Befehl annehmen, insofern ist die Rechnung schon richtig.
Nebenbei sind die drei Takte Latenz für eine Addition und eine Multiplikation exakt dieselben wie bei Broadwell, die sind schon realistisch.
VikingGe schrieb:Nämlich?
x86-ISA hat in der Tat ein paar für Userspace-Code relevante Vorteile (z.B. das direkte Nutzen von Daten aus dem RAM, was bei RISC-Architekturen immer einen zusätzlichen Befehl braucht, ggf. die komplexe Addressierung), aber viele komplexe Befehle (z.B. das prinzipiell sinnvolle shld oder der angestaubte loop-Befehl) werden bei den meisten CPUs einfach in mehrere µops übersetzt und sind nicht schneller als die äquivalenten einfachen Operationen, je nach CPU sogar langsamer.
Auf der anderen Seite hat(te) x86 früher extrem wenige Register (bei x86_64 ist das kein großes Problem mehr und mit AVX-512 kommen nochmals so viele SIMD-Register dazu, dass man davon eigentlich mehr als genug haben müsste) und außer dem cmov-Befehl keinerlei Unterstützung für conditional execution für Integer-Befehle, um Sprünge zu sparen. Bei ARM geht das mit fast jedem Befehl.
SSE4a ist aber auch ein ziemlich schlechter Witz, wenn man mal von POPCNT und LZCNT absieht (die aber auch eigene CPUID-Flags haben und streng genommen nicht so wirklich dazu gehören). Mir fällt beim besten Willen kein einziges Anwendungsgebiet für die beiden Bitmanipulationsbefehle ein, und bevor ich irgendwas per movntsd in den RAM speichere, wird das eher in einem vollen Vektorregister gruppiert.Ich meinte SSE4.a
Ich habe ARM ehrlich gesagt noch nie in Assembler programmiert, aber dass letzteres nicht existiert, wundert mich dann doch etwas.Weitere Instruktionen die x86 inhärent effizienter macht inkludiert Cache-Prefetch, Scatter & Gather,
Die Intel ja bei Haswell so toll hinbekommen hatTransactional Synchronization Extensions
Es macht noch viel weniger Sinn, eine FPU zu bauen, die so sehr am Durchsatz krepiert.Es macht keinen Sinn die Latenz auf diesen Folien anzugeben. Die Latenz ist für den entsprechenden Anwendungsbereich komplett irrelevant. Ich denke eher, dass damit der Throughput gemeint ist.
Shoryuken94 schrieb:Wie kann es denn angehen, dass das Teil halb soviel Leistung wie die zwei Xeons bringt, aber gegenüber einem Xeon 20% schneller ist?
Ansonsten schon interessant das Teil. Bin aber auch mal gespannt, wie das am Markt ankommt.
VikingGe schrieb:Ich habe ARM ehrlich gesagt noch nie in Assembler programmiert, aber dass letzteres nicht existiert, wundert mich dann doch etwas.
VikingGe schrieb:Der Witz an unseren AVX-Instructions ist ja eigentlich, dass der Grundbefehlssatz ziemlich RISC-Like ist.
VikingGe schrieb:Die Intel ja bei Haswell so toll hinbekommen hat
VikingGe schrieb:Es macht noch viel weniger Sinn, eine FPU zu bauen, die so sehr am Durchsatz krepiert.
Ich meine, 512 GFLOPs Peak-Performance bekommt man auch mit nem i7-6700K hin, da braucht man keine 64 Kerne für. Das werden die in China wohl auch wissen.
Wie kommst du dadrauf?Headcool schrieb:Die einzelnen Operationen ja. Aber die Idee von SIMD widerspricht grundlegend der von RISC.