News Das AMD Accelerated Parallel Processing (APP) SDK 2.5 wurde veröffentlicht

heikosch

Grand Admiral Special
Mitglied seit
06.02.2008
Beiträge
4.700
Renomée
2.096
Standort
Hagenow
  • BOINC Pentathlon 2011
<div class="newsfloatleft"><img src="http://www.planet3dnow.de/photoplog/images/54308/2_AMD-APP-Logo.png" border="0" alt="AMD APP Logo"></div>AMD hat das AMD Accelerated Parallel Processing (APP) Software Development Kit (SDK) v2.5 veröffentlicht. Hinter diesem sperrigen Namen verbirgt sich AMDs Lösung zur Entwicklung parallelisierter Software auf Basis der OpenCL-Programmierplattform. Das SDK trug bis vor kurzem noch den Namen ATI Stream SDK, der aber im Zuge des Wegfalls der Marke ATI im Januar 2011 in AMD APP SDK geändert wurde. Die OpenCL Entwicklungsumgebung unterstützt nicht nur die hauseigenen GPUs ab der RV7xx Generation, sondern auch alle aktuellen x86 CPUs. Nachdem die Version 2.4 des SDK die Unterstützung für die Accelerated Processing Units (APUs) integrierte, kann die Version 2.5 nun Features wie SSE3, SSE4, PowerExpress 4.0 oder auch AVX ausnutzen.<p style="clear:left;">
Nachdem man in der vorangegangenen Version keine Funktionalität für Multi-GPU-Systeme vorweisen konnte, eröffnet das neue SDK nun diese Möglichkeit. Dabei ist nicht nur die Nutzung der High-End-Grafikkarten vom Typ ATI Radeon HD 5970 oder AMD Radeon HD 6990 gemeint, sondern auch das Dual-Graphics-Feature der aktuellen A-Serie-APUs. Gegenüber den sechs vorangegangenen Veröffentlichungen (<a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1261469126">2.0</a>, <a href="http://www.planet3dnow.de/vbulletin/showthread.php?t=376098">2.01</a>, <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1272989740">2.1</a>, <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1281603770">2.2</a>, <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1292582439">2.3</a>, <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1302180504">2.4</a>) hat AMD erneut weitere Features hinzugefügt (siehe Liste unten) und will zudem an der Performance gearbeitet haben. Außerdem wurden Fehler in Compiler und Runtime behoben. Eine genaue Liste der behobenen und bekannten Probleme ist in den offiziellen <a href="http://developer.amd.com/gpu/AMDAPPSDK/assets/AMD_APP_SDK_Release_Notes_Developer.pdf">Release Notes</a> dokumentiert.

<center><img src="http://www.planet3dnow.de/photoplog/file.php?n=11616&w=l" alt="AMD Radeon HD 6800 Serie - Launch"></center>

Seit der Version 2.0 des ATI Stream SDK setzt AMD voll und ganz auf die plattformunabhängige, offene Open Computing Language (OpenCL), während mit dem <a href="http://developer.amd.com/gpu/ATIStreamSDK/ATIStreamSDKv1.4Beta/Pages/default.aspx">ATI Stream SDK 1.x</a> noch die proprietäre Hochsprache Brook+ verwendet wurde, die AMD aber nicht mehr weiterentwickelt. Ab dem Stream SDK 2.2 wird auch der <a href="http://www.planet3dnow.de/vbulletin/showthread.php?t=381944">OpenCL 1.1 Standard</a> unterstützt, zudem bietet AMD Unterstützung für eine Reihe von Extensions (Erweiterung zum OpenCL 1.1 Standard). So werden beispielsweise Berechnungen mit Gleitkommazahlen doppelter Genauigkeit als Extension (nicht als optionale, sondern als AMD spezifische vendor extension cl_amd_fp64) angeboten. Zusätzlich zu den Basisoperatoren für Addition, Subtraktion und Multiplikation im SDK v2.1 können seit dem SDK 2.2 erstmals unter anderem trigonometrische Funktionen, Datentypumwandlungen und weitere Operatoren für Berechnungen doppelter Genauigkeit auf der GPU genutzt werden. Allerdings unterscheidet sich der nutzbare Umfang zwischen den Evergreen, RV7xx (nur Beta-Unterstützung) und x86 CPUs. Eine komplette Liste der auf den GPUs unterstützten Operationen kann dem <a href="http://docs.google.com/gview?url=http://developer.amd.com/gpu/AMDAPPSDK/assets/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf">AMD APP OpenCL Programming Guide</a> auf Seite 141 entnommen werden.

<b><u>Was ist neu im AMD APP SDK V2.5?</u></b>

<ul><li>Kernel launch times have been further reduced.</li><li>The LLVM compiler version used for OpenCL kernels has been upgraded.</li><ul><li>Includes support for use of SSE3 and SSE4.</li><li>Added support for partial use of FMA4 and XOP instructions.</li></ul><li>It is no longer necessary to use the -fno-alias compiler command line option.</li><li>PCIe transfer overhead has been reduced under Linux.</li><li>Transfers between CPUs and GPUs are improved for buffers declared with either the CL_MEM_USE_HOST_PTR or the CL_MEM_ALLOC_HOST_PTR flag.</li><li>For APUs, zero copy buffers created as CL_MEM_ALLOC_HOST_PTR | CL_MEM_READ_ONLY offer improved GPU read performance.</li><li>The runtime supports multi-GPU, including simultaneous use of the GPU on both and APU and a discrete GPU on systems running under Windows.</li><li>OpenCL built-in functions leverage AVX on capable CPUs.</li><li>Support for PowerExpress 4.0.</li><li>Support for atomic counters for discrete GPUs.</li><li>Support for headless GPU operation.</li><li>OpenCL can now be used by a Windows service.</li><li>UVD3 / MPEG-2 support.</li><li>The clFFT library now supports radix 3 and radix 5, including support for mixed radix 2/3/5.</li><li>The BLAS library now supports the D/S SYRK, D/S SYR2K, D/S GEMV, D/S SYMV functions.</li><li>The FP64 extension is now supported for the ATI Radeon™ HD 5900 and 5800 series, as well as the AMD FirePro™ V8800 and V8700 series.</li><li>gDEBugger 6.0 extension is now available for Visual Studio.</li><li>Starting with Catalyst 11.8, improved runtime features appear regularly in the monthly Catalyst releases for Windows.</li><li>Kernel Analyzer 1.9 now supports Catalyst releases 11.4 to 11.7.</li><li>APP Profiler</li><ul><li>Improved API trace.</li><li>Improved timeline visualization</li><li>Support for analyzing OpenCL Application trace.</li><li>Thread ID and sequence number now are included in the profile output.</li></ul></ul>

<center><img src="http://www.planet3dnow.de/photoplog/images/54308/large/1_OpenCL_Extension_Diagram.png" alt="OpenCL Extension Diagram">
Quelle: <a href="http://www.amdzone.com/phpbb3/viewtopic.php?f=52&t=137821&p=186099#p186099">"OpenCL: A Nimble, Extendable Open Standard"</a></center>

Um OpenCL-Anwendungen auf AMD GPUs laufen lassen zu können, musste bisher auf dem jeweiligen System neben einem aktuellen AMD Catalyst-Treiberpaket auch das SDK installiert sein. Dies war nötig, da nur mit dem SDK auch die notwendige OpenCL-Laufzeitumgebung auf dem System installiert wird. Dieser für den Endanwender eher unglücklichen Lösung trug das Unternehmen dann Rechnung, indem zunächst als Übergangslösung neben dem normalen AMD-Catalyst-Treiberpaket zusätzlich noch die AMD Catalyst Accelerated Parallel Processing (APP) Technology Edition zum Download angeboten wurde. In diesem Paket war bereits das ATI Stream SDK bzw. AMD APP SDK enthalten - allerdings nur in einer abgespeckten Version. Mit dem AMD APP SDK 2.4 war es gelungen, die OpenCL-Laufzeitumgebung aus dem SDK herauszulösen. Der AMD Catalyst 11.3 war das erste Treiberpaket, dessen Standardversion bereits mit der OpenCL-Laufzeitumgebung ausgeliefert wurde. Sollen die Anwendungen hingegen auf einer x86-CPU (beliebiger Hersteller, muss SSE2 unterstützen) ausgeführt werden, erfordert dies weiterhin die Installation des SDKs. Aktuell unterstützt AMD neben den Windows-Betriebssystemen XP, Vista und 7 sowohl in der 32-bit als auch in der 64-bit Version auch die Linux-Distributionen openSUSE 11.3, Ubuntu 10.04 und Red Hat Enterprise Linux 6 & 5.5 (ebenfalls jeweils 32-bit und 64-bit).

<b>Download:</b>

<ul><li><a href="http://developer.amd.com/gpu/AMDAPPSDK/downloads/Pages/default.aspx" target="b">AMD Accelerated Parallel Processing (APP) SDK 2.5 [Windows, Linux]</a>
<font size="-2"><a href="http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=127" target="b">Vor der Installation des neuen SDKs sollte zunächst eine eventuell vorhandene alte Version von dem System entfernt werden!</a></font></li></ul>

<b>Links zum Thema:</b>
<ul><li><a href="http://developer.amd.com/zones/OpenCLZone/Pages/default.aspx" target="b">OpenCL Zone</a></li><li><a href="http://developer.amd.com/gpu/ATIStreamSDK/pages/Documentation.aspx" target="b">Documentation</a></li><li><a href="http://developer.amd.com/documentation/videos/OpenCLTechnicalOverviewVideoSeries/Pages/default.aspx" target="b">ATI Stream OpenCL Technical Overview Video Series</a></li><li><a href="http://developer.amd.com/zones/OpenCLZone/Events/pages/OpenCLWebinars.aspx" target="b">OpenCL Programming Webinar Series</a></li>
<li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1296059864">AMD stellt OpenCL University Kit bereit</a></li></ul>
 
Langsam wird es kompliziert mit diesen vielen Standards...
-Alex
 
Ist es nicht irgenwie Sinnfrei, wenn bei einer OpenCL anwendung, welche afaik ja auf CPU/APU und GPU laufen soll, beim Endanwender bei mitbenützung der x86 herdware, immer das SDK installiert sein muss? damit Schliesst sich die kommerzielle verwendung praktish slebst aus, wer mutet seinen DAU Kunden schon ein SDK zu...

mfg memory_stick
 
Die Fortschritte klingen aber ganz passabel.
Das mitder CPU ist in der Tat irgendwie komisch. Das würde ja auch bedeuten dass wenn man dieses Catalyst-Paket z.B. auf einem Llano istalliert, nur die shader für OpenCL benutzt werden können, nicht die CPU-Kerne... das führt doch eigentlich Heterogeneous Computing ad absurdum...
 
SSE3, SSE4, PowerExpress 4.0, AVX, Multi-GPU, UVD3 / MPEG-2
Also, ich finde, da wurde verdammt viel umgesetzt.

The FP64 extension is now supported for the ATI Radeon™ HD 5900 and 5800 series, as well as the AMD FirePro™ V8800 and V8700 series.
http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1308218951

Ich dachte und somit rechnetet ich auch (siehe Link), dass mit APP 2.5 die doppelte Genauigkeit integriert wird.
Warum ist das jetzt nicht so?
 
The FP64 extension is now supported for the ATI Radeon™ HD 5900 and 5800 series, as well as the AMD FirePro™ V8800 and V8700 series.
http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1308218951

Ich dachte und somit rechnetet ich auch (siehe Link), dass mit APP 2.5 die doppelte Genauigkeit integriert wird.
Warum ist das jetzt nicht so?

Was wird da jetzt Deiner Meinung nach nicht unterstützt?

Doppelte Genauigkeit ist ein optionales Feature, welches über eine Erweiterung bereit gestellt werden kann. Bisher hat dies AMD nur über eine Hersteller-Extension getan, seit dem APP SDK 2.5 kann jetzt auch die standardisierte Khronos-Extension (die ist hestellerübergreifend) für Cypress-basierte GPUs genutzt werden. Nicht mehr war angekündigt.


Ist es nicht irgenwie Sinnfrei, wenn bei einer OpenCL anwendung, welche afaik ja auf CPU/APU und GPU laufen soll, beim Endanwender bei mitbenützung der x86 herdware, immer das SDK installiert sein muss? damit Schliesst sich die kommerzielle verwendung praktish slebst aus, wer mutet seinen DAU Kunden schon ein SDK zu...

mfg memory_stick
Sobald Du den aktuellen Grafiktreiber von AMD installierst, hast du die OpenCL-Runtime auf deinem Rechner. Dann kannst Du sowohl auf der GPU als auch auf der CPU die OpenCL-Kernel laufen lassen. Hast Du keine Radeon-Grafikkarte und installierst somit auch keinen Catalyst, dann brauchst du das SDK.

Ansonsten ist das SDK nur für Entwickler relevant.

Die Fortschritte klingen aber ganz passabel.
Das mitder CPU ist in der Tat irgendwie komisch. Das würde ja auch bedeuten dass wenn man dieses Catalyst-Paket z.B. auf einem Llano istalliert, nur die shader für OpenCL benutzt werden können, nicht die CPU-Kerne... das führt doch eigentlich Heterogeneous Computing ad absurdum...
Natürlich lassen sich die CPU-Kerne nutzen. Ziehe dir GPU Caps Viewer und lass eine OpenCL Demo auf der CPU laufen.
 
Mal abgesen davon das die Nutzung von OpenCl auf der CPU vieleich nicht gerade sinnvoll ist.

Habe ich da, ich im Moment kurz den PC für meine schwester neu aufsetze den P8400@2260MHz gegen M600@2250 verglichen.

Bei Luxmark erreicht der

P8400 intel opencl sdk 1.1 64bit Win7
nativ___618 Punkte
opencl_ 600 Punkte.

M600 11.7 SDK 2.5 64bit Win7
nativ___ 514 Punkte
opencl__569 Punkte

Werte sind bestwerte aus 4 Durchläufen, wobei auch zu beachten ist das das AMD Notebook mit 6Monaten Balast läuft.

Klar AMD liegt bei der für CPU kompilierte Programm weiter zurück als bei der OpenCL Version, bzw mehr Performencegewinn aufweisst.
 
Also wenigstens ein "Irrglaube" zeigt sich hier im Fred:

Wer keine ATI/AMD-GPU hat - muss das SDK installieren damit man OpenCL auf der CPU rechnen kann.

Ist falsch weil es reicht das OpenCL-Paket ;)

