Intel Knights Landing arbeitet mit NVIDIA GeForce

8

Es werden viele Artikel darüber geschrieben, wie der neu eingeführte Intel Xeon Phi den Wettbewerbern den Marktanteil von HPC \ Super Computer stehlen wird. Intel Knights ist mit 72 Kernen und 4 Sockeln ausgestattet, was es zu einem 288-Kernsystem macht. Während ein einzelner Gtx980 2048 CUDA-Kerne hat. Wie können diese beiden in Bezug auf die Rechenleistung konkurrieren (es sieht so aus, als ob GTX weit voraus ist)? Oder zielen sie auf völlig unterschiedliche Arbeitslasten ab. In welchem ​​Fall sind dies einige Beispiele?

Vielen Dank.

Chandan
quelle
1
Sie können den Unterschied Vergleiche sehen hier . Dies hängt jedoch etwas von der jeweiligen Aufgabe ab.
user189035
1
Dieser Link ist sehr informativ. Danke für das Teilen.
Chandan

Antworten:

8

Wie Brian sagte, sind die Xeon Phi-Kerne überhaupt nicht mit den CUDA-Kernen vergleichbar. Das Problem mit dem Phi ist, dass es irgendwo zwischen zwei Pferden liegt.

Wenn Sie hochparallele Gleitkommaberechnungen durchführen, bietet Ihnen NVIDIA etwa die dreifache Leistung zu einem Viertel des Preises. Bei doppelter Präzision ist der Abstand kleiner, aber NVIDIA ist bei gleicher Leistung immer noch 20% billiger.

Wenn sich Ihr Problem nur schwer parallelisieren lässt, hilft Ihnen das Phi überhaupt nicht. Stattdessen bietet Ihnen so etwas wie ein Intel Xeon die beste Leistung.

Der Sweet Spot für das Phi ist dann etwas sehr Paralleles, aber Divergentes, dh jeder Thread muss etwas anderes tun. Ein Beispiel hierfür wären Monte-Carlo-Simulationen. Sie werden beispielsweise in Simulationen von Strahlentherapie-Behandlungen verwendet, bei denen GPUs nur eine geringe (~ 2x) Beschleunigung gegenüber einer Standard-CPU bieten.

Intel versucht auch, das Xeon Phi zu verkaufen, da Sie Ihren Code nur minimal umschreiben müssen. Für alles, was nicht trivial zu parallelisieren ist, wird die Arbeit dieselbe wie für eine GPU.

LKlevin
quelle
Für Akademiker, die das OpenACC-Toolkit kostenlos erhalten können , ist das Umschreiben des Codes für eine NVIDIA-Karte nicht unbedingt so schwierig!
Dr. Blochwave
Es ist nicht nur so, dass Sie in CUDA nicht neu schreiben müssen, sondern auch, dass Xeon Phi Programmiermodelle unterstützt, die auf anderen Plattformen ausgeführt werden. Es gibt kaum einen Unterschied zwischen der Abstimmung für modernes Xeon und Xeon Phi - beide erfordern sorgfältiges Einfädeln und Vektorisieren. Und was auf Xeon gut läuft, sollte auf CPUs von AMD, ARM und IBM gut laufen. Auf der anderen Seite binden Sie die NVIDIA-Modelle in ihre Hardware ein.
Jeff
Ich würde respektvoll widersprechen. Während ein 22-Kern-Xeon und ein Xeon-Phi ähnlich sein können, unterscheidet es sich stark von einem 4-Kern-AMD und noch mehr von einem ARM-Prozessor, der einen völlig anderen Befehlssatz enthält. Da NVIDIA Sie an die Hardware bindet, können Sie mit AMP und OpenCL Ihren Code auf AMD-Geräten und sogar auf CPUs ausführen.
LKlevin
Der Befehlssatz spielt keine Rolle, es sei denn, Sie schreiben eine Baugruppe. Ich habe den Code für PowerPC, POWER, AMD Opteron, alle Arten von Xeon und sowohl KNC als auch KNL optimiert. Die Techniken sind bis auf die Nuancen der Speicherhierarchie weitgehend gleich. Mein OpenMP C / Fortran ist bis auf Compiler-Fehler vollständig portierbar.
Jeff
7

CUDA-Kerne sind überhaupt nicht mit den separaten Prozessorkernen in den Xeon Phi-Coprozessoren vergleichbar. Die Phi-Coprozessorkerne sind vollwertige Prozessoren, die ihre eigenen Schleifen, Verzweigungen usw. haben können, während die CUDA-Kerne alle dieselben Operationen auf verschiedenen Segmenten Ihrer Daten ausführen.

Brian Borchers
quelle