News AMD veröffentlicht Stream SDK Beta v2.0 mit OpenCL Unterstützung

User-News

Von Opteron

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.
Nachdem schon früher darüber spekuliert wurde, hat AMD heute Ihren SDK für die neue GPGPU Standardsprache OpenCL (nicht zu verwechseln mit dem Grafikstandard OpenGL) zum Herunterladen freigegeben.

Interessierte Programmierer können sich 32/64bit Versionen für Windows und Linux (nach vorheriger Anmeldung) hier beschaffen:
http://developer.amd.com/GPU/ATISTREAMSDKBETAPROGRAM/Pages/default.aspx#five

Einsteigern ist die Lektüre von Gipsels GPGPU Computing Artikel:
http://www.planet3dnow.de/vbulletin/showthread.php?t=362621

sowie des OpenCL Tutorials von AMD (Englisch):
http://ati.amd.com/technology/streamcomputing/intro_opencl.html

empfohlen.

Auf der AMD Developer Seite wird auch noch auf einen Blog Eintrag der AMD Stream Chefin verwießen. Jedoch bekommt man dort z.Zt. noch Error 404. Eventuell wird der Beitrag mit dem Titel "OpenCL Changes the Game" noch im Laufe des Tages freigeschalten, der Link lautet auf alle Fälle:
http://blogs.amd.com/work/2009/08/05/opencl-changes-the-game/

Edit:
Gerade gesehen, die offizielle Pressemitteilung gibts hier:
http://www.planet3dnow.de/vbulletin/showthread.php?p=4004051#post4004051
 
Zuletzt bearbeitet:
es sollte besser lauten:

Stream SDK Beta v2.0 mit nur OpenCL

Grund:
da ist kein CAL mehr dabei, keine Header, Libs nix - nur OpenCL zeuch

Fazit:
Gipsel & Co. können es nicht verwenden oder müssen für die ATI-BOINC-Apps alles wieder neu basteln - halt in OpenCL
 
Das muss so oder so bald gemacht werden...
 
es war aber geplant : CAL + OpenCL !!!

oder sollen die Softwarehersteller zb Cyberlink schon wieder alles umstellen ?
 
Da mit der Version eh nur die X86 Prozessoren unterstützt werden macht CAL auch keinen Sinn! Denn mit CAL werden ja die ATI GPUs angesprochen.

Siehe hier: klick
Patricia Harrell is Director of Stream Computing at AMD. schrieb:
Of course no application runs entirely on the GPU. Beyond the obvious need for CPUs to drive execution, most mainstream applications are heterogeneous in nature. They have some functions that accelerate well on multicore CPUs, and others that are perfectly suited for a GPU’s data parallel architecture. A good development platform needs to take that into account - this is the difference between GPGPU as a niche accelerator and GPGPU as a new baseline feature, ready for tomorrow’s systems and applications.

Today, AMD is delivering the first beta release of an OpenCL implementation for the CPU. Managed by the independent Khronos Group, OpenCL addresses the need for a cross-platform, industry standard approach to development for heterogeneous architectures. This can enable more developers to take advantage of GPGPU acceleration in their applications, but what is even more compelling is the opportunity to build applications that leverage all of the system’s compute resources - CPUs and GPUs - to provide a superior user experience. As the only company that designs and delivers both high-performance GPUs and x86 CPUs to the market, AMD is uniquely qualified to help application developers drive full resource utilization forward without feeling the need to force-fit workloads onto one technology or the other.

With the new OpenCL implementation for the CPU, application developers can begin realizing the promise of heterogeneous computing. A video of a 4P Six-Core AMD OpteronTM processor-based system (24 total cores) running an OpenCL-based, fluid/particle simulation can be seen here; for a developer-focused look at how OpenCL forms the basis of an evolving parallel programming ecosystem, see my colleague Margaret Lewis’ blog, Making the Universe Parallel.

PS Ich habs auch erst nicht geblickt, weil ichs etwas merkwürdig fand. Letztlich macht's aber Sinn wenn man den Blogeintrag ließt.
 
Zuletzt bearbeitet:
Hoffentlich geht da bald was ordentliches los und man hört auf sein eignes Süppchen zu kochen! :D
 
