Multi GPU System für wissenschaftliche Berechnungen

Vier Grafikkarten unter Luft sind kein Problem. Benötigt werden nur entsprechende Gehäuselüfter. Sowas darf auch in jeden Serverraum. Da kann der Admin seine Spiegeleier drauf braten. :D

Als Bastellösung kann man einen I7-6950X mit zehn Grafikkarten ausstatten. Mit diesem Mainboard die ersten sieben Grafikkarten mit normalen Riserkarten. Die achte erhält die vier Lanes des M.2-Steckplatzes. Nummern neun und zehn haben je zwei Lanes von SATA Express.
 
Neben Nvidia kannst Du auch AMD nutzen. Dort gibt es auch performante 1-Slot GPUs (3 Grafikkarten hat bisher AMD hier vorgestellt mit den Namen „MI6“, „MI8“ und „MI25).

AMD springt derzeit auf den DeepLearning-Zug auf und bietet dafür ein Komplettpaket, bestehend aus Hardware und Software. Alles zusammen läuft unter dem Namen Radeon Instinct. Computerbase hat darüber berichtet: Link.

Ein paar Zitate daraus:

Radeon Instinct besteht neben Hardware auch aus Software

Radeon Instinct ist laut AMD mehr als nur Hardware. Im Rahmen von Instinct bietet AMD auch die notwendige Software als Open Source an. Zum Einsatz kommt unter anderem ein neues Framework auf der ROCm-Plattform, die früher unter dem Namen „Boltzmann-Initiative“ gelaufen ist und unter anderem einen HCC-Compiler (Heterogeneous Compute Compiler) bietet.

Neu ist eine auf Machine Learning optimierte Bibliothek, die AMD MIOpen getauft hat. Mit MIOpen können mehrere Frameworks wie zum Beispiel Caffe genutzt werden. AMD will mit MIOpen eine sehr hohe Performance bieten und zeigt dafür selbst erstellte Ergebnisse des DeepBench-GEMM-Test, der stark auf die vorhandene ALU-Performance anspricht. Demnach ist die MI8 in dem Test bereits minimal schneller als die GeForce GTX Titan X auf Basis von Pascal. Einen nochmal deutlichen Sprung macht die neue MI25 auf Basis von Vega. MIOpen wird im Laufe des ersten Quartals 2017 zum Download bereit stehen.

Das wäre für mich an Deiner Stelle zumindest eine Überlegung wert.
 
Übliches Setup für sowas:
2x E5-2620 v4 (kleinster mit mind. 8GT/s QPI)
C612 Board mit genug Platz, z.b. Supermicro X10DRG-Q
Das X10DRG-Q passt wunderbar in EATX Tower von Supermicro, falls du kein Rack hast.
4x Titan X Pascal oder 1080 Ti im Referenzdesign
RAM nach Bedarf, theoretisch mind. 8x 16GB für Quad Channel auf beiden CPUs.
2x U.2 NVMe SSDs, Größe nach Bedarf

Double Precision sollte hier nicht nötig sein, aber vorher Software checken. Falls ja -> Quadro Karten

Es gibt etliche Supermicro Händler die dir GPU Computing-Kisten zu guten Preisen zusammen bauen und auch nochmal beraten können, je nach Software. Grade die Händler, die auch noch gute CPU und RAM Quellen haben machen dir da manchmal Preise die nur minimal über deinem Einzelteil EK liegen, dafür mit voller Garantie und Service auf die ganze Kiste, nicht nur auf Einzelteile.
 
Zuletzt bearbeitet:
Erst einmal vielen Dank für die Antworten.

Ich habe inzwischen mehr in Erfahrung bringen können:

Alle Deep Learning Libraries, die in Frage kommen, unterstützen nur NVidia Grafikkarten. AMD fällt somit flach.
Für die Performance entscheidend ist wohl vor allem die Memory Bandbreite innerhalb der Grafikkarte und bei Multi GPU der Grafikkarten untereinander. GPU Cluster sind sehr schwierig zu konstruieren und oftmals auch nicht wirklich performant (selbst 40 GBit/s zwischen den Nodes reicht oft nicht aus). Teilweise ist die Leistung eines solchen Cluster auch unter dem eines einzelnen Rechners.
AMD Ryzen fällt also auch leider flach, da die Plattform zu wenige PCIe Lanes zur Verfügung stellt. Naples wäre dagegen wirklich super, aber wer weiß, wann die CPUs released werden und wie viele diese dann kosten...
Die Leistung der CPU ist wohl nicht so entscheidend, aber es sollte mindestens 1 Core pro Grafikkarte vorhanden sein.
Der RAM sollte 2x des RAMs aller Grafikkarten entsprechen.

Also, was sollte man nehmen? Broadwell-E mit 40 PCIe Lanes? Wie werden die Lanes eigentlich aufgeteilt (selbst 4 Grafikkarten würden ja theoretisch schon 64 Lanes benötigen)? Mir ist auch nicht ganz klar, was es bedeutet, wenn ein Chipsatz zusätzliche Lanes zur Verfügung stellt. Könnten dann Grafikkarten über den Chipsatz untereinander Daten austauschen, ohne dass CPU Lanes benutzt werden?

LG
 
GPU Nodes werden seit kurzem i.d.R. über 100Gbps Omni-Path geclustert. Wenn dir ein einzelner Multi-GPU-Node nicht reicht dann wird das richtig teuer.

Die beiden oben erwähnten E5-2620 v4 haben zusammen insgesamt 80 PCIe Lanes für "günstige" ~800€ netto.
64 Lanes für die Grakas, 8 Lanes für die beiden PCIe SSDs. Wären also immer noch 8 Lanes übrig, unabhängig vom Chipsatz.

4x GPU mit je 12GB sind 48GB.
Beim RAM kommste dann mit meiner 8x16GB = 128GB Prognose ja gut hin.

Mir ist auch nicht ganz klar, was es bedeutet, wenn ein Chipsatz zusätzliche Lanes zur Verfügung stellt. Könnten dann Grafikkarten über den Chipsatz untereinander Daten austauschen, ohne dass CPU Lanes benutzt werden?

Beispiel: Ein Z170 Chipsatz stellt 16 PCIe Lanes bereit (zusätzlich zu den 16 der CPU). Zur CPU hin hat er aber nur DMI3, was ca. 4 PCIe Lanes entspricht. Also ein massiver Flaschenhals wenn man da drüber massig Daten schaufeln will.

Deswegen benutzt man i.d.R. immer die CPU PCIe Lanes für GPUs.
 
Zurück
Oben