Interview mit AMD: Beschleunigung durch ATI Stream

Im Rahmen unseres Artikels zu ATIs Stream GPGPU-Technologie hatten wir die Gelegenheit, mit einigen Mitgliedern vom AMDs Entwicklergruppe zu sprechen. Hier sind die wichtigsten Punkte des Interviews zusammengefasst.

Auch wenn man sich nur oberflächlich mit dem Thema GPGPU beschäftigt, stellen sich einem schnell einige Fragen – umso mehr jetzt, wo ATIs Stream neu aufgelegt worden ist. Einige Mitglieder von AMDs ATI-Team waren so freundlich, im Rahmen unseres Artikels zu zu ATI Stream ein paar unserer Fragen detailliert und mit viel Geduld zu beantworten. Die Highlights haben wir auf den folgenden Seiten zusammengestellt.

Tom's Hardware: Stream bzw. CTM, wie es damals noch hieß, wurde bereits im November 2006 vorgestellt. Dennoch hat es bis zum Dezember 2008 gedauert, bis sich diese Technologie im Catalyst-Treiber wiederfand. Der Catalyst 9.5 Hotfix ist sogar erst im May 2009 erschienen. Das ist ein recht langer Zeitraum, um eine neue Technik in den Markt zu bringen.

AMD: Zuerst einmal möchte ich versuchen, die Unterschiede zwischen den verschieden Komponenten zu klären und zu präzisieren.

ATI Stream bezeichnet das GPGPU-Framework, bzw. die Umgebung, und zwar sowohl für die Hardware als auch die Software. Das beinhaltet auch Anwendungsbeschleunigung außerhalb der normalen 3D-Beschleunigung oder der Hardware-Unterstützung bei der Video-Wiedergabe

ATI Stream besteht aus zwei Komponenten: der Entwicklungsumgebung, zu der auch eine Hochsprache namens Brook+ gehört, und eine Laufzeitkomponente, der sogenannte Compute Abstraction Layer (CAL). Im Dezember 2008 integrierten wir den CAL in den Catalyst-Treiber. Davor gab es zwei verschiedene Versionen, von der eine bereits den CAL mitbrachte, während die andere nur die regulären Catalyst-Grafiktreiber beinhaltete. Bis Ende 2008 handelte es sich bei den meisten ATI Stream Anwendungen um kommerzielle Programme wie High Performance Computing (HPC), Öl- und Gasforschung, akademische Anwendungen und Videokonferenzen auf Unternehmensebene. Sie benötigten keine regelmäßigen Treiberupdates, weil sie in sehr stabilen Umgebungen zum Einsatz kamen, also bezogen sowohl auf die Hardware (FireStream) als auch die Software.

Die Treiber wurden vereinheitlicht, um auch Privatanwendern zu ermöglichen, Stream auf regulären Radeon-Grafikkarten zu nutzen. Wie man sehen kann, haben wir also seit 2006 einen sehr natürlichen Übergang vom HPC-Segment hin zu Mainstream-Anwendungen geschafft. Außerdem funktionieren ATIs Stream-Treiber auch praktisch problemlos mit diesen kommerziellen Anwendungen. GPGPU bringt ein völlig neues Programmiermodell mit, und das erfordert nicht nur eine neue Treiberinfrastruktur sondern bedeutet auch, dass sich Softwarefirmen und Entwickler möglichst schell dieses neue Modell aneignen, um mit dem Wachstum und den Erfordernissen  des Markts mitzuhalten

Wir erwarten einen ebenso natürlichen Übergang hin zu OpenCL und DirectX 11 mit seinen Compute Shaders, und zwar im Zeitraum ab Ende 2009 bis 2010. Denn dann werden Entwicklern und Software-Firmen APIs und Programmiersprachen zur Verfügung stehen, die nicht länger proprietär sind, was den Entwicklungsaufwand reduziert und die Entwicklung preiswerter macht.