wenns wie bei OpenGL dauert - ca 2 Monate 8-(
aber : es sollte bis Mitte Oktober fertsch sein
 
recht interessante Videos zum Thema: klick
 
Is ja wie Hase und Igel ...
ist allerdings schon vom 12. Mai 2009 ... dafür haben die grünen Grafikgiganten halt noch keine DirectX-11 Hardware ... man kann nicht alles haben ...

Der Rest meiner Meinung dazu im R800-Thread.

MFG Bobo(2009)
 
Is ja wie Hase und Igel ...
ist allerdings schon vom 12. Mai 2009 ... dafür haben die grünen Grafikgiganten halt noch keine DirectX-11 Hardware ...
und wahrscheinlich auch keinen CPU Treiber ... zumindest steht bei nV nur, dass sie CUDA Hardware unterstützen.

Rest ebenfalls im R800 Thread ;-)

Bin mal gespannt, ob bzw. was das für Auswirkungen haben wird.

ciao

Alex
 
und wahrscheinlich auch keinen CPU Treiber ... zumindest steht bei nV nur, dass sie CUDA Hardware unterstützen. ...
Warum sollte ein Nvidia Grafikkartentreiber für OpenCL einen CPU-Treiber haben ... und für welche (eigene) CPU?

In Zeiten von OpenGL war es doch so, dass man eine API-Paket installierte (frei verfügbar auch bei dem OpenGL-Konsortium) und zum anderen vom Hersteller die Grafikkartentreiber.

Bei OpenCL ist das doch nicht anders. Der Nutzer installiert die API OpenCL und dazu wird noch ein passender OpenCL-Treiber installiert.

Um es mit Microsoft zu vergleichen: Auf der einen Seite installiert der PC-Besitzer das aktuellste DirectX-Paket (bis dato in der Version 10. Ab Windows 7-Start die API DirectX-11).
Zudem muss der Nutzer noch eine entsprechenden Treiber für die GPU (und eventuell Prozessor) installieren.

Da Nvidia nur GPUs macht, können sie auch nur entsprechende Treiber entwickeln.

MFG Bobo(2009)
 
Warum sollte ein Nvidia Grafikkartentreiber für OpenCL einen CPU-Treiber haben ... und für welche (eigene) CPU?
Naja die könnten nen Generiktreiber basteln für CPUs bis SSE3 oder so.
Grund: Bei seriellen Codeanteilen werden sie sonst verlieren.

Frag sich aber halt auch, ob sich die Programmierer die Mühe machen, das auch häufig abzufragen.

Naja, vielleicht bastelt Intel ja nen eigenen Treiber für OpenCL, auch wenn die Intel Leutchen beim letzten Themenabend davon nicht begeistert waren.

ciao

Alex
 
Wie wird das eigentlich beim Snow Leopard gelöst? Wird dort auch die CPU unterstützt oder nur die GPUs?

Der Prinzipielle Gedanke hinter OpenCL ist ja, dass es auf jeder Plattform laufen soll unabhängig davon, ob eine unterstützte GPU vorhanden ist. In diesen fällen sollen die Programme ja auf der CPU laufen.


MfG @
 
Wird AMDs(ATIs) OpenCL GPU Unterstützung auch bei nicht HD5xxx Karten funktionieren?
 
ATIs OpenCL wird auf CAL aufbauen, daher werden wenigstens die 2000er/3000er und 4000er Karten mit CAL-Support laufen
 
ATIs OpenCL wird auf CAL aufbauen, daher werden wenigstens die 2000er/3000er und 4000er Karten mit CAL-Support laufen

Das wirds dann auch sein. Bei allen älteren Karten ist die Treiberunterstützung ja auch beendet worden (nur noch Legacy). Rein von der Hardware gingen ja auch nur die X1000 Serie noch.


MfG @
 
Naja die könnten nen Generiktreiber basteln für CPUs bis SSE3 oder so.
Grund: Bei seriellen Codeanteilen werden sie sonst verlieren. ...
Tja, man stelle sich vor Nvidia schreibt einen Multinorm-Treiber für Intel- und AMD-CPUs ...

Dann schriebe natürlich "völlig uneigennützig" Intel auch OpenCL-Treiber nicht nur für eigene Prozessorprodukte, sondern auch für AMD-Prozessoren ...

Und weil AMD da noch "Optimierungspotenzial" bei Intel-CPUsähe (weil Intel garantiert völlig neutral und uneigennützig AMD-CPU-Treiber für OpenCL entwickelte) schieben sie eine eigene Version von OpenCL Prozessortreibern nach ... die "natürlich" ganz besonders das Potenzial der konkurrierenden Prozessoren hervorheben ...

Ganz ehrlich Opteron. Du glaubst dass Firmen sich von der Konkurrenz sich Generische Treiber auf einer offenen Plattform unterschieben lassen?
Bei einer Proprietären Plattform könnte das klappen, aber nicht wenn sich die Teilnehmer bei einer offenen Plattform sich in die Karten schauen können.

