Frage

In den letzten Malen hörte ich viele Leute, die behaupteten, der Zellverarbeiter sei tot, hauptsächlich aufgrund der folgenden Gründe:

  • Mangelnde Unterstützung in der neuen PlayStation 3, da der Benutzer Linux nicht installieren kann
  • Die zunehmende Verarbeitungsleistung der GPU- und Kosten sinkt
  • Die Existenz eines einheitlichen Programmieransatzes (OpenCL) für verschiedene GPUs und nicht für das CBE (heute wurde heute für die Zelle bekannt gegeben!)
  • Umfang der realen Beispiele für die Verwendung der Zelle (abgesehen von den akademischen Kreisen)
  • Globales Gefühl des Absehens

Was denkst du? Wenn Sie vor zwei oder drei Jahren angefangen haben, um die Zelle zu programmieren, werden Sie dies fortsetzen oder überlegen Sie, zu GPUs zu wechseln? Kommt eine neue Version der Zelle?

Vielen Dank

War es hilfreich?

Lösung

Ich würde sagen, die Gründe für die mangelnde Beliebtheit für die Zellentwicklung liegen näher an:

  • Der Mangel an Erfolg in der PS3 (aufgrund vieler Fehler von Sony und starker Wettbewerb durch die Xbox 360)
  • Niedrige Herstellungsrendite, hohe Kosten (teilweise aufgrund einer geringen Ausbeute) und mangelnder bezahlbarer Hardwaresystem als die PS3
  • Entwicklungsschwierigkeit (die Zelle ist ein ungewöhnlicher Prozessor, für den es entwerfen kann, und das Werkzeug fehlt)
  • Versäumnis, signifikante Leistungsunterschiede im Vergleich zu vorhandenen X86 -basierten Rohstoffhardware zu erreichen. Selbst der mehrjährige Triple Core Power Architektur -Prozessor der Xbox 360 hat sich als wettbewerbsfähig erwiesen, verglichen mit einem modernen Core2 -Quad -Prozessor der Vorteile der Zellen sind einfach nicht offensichtlich.
  • Erhöhung der Konkurrenz durch GPU -Allzweck -Computing -Plattformen wie CUDA

Andere Tipps

Es ist einfacher, parallele Programme für 1000 Threads zu schreiben als für 10er Threads. GPUs haben 1000 Threads mit Hardware -Thread -Planung und Lastausgleich. Obwohl aktuelle GPUs hauptsächlich für Daten parallel kleiner Kernel geeignet sind, verfügen sie über Tools, die solche Programmiertrivien durchführen. Die Zelle hat nur wenige Reihenfolge von 10 Sekunden von Prozessoren in Verbraucherkonfigurationen. (Die in Supercomputern verwendeten Zellderivate überschreiten die Linie und haben 100er von Prozessoren.)

IMHO Eines der größten Probleme mit der Zelle war das Fehlen eines Unterrichts -Cache. (Ich habe dies 2005 mit den Zellarchitekten in einem Flugzeug zurückgelegt. - GPUs haben das gleiche Problem, obwohl sie sich beschweren. Das Anbringen von Code in Befehlsspeicher mit fester Größe ist jedoch ein Schmerz. Fügen Sie eine IF -Anweisung hinzu, und die Leistung kann von einer Klippe fallen, da Sie Overlays verwenden müssen. Es ist viel einfacher, Ihre Datenstrukturen zu steuern, als zu vermeiden, dass Code hinzugefügt wird, um Fehler spät im Entwicklungszyklus zu beheben.

GPUs hatte ursprünglich die gleichen Probleme wie Zelle - keine Caches, weder ich noch D.

Aber GPUs machte mehr Fäden, Datenparallelität so viel besser als Zelle, dass sie diesen Markt auffrischten. Lassen Sie die Zelle nur ihre Konsolenkunden und Codes, die komplizierter waren als GPUs, aber weniger kompliziert als CPU -Code. In der Mitte gepresst.

Und in der Zwischenzeit fügt GPUs i $ und d $ hinzu. Sie sind also einfacher zu programmieren.

Warum starb Zellen?

1) Der SDK war schrecklich. Ich sah einige sehr helle Entwickler über Kratzer mit den Augen, die durch IBM -Mailinglisten strömten, um dieses Problem oder das mit der Zellen -SDK herauszufinden.

2) Der Bus zwischen Recheneinheiten zeigte Skalierungsprobleme und hätte es nie in 32 Kerne geschafft.

3) OpenCL war ungefähr 3-4 Jahre zu spät, um nützlich zu sein.

Wenn Sie vor zwei oder drei Jahren angefangen haben, um die Zelle zu programmieren, werden Sie dies fortsetzen oder überlegen Sie, zu GPUs zu wechseln?

Ich hätte gedacht, dass 90% der Personen, die für den Zellprozessor programmieren, nicht in einer Position sind, in der sie willkürlich beschließen können, die Programmierung dafür zu stoppen. Zielen Sie diese Frage auf eine ganz spezifische Entwicklungsgemeinschaft?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top