Wo mans findet:

NT 6.x x64 : http://sites.amd.com/us/game/downloads/Pages/radeon_win7-64.aspx#2
NT 6.x x86 : http://sites.amd.com/us/game/downloads/Pages/radeon_win7-32.aspx#2
NT 5.1/5.2 x64 : http://sites.amd.com/us/game/downloads/Pages/radeon_xp-64.aspx#2
NT 5.1/5.2 x86 : http://sites.amd.com/us/game/downloads/Pages/radeon_xp-32.aspx#2
und dort "OpenCL Driver" auswählen

Größe des Downloads:
x64 : 13-14MB
x86 : 7-8 MB

ps
NT 6.x = Vista / Server 2008 / 7 / 2008r2 und Ableger
NT 5.2 = XP64 / Server 2003 / r2 und Ableger
NT 5.1 = XP

ps2:
Noch sind nur die 11.7er dort verlingt die noch die 2.4er SDK Version entsprechen - der neue (2.5er) OpenCL Treiber kommt da erst mit 11.8er Catalyst
 
Zuletzt bearbeitet:
Noch mal eine Nachfrage:
Die SDK sind wichtig für Programmierer und wenn ich einfach nur ein Programm laufen lassen will das OpenCL verwendet reicht es, wenn ich immer oder häufiger den Grafikkartentreiber meiner AMD GPU aktualisiere, weil das OpenCL mit dabei ist oder?
 