MFG Bobo(2009)
 
Tja, man stelle sich vor Nvidia schreibt einen Multinorm-Treiber für Intel- und AMD-CPUs ...
Dann schriebe natürlich "völlig uneigennützig" Intel auch OpenCL-Treiber nicht nur für eigene Prozessorprodukte, sondern auch für AMD-Prozessoren ...
Ähh .. was hat das eine mit dem andren zu tun ?
Ganz ehrlich Opteron. Du glaubst dass Firmen sich von der Konkurrenz sich Generische Treiber auf einer offenen Plattform unterschieben lassen?
Bei einer Proprietären Plattform könnte das klappen, aber nicht wenn sich die Teilnehmer bei einer offenen Plattform sich in die Karten schauen können.
Ja wenns nichts andres gibt ? Nvidia hat die Wahl zw. Pest und Cholera, entweder nen generischen OpenCL Treiber für Fremdprodukte basteln, oder in kauf nehmen in Benchmarks mit seriellem Codeanteil nicht konkurrenzfähig zu sein.

Wenn AMD einigermaßen clever ist, dann finden die auch sowas ^^

Die Software ist ausserdem frei, da darf jeder machen was er will, auch Treiber schreiben. Aus Deiner Sichtweise wäre MS Office auch "untergeschoben" *lol*

ciao

Alex
 
Wie läuft das denn mit den Treibern ab?
Gibt es nur einen OpenCL- Treiber für das ganze System (die Khronos Group hat doch bestimmt mitbekommen, dass es mehrere unterschiedliche Hersteller gibt, die mitmachen)?
Obwohl- bei mehreren Treibern müsste sich dann einer die Arbeit machen und gucken, welcher Befehl nun auf welchem System mit welcher Hardware ausgeführt werden soll...

Ist natürlich ein ziemlicher Vorteil für AMD und Intel gegenüber nvidia und wohl auch eher von AMD gegenüber Intel, da AMD auch performante Grafikhardware produzieren kann.

Oder habe ich da was an dem ganzen OpenCL- Gerüst falsch verstanden.
 
Ich stelle mir vor, dass jeder Hersteller da seinen "Treiber" in den OpenCL-Pool reinstellt.

Bei Khronos.org betrachten sich das Teams und "pappen" da ein Zertifikat rauf, dass die API OpenCL mit diesen Treibern läuft.

Ich denke, dass da noch eine spezielle Softwareschicht dazu kommt, die dem Framework OpenCL klar macht welche Stärken und Profile die jeweiligen Produkte haben. An der eigentlichen allgemeinen OpenCL-Sprache ändern AMD und Nvidia ja nichts.

Offen bedeutet in diesem Fall, dass jeder Vorschläge machen kann, welche Befehle in diese Schnittstelle der Hardware übermitteln soll.
Microsoft definiert da seine Standards völlig autonom (auch wenn sie Wünsche der Entwickler mit berücksichtigen).
In so fern ist es (meiner Meinung nach) nicht so offen, dass da Treiber von Fremdfirmen untergeschoben werden können, wenn sie nicht den Anforderungen des Originalherstellers entsprechen.

Ich finde die Frage gar nicht trivial, ob denn nun ein OpenCL-Treiber ausgewählt werden muss, wenn die Wahlfreiheit besteht (Beispiel PowerXCell 8i + DX10 GPU).
Nach welchen Kriterien wählt OpenCL da aus? Können beide zusammen genutzt werden? Wenn nein warum nicht?

MFG Bobo(2009)
 
Zuletzt bearbeitet:
Na OpenCL wählt gar nicht, dass muss der Programmierer mit switch/case für den jeweiligen Codeabschnitt selbst machen.

Er fragt die ganzen OpenCL Hardware ab, und wählt dann anhand eines/mehrerer Kriterien zw. GPU/CPU/ sonstwas ;-)

Hier nochmal die Grafik aus dem R800 Thread:
opencl1t7gg.gif


Ist hier eigentlich ja eh besser aufgehoben.

ciao

Alex
 
Zuletzt bearbeitet:
Hier nochmal die Grafik aus dem R800 Thread:
Alex

Hmm, da weiß man als Programmierer wie viel "compute units" mit welcher Taktfrequenz und Speicher da sind- aber kann man denn daraus auch wirklich schließen wie schnell das jeweilige Teil fertig ist?

Da wäre es doch am besten zu aller erst einen Benchmark einzubauen, der sich dann die "richtige" Hardware aussucht oder?
 
Zurück
Oben Unten