Tianhe-1A: Schnellster Supercomputer der Welt mit 7.168 Tesla-GPUs von Nvidia

Die Fermis haben doch sicherlich auch ECC Speicher onboard.
Würde mich mal interessieren, wie Flexibel dieses GPU Computing ist, im Vergleich zu HPCs auf CPU-Basis?

Oder werden diese Supercomputer eh nur für einen einzigen Zweck designt und gebaut?!
 
Würde mich mal interessieren, wie Flexibel dieses GPU Computing ist, im Vergleich zu HPCs auf CPU-Basis?

Oder werden diese Supercomputer eh nur für einen einzigen Zweck designt und gebaut?!
Nun die Flexibilität ist durchaus ein echtes Problem. Ein GPU unterscheidet sich von der Arbeitsweise sehr stark von einer CPU und genau hier ist auch das großes Problem. Ich versuches es mal einfach zu erklären, bitte um Verzeihung wenn es nicht einfach genug ist oder ich einige Feinheiten, die in den Augen einiger anderer Personen noch dazugehört hätten, einfach weg gelassen habe.

Eine CPU ist entworfen worden um einen 'endlosen' Strom von Anweisungen verarbeiten zu können. Sie lädt also immer aufeinander folgende Anweisungen und bearbeitet nach diesen die Programmdaten. Ganz flexible, da die Programmlänge und damit auch die Komplexität eigentlich nur vom vorhanden Speicher abhängig ist und bis auf Laufzeitverhalten bzw. Speicherplatz keine direkten Beschränkungen vorhanden sind.

Ein GPU hingegen ist entworfen worden um einen Strom aus Daten zu verarbeiten. Hier verhält es sich halt genau umgekehrt, man gibt der GPU ein kleine Bearbeitungsbeschreibung (das was man in der Grafik als Shader bezeichnen würde) und drückt dann die Daten durch die GPU. Das bringt 2 riesen Nachteile. Zum einen dürfen die GPU Programme nicht zu groß werden, da in der GPU nicht 'endlos' Speicher vorhanden ist um die zu halten und auch die Verarbeitung sonst ewig dauern würde (was recht ineffektiv wäre), und zum anderen muss ein gewisser Satz an Daten für ein und die gleiche Bearbeitungsbeschreibung vorhanden sein, denn sonst lohnt das alles nicht mehr. Dazu kommen dann noch eine ganze Gruppe weiterer kleiner Randprobleme, die einen den letzten Nerv klauen wollen.;)

Was nun zum Problem wird, ist das übertrag von bestehenden CPU Routinen auf die GPU. Da sich CPU und GPU so stark unterscheiden ist eine 1 zu 1 übertragung eigentlich nie möglich oder Sinnvoll, so das hier meist neue Ansätze gesucht werden müssen. Das fängt von einfachen kleinen Umstellung in Berechnungen an und geht dann bis zum völligen neu Entwurf von Algorithmen.

Ob sich die Umstellung wirklich lohnt kommt letztendlich nur auf die Art der Daten an. Wenn man ganz viele Daten hat, die immer gleich zu bearbeiten sind und kaum Abhängigkeiten untereinander haben, dann ist die GPU eigentlich unschlagbar. Im anderen extrem (ein Datum mit ganz vielen unterschiedlichen Operationen) braucht man nicht mal darüber nach zu denken die Sachen zu protieren. Die Realität liegt aber wie immer dazwischen und dann kommt es meist nur noch auf die Umsetzung an. Erwähnen möchte ich noch, dass Wissenschaftliche Anwendung meist aus ganz vielen Daten bestehen, so das es sich hier eigentlich fast immer lohnt.

Ich hoffe ich konnte das etwas verständlicher machen.
 
Nun die Flexibilität ist durchaus ein echtes Problem. Ein GPU unterscheidet sich von der Arbeitsweise sehr stark von einer CPU und genau hier ist auch das großes Problem. Ich versuches es mal einfach zu erklären, bitte um Verzeihung wenn es nicht einfach genug ist oder ich einige Feinheiten, die in den Augen einiger anderer Personen noch dazugehört hätten, einfach weg gelassen habe.