Nennt sich AMD APP 2.5 SDK Runtime und wird beim Catalyst Update mit installiert, wenn du das richtige Paket erwischt hast.

Dia
 
Da stimmt was nicht - es ist nur RC2 !!!!!

Ich wollt grad das 2.5er SDK installieren und musste folgendes feststellen:

1. es ist nur APP SDK 2.5 RC2 !

2. die OpenCL Runtime ist älter als die aus dem Catalyst 11.8 Preview !
in der RC2 ist es 2.5.684.213
im 11.8 Prev ist es 2.5.709.2

3. Warum kommt da das ATI Stream Logo ?
 
Nennt sich AMD APP 2.5 SDK Runtime und wird beim Catalyst Update mit installiert, wenn du das richtige Paket erwischt hast.

Dia
Jo das wo OpenCL Driver mit dabei ist meinst du und ja das nehme ich immer mit.
Danke aber für deine Antwort.
 
Hallo,

ich habe mit der neuen APP OpenCL Runtime aus 11.7, welches ja jenes aus dem neuen SDK 2.5 ist, einen Performancesprung unter Luxmark von +30% auf meiner 6850. (gegenüber OpenCL Runtime aus 11.6)

Allerdings habe ich auf einem CPU Kern bei GPU only 100% Last. (Komisch. Das kann wohl kaum der Luxmark Client allein sein?! Werde mir das noch genauer ansehen.)