Was die Zeit vom letzten Dezember bis Mai 2009 anbelangt: Der Grund, warum es so lange dauerte, ein Stream-Update herauszubringen, ist der, dass es nicht nur darum ging, eine einzelne Anwendung (den ATI Video Converter) zu überarbeiten. Unsere Software-Teams haben ein komplett neues Transcoding-Framework geschaffen. Dabei kooperierten verschiedene Teams, die in Toronto und im Silicon Valley saßen. Gleichzeitig arbeiteten wir auch eng mit unserem Partner Cyberlink zusammen. Parallel mussten wir natürlich die Stabilität unserer Treiber gewährleisten – und das war keine kleine Aufgabe, wenn man bedenkt, wie große Auswirkungen selbst kleine Änderung auf die Stabilität haben können.

Erstelle einen neuen Thread im Artikel-Forum über dieses Thema
Dieser Thread ist für Kommentare geschlossen
11 Kommentare
    Dein Kommentar
  • Quote:
    Die Treiber wurden vereinheitlicht, um auch Privatanwendern zu ermöglichen, Stream auf regulären Radeon-Grafikkarten zu nutzen...Außerdem funktionieren ATIs Stream-Treiber auch praktisch problemlos mit diesen kommerziellen Anwendungen.

    Wo/Welchen denn?

    Quote:
    GPGPU bringt ein völlig neues Programmiermodell mit...

    Das klingt schon anders. Nähmlich nach Arbeit.

    Quote:
    Wir erwarten einen ebenso natürlichen Übergang hin zu OpenCL und DirectX 11 mit seinen Compute Shaders, und zwar im Zeitraum ab Ende 2009 bis 2010.

    Wenn die Herren sich damit genauso viel Zeit lassen, sehe ich schwarz. Wetten Nvidia hat die GPUs und die passenden Programme schon in der Schublade, um direkt beim Lunch gas zu geben? Wenn man Wettbewerb betreiben will, dann sollte man ab und an mal den As im Ärmel haben. Hat ATi anscheinend nichtmal im Ansatz. Schade.

    Quote:
    Was die Codecs anbelangt, die das ATI Stream Transcoding-Framework unterstützt, mussten wir uns auf eine kleine Auswahl beschränken...effektiv...schon im ersten Release am weitesten verbreitet...

    Mich würde mal interessieren was denn "effektiv" bei Ati arbeitet. Wahrscheinlich der Chef beim Geldzählen. Mir ist nichts an Software von Ati bekannt oder hab auch keines gesichtet das man mit den Worten "effektiv" oder "weit verbreitet" am besten beschreiben könnte.

    Quote:
    Warum haben wir uns also für MPEG-2 und MPEG-4 AVC entschieden? Ausschlaggebend waren für uns die Quellen und die wahrscheinlichsten Ziele.

    Die man ebenso verschlafen und in den Sand gesetzt hat. Wer arbeitet bei denen denn als Analysten würde mich mal jucken? Die würd ich den ganzen Tag mit der Pfanne misshandeln.

    Quote:
    ...wenn sich die Xvid-Entwickler mit ihnen über unsere Webseite unter AMD.com in Verbindung setzen würden...

    Was soll das denn heissen? AMD sichtet jetzt eine von vielen "Marktlücken" und werden auch noch darauf hingewiesen, und da erwarten die doch allen ernstes, das die Geldgrube selber in deren Tasche hüpft? Das meine ich mit "hinterm Mond leben".

    Quote:
    Es ist von höchster Wichtigkeit, dass eine Programmiersprache, die viele parallele Berechnungen anstellt, möglichst direkt in die Grafik-API eingebunden ist. So wird OpenCL...

    Ich glaube der hat sich am Wochenende etwas zuviel genehmigt. Wieso wird alles mit OpenCL verbunden und auf irgendwann verschoben? Wusste gar nicht das man in der Zukunft leben kann. ICH lebe in der Gegenwart, also muss ich das nutzen was da ist. Sei es nun OpenGL oder D3D API. Und da erwarte das ein Entwickler von Software und Hardware das Wettbewerb betreiben will, sich an Zeitpläne hält. Wenn OpenCL für die Nett wird und "für den Kunden einiges mitbringen" wird, dann gillt das gleiche auch für Intel und Nvidia. Und die Gelegenheit wird Nvidia mit sicherheit nicht verschlafen.

    Quote:
    Es ist schlichtweg falsch und eigennützig wenn Firmen behaupten, dass die GPU der wichtigste Prozessor in einem PC sei. Ebenso falsch ist die Aussage, dass x86 die effizientesten Prozessoren seien...

    In keinem der beiden Fälle hat man die Kische auf der Torte, aber den Schlauberger raushängen lassen.

    Quote:
    ...CPUs sind beispielsweise eine gute Wahl, wenn es im lineare, unvorhersagbare oder out-of-order Berechnungen geht, während GPUs bei parallelen Aufgaben wie der Videobearbeitung, der Physikberechnung oder KI glänzen...

    Bei ATi glänzt weder der Video, noch Physik, noch der KI bereich. KI kann er gar nicht einbeziehen, da es nach wie vor über die CPU berechnet wird. Die Threadaufteilung nehmen die Spieleentwickler vor, das ausschließlich von einer CPU berechnet wird.

    Quote:
    Zu versuchen, eine Aufgabe auf die Hardware anzupassen, die man als Firma verkauft, ist ein untauglicher Ansatz.

    Bei Nvidia scheint das Modell aber ganz gut zu funktionieren. Nicht nur die Kassen klingeln, sondern auch die Kunden sind zufrieden. Das kann man kaum als "untauglichen Ansatz" beschreiben, wenn man gar nichts in der Hand als "Konkurrenz" hat.

    Quote:
    Die beste Lösung ist eine ausgewogene Kombination aus seiner x86-CPU, einer modernen GPU...Eine solche ausgewogene Plattform („balanced platform“) bringt so das Beste aus allen Welten mit.

    Aber nicht bei AMD/ATi.

    Der Typ labert einfach nur Müll. Macht werbung für Sachen die noch nie einer gesehen hat, blubbert sich einen zurecht von wegen Effizient und ausgewogen, und weicht bei jeder Gelegenheit auf OpenCL und DirectX 11 aus. Armselig...
    0
  • Das habe ich mir dann zum Schluss auch gedacht.

    Was mir - zumindest im Alltag - auffällt, die von AMD und ATI haben eine massive Dokumentationslücke ihrer gesamten Komponenten. Mit den Ausflüchten auf zukünftige und in meinen Augen noch nicht handhabbaren Technologien, wird sich das so bald auch nicht ändern.

    Allein schon deren Internetseite ist voll der Rotz.

    So nicht... leider...
    3
  • jajaja... hätt ich nur NVIDIA und CUDA, dann würden sich meine WordDokumente und EXCEL-Tabellen von selbst füllen, meine Videos würden statt 25 minuten nur 3 Sekunden zur Konvertierung brauchen, meine MP3s würden sich anhören, wie auf einer 8000 Euro Surround-Anlage und die Games ja... die hätten doppelt so viele FPS und mein Monitor und der Sessel auf dem ich sitze, würden beim starten der beiden einzig bisher mit Physix veröffentlichen Spiele zu schweben beginnen, während ich mich meiner Schwerkraft entledige. Alter, wär das geil!
    Nungut, ich sitz also mit der Schwerkraft meiner ATI Karte auf dem Boden der Tatsache, dass ich ich meinem täglichen Arbeiten und Games weder von Stream noch von Cuda nur eine Minute Zeit sparen würde oder ein merkbares Quantum an qualitativem Vorteil hätte.
    Ich lass mich aber gern vom Gegenteil überzeugen!!! Habt ihr einen sinnvollen Einsatz für CUDA oder Stream gefunden? Vielleicht wird ja die nächste Karte doch wieder eine Nvidia, wenn die DX11 vor Weihnachten 2011 auf die Reihe bekommen.
    Lg und immer schön weiter aufregen :-)
    -1
  • xxl-etHabt ihr einen sinnvollen Einsatz für CUDA oder Stream gefunden?

    Ich ja. Schau al nach Badaboom und vReveal.

    Hab ich aber alles hier niedergeschrieben.

    Ich werde auf jeden Fall weiter schlechte Publicity betreiben, bis die Jungs sich bewegen. Und das wo ich nur kann.
    0
  • SentionlineWo/Welchen denn?

    Catalyst 8.12 ;)

    Zu einigen anderen Punkten:
    Ich finde es durchaus realistisch, wenn die Herren von AMD meinen, dass mit OpenCL bzw. DirectX 11 vieles besser und einfacher wird. Es ist im Forum ja schon oft genug der Vergleich mit den frühen Tagen der 3D Beschleunigung herangezogen worden, aber es passt ja auch irgendwie. Damals gab es auch einen "Standard" von fast jeder Firma. Heute gibt es OpenGL und DirectX (bzw. Direct 3D), die als große Standard-"Sprachen" übrig geblieben sind.
    Für die Entwickler kann es also nur von Vorteil sein, wenn sie wissen, dass eine bestimmte Komponente gewisse Voraussetzungen mitbringen muss, um sich DX11-Kompatibel zu nennen. Denn dann kann man sich auf sicherem Terrain bewegen und für die breite Masse (statt für eine von zwei Nischen) programmieren.
    Meine Meinung: Stream und CUDA geben einen interessanten Vorgeschmack darauf, was mit GPGPU möglich wird, wenn es eine vereinheitlichte Plattform gibt.
    Anders gesagt: Alles, was auf der einen Hardware läuft, muss dementsprechend auch auf der anderen laufen. Ich muss mir also als Gamer z.B. keinen Kopp mehr machen, ob ich nun die richtige Hardware für Havok oder PhysX habe - beziehungsweise ärgern, dass ich genau die falsche habe. Mit einer einheitlichen Plattform wird die Physik ein Mal geschrieben und läuft, wie eben die Grafik bei Direct 3D, auf jeglicher kompatibler Hardware.
    3
  • Ich denke auch das ATI einfach eine wesentlich ressourcenschonendere Schiene fährt. Warum Geld (was man nicht hat) in eine eigene Technologie investieren, wo der dicke Standard alias OpenCL und DX11 doch schon in den Startlöchern steht und es jetzt schon klar ist dass die eigene Marke daran Scheitern würde? Wenn der neue Standard kommt werden die Karten neu gemischt. Der Bonus den sich Nvidia mit CUDA rausgefahren hat wird sich dann auf einen Schlag in Schall und Rauch auflösen. Falls ATI dann Karten hat die 10-20% schneller als Nvidiapendants sind kennt man CUDA nurnoch vom Hörensagen.
    Bis dahin bin ich allerdings froh Nvidia gekauft zu haben und mit Badaboom Videos mit einer GTX260 in circa 20% der Zeit konvertiert zu haben die meine CPU für die gleiche Arbeit bräuchte, denn ich konvertiere relativ viel von allen möglichen Formaten ins MP4. Insofern kann ich die Anti-GPGPU-Schwätzer nur in die Laberecke verweisen. Wenn die es nicht Nutzen weil sie es nicht brauchen ist das in Ordnung aber nicht ihre Ansicht oder Einsatzgebiet für alle anderen mit definieren.
    0
  • Fakt ist, dass sich ATI mit dem AVIVO nicht gerade mit Ruhm bekleckert hat. Es gibt kaum Optionen um die Qualität oder die größe der Zieldatei zu beeinflussen. Mal davon abgesehen ist die Qualität des Ergebnisses nicht so berauschend.
    Das ist schon sehr bedauerlich.
    0
  • tonictrinkerFakt ist, dass sich ATI mit dem AVIVO nicht gerade mit Ruhm bekleckert hat. Es gibt kaum Optionen um die Qualität oder die größe der Zieldatei zu beeinflussen. Mal davon abgesehen ist die Qualität des Ergebnisses nicht so berauschend.Das ist schon sehr bedauerlich.


    Er spricht Wahres. :D
    Aber wenn man das Stream Framework dann wenigstens in anderen Applikationen wie eben beispielsweise Espresso nutzen kann, ist es als proof of concept zumindest kein Totalverlust.
    0
  • Eine interessante Sache wäre auch Steinberg´s Cubase mit Stream oder Cuda zu beschleunigen.
    Hat da jemand Info´s ?
    0
  • lol
    hotforwords
    0
  • DirectX 11 zieht beim Linuxer ja mal gar nicht - macht nur Arbeit fuer das wine Team. Man kann Dinge standardisieren, aber man muss es auch nicht. Ich habe unter Linux weder den Gnome- noch den KDE-Desktop am Laufen und benutze doch Programme aus beiden Welten - Eintoenigkeit moechte ich nicht.
    Ich hoffe, dass die Dokumentation vollstaendig ist, um die Hardware mit dem offenen RadeonHD-Treiber auszureizen. XvBA, DRI2, UXA, Gallium 3D - es bleibt viel zu tun.
    0