Eine CPU ist entworfen worden um einen 'endlosen' Strom von Anweisungen verarbeiten zu können. Sie lädt also immer aufeinander folgende Anweisungen und bearbeitet nach diesen die Programmdaten. Ganz flexible, da die Programmlänge und damit auch die Komplexität eigentlich nur vom vorhanden Speicher abhängig ist und bis auf Laufzeitverhalten bzw. Speicherplatz keine direkten Beschränkungen vorhanden sind.

Ein GPU hingegen ist entworfen worden um einen Strom aus Daten zu verarbeiten. Hier verhält es sich halt genau umgekehrt, man gibt der GPU ein kleine Bearbeitungsbeschreibung (das was man in der Grafik als Shader bezeichnen würde) und drückt dann die Daten durch die GPU. Das bringt 2 riesen Nachteile. Zum einen dürfen die GPU Programme nicht zu groß werden, da in der GPU nicht 'endlos' Speicher vorhanden ist um die zu halten und auch die Verarbeitung sonst ewig dauern würde (was recht ineffektiv wäre), und zum anderen muss ein gewisser Satz an Daten für ein und die gleiche Bearbeitungsbeschreibung vorhanden sein, denn sonst lohnt das alles nicht mehr. Dazu kommen dann noch eine ganze Gruppe weiterer kleiner Randprobleme, die einen den letzten Nerv klauen wollen.;)

Was nun zum Problem wird, ist das übertrag von bestehenden CPU Routinen auf die GPU. Da sich CPU und GPU so stark unterscheiden ist eine 1 zu 1 übertragung eigentlich nie möglich oder Sinnvoll, so das hier meist neue Ansätze gesucht werden müssen. Das fängt von einfachen kleinen Umstellung in Berechnungen an und geht dann bis zum völligen neu Entwurf von Algorithmen.

Ob sich die Umstellung wirklich lohnt kommt letztendlich nur auf die Art der Daten an. Wenn man ganz viele Daten hat, die immer gleich zu bearbeiten sind und kaum Abhängigkeiten untereinander haben, dann ist die GPU eigentlich unschlagbar. Im anderen extrem (ein Datum mit ganz vielen unterschiedlichen Operationen) braucht man nicht mal darüber nach zu denken die Sachen zu protieren. Die Realität liegt aber wie immer dazwischen und dann kommt es meist nur noch auf die Umsetzung an. Erwähnen möchte ich noch, dass Wissenschaftliche Anwendung meist aus ganz vielen Daten bestehen, so das es sich hier eigentlich fast immer lohnt.

Ich hoffe ich konnte das etwas verständlicher machen.


das liegst du falsch, dieses problem gibt es nicht, die karten können im verbund gekoppelt an cpus(was sie sind) programme bearbeiten deren länger dabei keine relevante rolle spielt,
 
das liegst du falsch, dieses problem gibt es nicht, die karten können im verbund gekoppelt an cpus(was sie sind) programme bearbeiten deren länger dabei keine relevante rolle spielt,
Das wird der effektivität dieser Programme nicht sehr zuträglich sein, da entweder ein Contextwechsel in der GPU geben muss oder die Daten über den Bus an die nächste Einheit weiter gegeben werden müssten. Bei letzteren ist meine Aussage aber immer noch korrekt, da es sich ja defakto nicht mehr um eine GPU handelt und hier einfach nur mehrere Bearbeitungsstuffen auf mehrere GPU verteilt sind. ;)

Wie das jetzt genau bei Super Computer umgesetzt wird, weiß ich auch nicht, aber wenn die nicht komplett eigenen GPUs bekommen, ist ein nachschieben von Code ohne Contextwechsel nicht möglich.

Edit: Wenn ich dich falsch verstanden haben sollte, dann bitte kläre mich auf, vielleicht übersehe ich ja was entscheidenes.
 