Zusatz: Bei Luxmark CPU+GPU schrumpft der Performancevorteil jedoch wieder, da wohl aufgrund der hohen CPU Auslastung bei GPUOnly nur noch wenig Power der übrigen CPU Kerne genutzt werden kann. So sind es bei CPU+GPU bei meinem System nur noch ca. 10% Performancegewinn. Mit einer leistungsfähigeren GPU skaliert das natürlich wieder anders.

Gruß
 
Zuletzt bearbeitet:
Hallo,

ich habe mit der neuen APP OpenCL Runtime aus 11.7, welches ja jenes aus dem neuen SDK 2.5 ist, einen Performancesprung unter Luxmark von +30% auf meiner 6850. (gegenüber OpenCL Runtime aus 11.6)

Allerdings habe ich auf einem CPU Kern bei GPU only 100% Last. (Komisch. Das kann wohl kaum der Luxmark Client allein sein?! Werde mir das noch genauer ansehen.)

Zusatz: Bei Luxmark CPU+GPU schrumpft der Performancevorteil jedoch wieder, da wohl aufgrund der hohen CPU Auslastung bei GPUOnly nur noch wenig Power der übrigen CPU Kerne genutzt werden kann. So sind es bei CPU+GPU bei meinem System nur noch ca. 10% Performancegewinn. Mit einer leistungsfähigeren GPU skaliert das natürlich wieder anders.