Erstmal zum Supercomputer, dieser ist schon recht beeindruckend. Hatte die Meldung auf Spiegel Online gelesen, dort hieß es, dass die Chinesen in spätestens zwei Jahren einen Supercomputer bauen wollen, dessen Kern aus CPU's eines chinesischen Herstellers bestehen soll. Es wird spannend zu sehen sein, ob die in 1-2 Jahren technologisch tatsächlich so weit sein sollten, eigene CPU's (für den Einsatz in PC's) bauen zu können.

Was diese ganze GPU Computing-Entwicklung angeht, bin ich anderer Meinung. Dies mag für Profis und einige gewisse anwender durchaus Vorteile bringen, aber für die breite Masse der Anwender ist dies vollkommen unnötig. Diese müssen jedoch für dieses Feature mitbezahlen, einmal in Form höherer Enticklungs- und Herstellungskosten, welche eingepreist werden, zudem noch in Form höheren Ressourcenverbrauchs.

Es gibt schon einen guten Grund, warum es einmal Grafikkarten für Profis (FirePto/GL, Tesla) und welche für Gamer (Radeon HD, Geforce) gibt. Also sollte man mMn auch Profifeatures ausschließlich in die Profikarten implementieren.
 
Alleine die zahlen sind ja schon bombastisch :wow:
So eine Monster von Computer, kaum vorzustellen was für eine Rechenleistung dahinter steckt. Mich würde echt interessieren was so ein Teil für laufende Kosten verursacht. Alleine für den Strom geben die mit Sicherheit ein Vermögen aus :ugly:
 
Nun weil ich eine menge Leute aus diesen Bereich kenne und mein Geld genau mit sowas verdiene? Also jetzt nicht Super Computer sondern GPU Computing, aber die Grundlegende Probleme sind immer noch die gleichen.


Nun soweit ich weiß sollte Fermi beides sein.
Aber das Thema ist doch Supercomputing? Und dort werden Leute beschäftigt, die etwas mehr drauf haben, oder?
Natürlich könntest du jetzt einwenden, dass Wissenschaftler eher keine HPC-Cracks sind und eher was hochleveliges mögen, als sich mit IL herumzuschlagen, um die beste Performance herauszukitzeln.

Hat er doch geschrieben: Persönlich Erfahrung aus dem Bekanntenkreis. Ist bestimmt näher dran, als dein (Foren?) Wissen. :)
Jetzt hast du es mir gezeigt.
 
Es gibt schon einen guten Grund, warum es einmal Grafikkarten für Profis (FirePto/GL, Tesla) und welche für Gamer (Radeon HD, Geforce) gibt. Also sollte man mMn auch Profifeatures ausschließlich in die Profikarten implementieren.

Soweit mir bekannt ist, unterscheidet sich die Hardware von Geforce und Tesla, bzw. FirePro und Radeon nicht, zumindest was die GPUs betrifft.
 
AW: Tianhe-1A: Schnellster Supercomputer der Welt mit 7.168 Tesla-GPUs von Nvidia
Zitat:
Zitat von mksu
Es gibt schon einen guten Grund, warum es einmal Grafikkarten für Profis (FirePto/GL, Tesla) und welche für Gamer (Radeon HD, Geforce) gibt. Also sollte man mMn auch Profifeatures ausschließlich in die Profikarten implementieren.

Soweit mir bekannt ist, unterscheidet sich die Hardware von Geforce und Tesla, bzw. FirePro und Radeon nicht, zumindest was die GPUs betrifft.

Soweit mir bekannt unterscheidet sich schon eine ganze Menge zwischen den Karten, auch wenn die Architektur doch gleich ist, so nutzt Tesla bspw. den Registrierten Speicher mit Fehlerkorrektur, welcher zwar etwas langsamer aber dafür deutlich stabiler ist. Vor allem aber viel zu teuer für den Gamerbereich.
 
Die Fermis haben doch sicherlich auch ECC Speicher onboard.
Würde mich mal interessieren, wie Flexibel dieses GPU Computing ist, im Vergleich zu HPCs auf CPU-Basis?