Gruß

Das ist seltsam, wir konnten keinen Unterschied feststellen. Link *noahnung*
 
Das ist seltsam, wir konnten keinen Unterschied feststellen.

Da kann ich nur zustimmen, da ich deinen Artikel gelesen hatte.
Das scheint nur auf externe GPU's der 6000 Serie zuzutreffen. Ich bin durch einige neue Einträge in der Luxmarks Results Tabelle auf die Unterschiede aufmerksam geworden.

Allerdings bin ich noch nicht ganz schlau aus der neuen Version geworden. Ich muss wohl noch mal auf das alte APP Runtime zurück.
- Ich habe beim Luxmark GPU Only Test volle 100% Last auf einem CPU Kern.
- Bei 11.6 APP Runtime konnte ich durch erhöhte Auflösung der Szene auf 1280x960 einen Performancegewinn erzielen. (soweit ich mich erinnern kann, habe ich noch nicht verifiziert) Das ist bei 11.7 APP Runtime jetzt genau anders herum. (Wird wohl am RAM Scaling, Bufferhandling,... liegen?)
 
Zuletzt bearbeitet:
noch mal auf das alte APP Runtime zurück.
- Ich habe beim Luxmark GPU Only Test volle 100% Last auf einem CPU Kern.

Was ist ein bekannter Bug. Wird hoffentlich mit dem Cat 11.8 oder 11.9 gefixt.
 
http://www.amd.com/us/press-releases/Pages/app-sdk-2011aug08.aspx


AMD Opens the Throttle on APU Performance with Updated OpenCL Software Development


SUNNYVALE, Calif. —8/8/2011

AMD (NYSE: AMD) today announced availability of the AMD Accelerated Parallel Processing (APP) Software Development Kit (SDK) v2.5. Featuring advances in CPU to GPU data throughput, the latest version of the APP SDK provides developers a solid foundation to take full advantage of Accelerated Processing Units (APUs), including the latest AMD A-Series APUs offering brilliant HD graphics, supercomputer-like performance and All-Day battery life. 1
 
Zurück
Oben Unten