Oder werden diese Supercomputer eh nur für einen einzigen Zweck designt und gebaut?!
Ja die Fermis haben den ECC RAM an board. Das macht ihre 515 GFlops DP Leistung auch viel besser als die 525 GFlops der ATI. Denn bei der ATI musste im prinziep alles doppelt rechnen. hast also nur noch knapp 240 GFlops über. Dazu kommt noch das die Tesla Karten mehr RAM haben können (bis zu 6GB warens glaub ich, wobei die 2050 glaub die 4GB Variante ist)

Ne GPU ist immer unflexibler als ne CPU, dafür aber halt auch schneller. Rekursionen sind z.B. verboten unter OpenCL und meines wissens nach auch unter CUDA.

Soweit mir bekannt unterscheidet sich schon eine ganze Menge zwischen den Karten, auch wenn die Architektur doch gleich ist, so nutzt Tesla bspw. den Registrierten Speicher mit Fehlerkorrektur, welcher zwar etwas langsamer aber dafür deutlich stabiler ist. Vor allem aber viel zu teuer für den Gamerbereich.

Ja auf den Tesla Karten wird ECC eingesetzt, wie ich oben schon gesagt habe. WIe du richtig festgestellt hast, ist dieser langsamer, daneben kannst du aber auch weniger RAM effektiv nutzen, was man aber wegen der Datensicherheit hin nimmt. Man sollte dabei aber beachten, das nur 1Bit Fehler korregiert werden können und 2 bit Fehler erkannt. Wenns mehr ist, merkste nicht mehr das nen Fehler da ist, aber das ist selbst bei so großen Clustern eher unwahrscheinlich. Ein 1bit Fehler kommt dagegen schon relativ häufig vor. Mit Stabiel im Sinne von Abstürzen hat das eigentlich weniger zu tun.

Wie aber gesagt wurde, der Chip an sich ist bei den Profi und Gamer Karten absolut identisch. Bei den Gamer Karten werden nur features abgeschalten, welche mit Defekt in dem Bereich verwendet, oder aber auch mit Lasercuts zerstört an einigen Stellen. Der größte Unterschied sind die Boards mit dem RAM und eventuellen extra Anschlüssen und die Treiber. Das wars aber.
 
Mit dem ding kann man crysis warhead inklusive mods flüssig spielen.
So nen Teil muss ich mir auch mal anschaffen. So wegen der Zukunftssicherheit
 
komisch bei CB ist der News-Thread schon geschlossen..wieso auch immer.

also zum Thema: Ich finde das nicht gut...dass die Chinesen nun so einen krass uber-Supercomputer haben...gleich den aktuell besten geschlagen...omg...

Evtl. um damit alle Einwohner genaustens zu kontrollieren...schöne Hackangriffe zu starten usw....ich denke mal die Maschine wird für nicht sooo viel sinnvolles eingesetzt....bzw. bei der Regierung und dem Land schwer vorzustellen! Nichts als Machtausüben, unterdrücken, zensieren usw. mehr kann China nicht!

Dann brauchen wir hier in Deutschland ja auch unbedingt so ein Überding. Damit können wir dann alle "Sicherheits"-Kameras in Echtzeit überwachen und mit der Biometrischen Bundesbürgerdatenbank abgleichen. Außerdem können wir dann jeden festnehmen lassen der übers Internet seine Meinung kund tut sofern sie der Obrigkeit nicht passt und überhaupt - Vielleicht kann man damit sogar den perfekten Bürger erschaffen. Arbeitet, hat kein Hirn und ist Obrigkeitshörig. Moment... Diese Leute gibts ja schon Millionenfach - Verdammt...

@ Mystic Binary, kannst du bitte ein anderes Profilbild nehmen? Ich will dich nicht beleidigen aber wenn ich das Bild sehe bekomme ich Aggressionen und möchte am liebsten auf der Stelle das Grinsen wegbügeln. Das geht anderen bestimmt auch so, du würdest uns einen großen Gefallen damit tun!
 
Zurück