Download ATI Stream Software Development Kit (SDK) v2.1

Dr@

Grand Admiral Special
Mitglied seit
19.05.2009
Beiträge
12.791
Renomée
4.066
Standort
Baden-Württemberg
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
<a href="http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx"><img src="http://www.planet3dnow.de/photoplog/file.php?n=9506&w=o" border="1" alt="ATI Stream SDK"></a>

AMD hat das <a href="http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx" target="b">ATI Stream Software Development Kit (SDK) v2.1</a> veröffentlicht. Seit der Version 2.0 des ATI Stream SDK setzt AMD voll und ganz auf die plattformunabhängige, offene Open Computing Language (OpenCL). Im <a href="http://developer.amd.com/gpu/ATIStreamSDK/ATIStreamSDKv1.4Beta/Pages/default.aspx" target="b">ATI Stream SDK 1.x</a> wurde noch die proprietäre Hochsprache Brook+ verwendet, die AMD aber nicht mehr weiterentwickelt. Die OpenCL Entwicklungsumgebung unterstützt nicht nur die hauseigenen GPUs ab der RV7xx Generation, sondern auch alle aktuellen x86 CPUs. Eine genau Liste der Unterstützten Hardware ist auf der <a href="http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx#two" target="b">offiziellen Produktseite</a> zu finden.

Gegenüber den beiden 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>) hat AMD einige neue Feature (siehe Liste unten) hinzugefügt. Bisher lediglich als Preview angebotene Funktionen sind jetzt offiziell als Extension (Erweiterung zum OpenCL 1.0 Standard) verfügbar. So wird beispielsweise endlich OpenCL images unterstützt, was bestimmte Algorithmen deutlich beschleunigen sollte, und auch Berechnungen mit Gleitkommazahlen doppelter Genauigkeit werden nun als Extension angeboten. Zusätzlich zu den Basisoperatoren für Addition, Subtraktion und Multiplikation im Preview können jetzt einige Funktionen und Datentypumwandlungen, allerdings nur auf x86 CPUs, genutzt werden. Außerdem wurden Fehler in Compiler und Runtime behoben. Eine genaue Liste kann den offiziellen <a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/ATI_Stream_SDK_Release_Notes_Developer.pdf" target="b">Release Notes</a> entnommen werden.

<blockquote><ul><li><b>The new OpenCL ICD model changes the local for vendor-specific libraries under Linux from <i>/usr/lib/OpenCL/vendors</i> to <i>/etc/OpenCL/vendors</i>.</b>
Also, instead of the actual vendorspecific libraries, .icd files are now used to specify the name of the vendor-specific library. Note this important change before you install the ATI Stream SDK v2.1 on Linux systems.</li>
<li><b>Support for openSUSE 11.2 and for Red Hat Enterprise Linux 5.4.</b></li>
<li><b>Support for OpenCL / OpenGL interoperability.</b><ul><li>Please see chapter 9, section 12 of the <a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/opencl-1.0.48.pdf" target="b">OpenCL 1.0 specification</a> for more information about this extension.
</li></ul></li>
<li><b>Support for OpenCL byte addressable stores <SUP>3,4</SUP>.</b><ul><li>Please see chapter 9, section 9 of the <a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/opencl-1.0.48.pdf" target="b">OpenCL 1.0 specification</a> for more information about this extension.
</li></ul></li>
<li><b>Support for OpenCL images <SUP>3</SUP>.</b><ul><li>Please see the <a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/opencl-1.0.48.pdf" target="b">OpenCL 1.0 specification</a> for more information about this feature.
</li></ul></li>
<li><b><U>Extension:</U> Support for double-precision floating point basic arithmetic in OpenCL C kernels.</b><ul><li>Please see this <a href="http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=88" target="b">knowledge base article</a> for more information about this extension.</li></ul></li>
<li><b><U>Extension:</U> Support for AMD media operations in OpenCL.</b><ul><li>Please see chapter A, section 8 of the <a href="http://developer.amd.com/gpu_assets/ATI_Stream_SDK_OpenCL_Programming_Guide.pdf" target="b">ATI Stream SDK OpenCL Programming Guide</a> for more information about this extension.
</li></ul></li>
<li><b><U>Extension:</U> Support for device fission in OpenCL <SUP>4</SUP>.</b><ul><li>Please see the "Extension Specifications" section of the <a href="http://www.khronos.org/registry/cl/" target="b">Khronos OpenCL API Registry</a> for more information about this extension.</li></ul></li>
<li><b><U>Extension:</U> Support for device attribute queries in OpenCL.</b><ul><li>Please see chapter A, section 8 of the <a href="http://developer.amd.com/gpu_assets/ATI_Stream_SDK_OpenCL_Programming_Guide.pdf" target="b">ATI Stream SDK OpenCL Programming Guide</a> for more information about this extension.
</li></ul></li>
<li><b><U>Preview Feature:</U> Support for binary OpenCL kernels.</b><ul><li>Please see this <a href="http://developer.amd.com/support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=115" target="b">knowledge base article</a> for more information about this extension.
</li></ul></li>
<li><b>Additional OpenCL samples:</b><ul><li>HistogramAtomics</li><li>MatrixMulDouble (under cpp_cl)</li><li>MatrixMulImage</li><li>SimpleGL</li><li>SimpleImage</li><li>SobelFilterImage (under cpp_cl)</li><li>URNGNoiseGL</li></ul></li>
<li><b>For the <a href="http://developer.amd.com/gpu/ska/Pages/default.aspx" target="b">Stream KernelAnalyzer 1.5</a>:</b><ul><li>Installer now is bundled with the ATI Stream SDK v2.1.</li><li>Additional control over the kernel source type used for compilation.</li><li>Support for passing macro definitions to OpenCL from command line or new 'Macro Definitions' control.</li><li>Updated the ALUFetchRatio to report the ALU vs Fetch ratio from the non Fetch bottleneck vs Fetch ratio.</li><li>Disassembly window now handles large outputs.</li><li>Disassembly and statistics now stay visible while code is modified.</li></ul></li>
<li><b>For the <a href="http://developer.amd.com/gpu/StreamProfiler/Pages/default.aspx" target="b">ATI Stream Profiler 1.2</a>:</b><ul><li>Support for timing data transfer operations.</li><li>Support for profiling on non-English OS and Microsoft Visual Studio.</li><li>Support for launching a Session csv file directly with an external application (such as Microsoft Excel).</li><li>Support for filtering the Session view to show or hide the kernel dispatch and/or data transfer operations.</li></ul></li>
<li><b>Various OpenCL compiler and runtime fixes and enhancements</b> (see <a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/ATI_Stream_SDK_Release_Notes_Developer.pdf" target="b">developer release notes</a> for more details).</li>
<li><b>Support for new hardware:</b><ul><li>ATI Radeon HD 5830 GPU</li><li>ATI Radeon HD 5450 GPU</li><li>ATI FirePro V8800 GPU</li><li>ATI FirePro V7800 GPU</li><li>ATI FirePro V5800 GPU</li><li>ATI FirePro V4800 GPU</li><li>ATI FirePro V3800 GPU</li><li>ATI Mobility Radeon HD 5800 Series GPUs</li><li>ATI Mobility Radeon HD 5700 Series GPUs</li><li>ATI Mobility Radeon HD 5600 Series GPUs</li><li>ATI Mobility Radeon HD 5400 Series GPUs</li><li>ATI FirePro M7820 GPU</li><li>ATI FirePro M5800 GPU</li></ul></li></ul><FONT SIZE=-2><b>3</b> Support available on ATI Radeon™ 5000 Series GPUs, ATI Mobility Radeon™ 5000 Series GPUs, ATI FirePro™ V8800 GPU, ATI FirePro™ V7800 GPU, ATI FirePro™ V5800 GPU, ATI FirePro™ V4800 GPU, ATI FirePro™ V3800 GPU, ATI FirePro™ M7820 GPU and ATI FirePro™ M5800 GPU.
<b>4</b> Support available on x86 CPU w/ SSE3 or later.</FONT></blockquote>
Um OpenCL-Anwendungen auf AMD GPUs laufen lassen zu können, muss auf dem jeweiligen System neben dem <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=2&id=1272488672">ATI Catalyat 10.4</a> auch das SDK installiert sein. Sollen die Anwendungen lediglich auf einer x86 CPU (beliebiger Hersteller, muss SSE3 unterstützen) ausgeführt werden, reicht die Installation des SDKs.

<b>Download:</b> <a href="http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx#five" target="b">ATI Stream Software Development Kit (SDK) v2.1</a>

<b>Links zum Thema:</b>
<ul><li><a href="http://www.planet3dnow.de/vbulletin/showthread.php?t=379891">Pressemitteilung</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1269533069">ATI Stream SDK OpenCL Programming Guide (v1.0)</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1270841138">MainConcept und AMD geben Zusammenarbeit bekannt</a></li>
<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/assets/ATI_Stream_SDK_Release_Notes_Developer.pdf" target="b">Release Notes</a></li><li><a href="http://developer.amd.com/gpu/ATIStreamSDK/assets/ATI_Stream_SDK_Installation_Notes.pdf" target="b">Installation Notes</a></li><li><a href="http://developer.amd.com/gpu/ATIStreamSDK/pages/Documentation.aspx" target="b">Documentation</a></li><li><a href="http://blogs.amd.com/fusion/2010/05/03/opencl%E2%84%A2-and-amd-fusion%E2%84%A2/" target="b">OpenCL and AMD Fusion</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></ul>

Danke <a href="http://www.planet3dnow.de/vbulletin/showthread.php?p=4211600#post4211600" target="b">Opteron</a> für den Hinweis.
 
können die mit dem Stream SDK erstellten Anwendungen eigendlich auch auf Nvidia GPUs laufen gelassen werden...? Ja, oder?
Sollte doch grundsätzlich auf jeder HW mit "genügendem" OpenCL Treiber laufen....?
 
können die mit dem Stream SDK erstellten Anwendungen eigendlich auch auf Nvidia GPUs laufen gelassen werden...? Ja, oder?
Sollte doch grundsätzlich auf jeder HW mit "genügendem" OpenCL Treiber laufen....?

Jaein, ich steige da nicht völlig durch.

Es ist Prinzipiell natürlich möglich deinen Code auf jeder OpenCL kompatiblen Plattform auszuführen (Compiler und Runtime vorausgesetzt). Allerdings gibt es da ab und an noch Kompatibilitätsprobleme. Das fängt beispielsweise mit den Namen der OpenCL dlls an (weiß nicht ob sich mittlerweile die Hersteller auf einen geeinigt haben).

Außerdem muss man bei den Funktionen, die in OpenCL 1.0 definiert sind, zwischen optionalen (z.B. OpenCL images) und obligatorischen unterscheiden. Die optionalen müssen und werden nicht von jedem unterstützt (OpenCL images wird es beispielsweise nie auf den HD 4000er geben, die GPUs sind aber trotzdem OpenCL 1.0 kompatibel).

Das muss sich halt alles noch entwickeln. Bis man für Konsumenten relevante Anwendungen (die beispielsweise auf AMD, Intel und Nvidia Produkten laufen) sehen wird, wird es meiner Meinung nach noch eine ganze Weile dauern (2011?).

Erste Anwendung könnte zum Biespiel die Bullet Physics Library 3.0 sein. Die soll wohl vollständig auf OpenCL portiert sein. Wann man damit allerdings fertig ist? *noahnung*

Die heutigen Lösungen von AMD, Nvidia und Anderen sind eher für Entwickler interessant.
Man bereitet quasi das Feld für kommende Produkte --> Fusion, Tegra, Intel CPU mit Larrabee GPU auf dem Die etc

MfG @
 
Es gibt nur noch eine opencl.dll (ok 2 - 32 und 64 Bit) und die is von der K-Gruppe

ATI hat ne ICD
nVIDIA hat ne ICD
usw

daher sollte es gehen, da die Programme nur gegen die opencl.dll linken

Dies ist vergleichbar mit OpenGL

es gibt eine opengl32.dll - die bringt Windows mit und im Treiber gibts ein ICD
 
Danke für die Hinweise.

Da es einen .Net Wrapper gibt werde ich es vielleicht mal so versuchen *suspect*
sonst muss ich halt mal Visual Studio installieren ... oder...
den Catalyst 10.4 unter ubuntu 9.10^^

ICD => Installable Client Driver

http://developer.amd.com/Support/KnowledgeBase/Lists/KnowledgeBase/DispForm.aspx?ID=71

--> Man kann (muss) den ICD auswählen mit welchem das Programm ausgeführt wird. Typischerweise wird vermutlich nur ein ICD vorhanden sein...
 
Allan: What is new in the area of Stream? Tell me a bit about the new SDK you released last week.

Terry: We just released our latest update for our development kit, the ATI Stream SDK v2.1. One of the key themes with v2.1 was to provide developers with ways to better optimize their ATI Stream applications for performance. This release of the SDK adds some pretty useful features, including byte writes, access to the texture cache and filtering through OpenCL images, and support of several common media operations in OpenCL C kernels, such as pack/unpack and bit alignment. Developers can use these new features to really improve the performance of their application. In particular, byte writes and media operations are important for image processing applications. Access to the texture caches on the GPU provides a level of application controlled data caching which is applicable to many types of applications, keeping commonly used data on chip instead of requiring the kernels to go out to the GDDR5 on the card. In addition to all of those new features, v2.1, in conjunction with ATI Catalyst 10.4, really improves upon the performance that was already there in v2.01. We’ve had some developers tell us that their v2.01 code performance has improved anywhere from 30-300% simply by recompiling their code with the new SDK. If you haven’t had a chance to download and use the ATI Stream SDK v2 yet, now is a great time to give it a try. And if you have been using v2.01, definitely upgrade!

Allan: How has OpenCL been adopted by the industry? Has it been as successful as you wanted

Terry: We have been engaging with several ISVs both in the consumer space as well as the professional space. While I can’t tell you the names of some of the companies we are working with just yet, there is definitely quite a bit of interest in OpenCL and work being done porting applications from C to OpenCL as well as CUDA to OpenCL. Adoption is looking good and continuing to increase. You are going to see a few well placed applications using OpenCL later this year and early next year.
Quelle
 
Mit anderen Worten.

Der Speicher auf der Grafikkarte kann erstmals zusätzlich zum System-RAM des Rechners genutzt werden.

Bislang war eines der Hürden von ATIs "Stream"-Programmierungstool, dass eben jener Grafikkarten-RAM so gut wie nie als System-Cache ausgenutzt wurde und die theoretischen Vorteile der rohen Rechenleistung verpufften sobald über den PCI-Express-Interconnect bzw. auf den weit entfernten PC-Speicher erst mal zugegriffen werden musste.

Genau diesen Engpass konnte Nvidia umgehen und ermöglichte schon früher den Zugriff auf den Grafikkarten-RAM.

Was die Meldung mit dem großen "Systemintegrator" angeht, welcher von CUDA nun auf OpenCL wechselt ... das könnte man von wem erwarten? Nutzte Apple bisher CUDA? Oder gilt das ebenso für HP, Dell und Konsorten?

MFG Bobo(2010)
 
Bis du dir da sicher?

Meines Wissens ging es da eher darum, dass bisher fürs Lesen und Schreiben so genannte Buffer (Kann jemand erklären, was das genau bedeutet?) genutzt werden mussten, man also nicht die TMUs und deren Caches dazu nutzen konnte, was wesentlich schneller und effizienter geht.

Die zweite Baustelle ist der GDS (kleine Fortschritte gab es aber wohl bereits), der noch immer nicht vom Compiler genutzt wird.


MfG @

Global Memory == Grafikspeicher, V-RAM, ...
(kann aber nicht in voller Größe genutzt werden)

attachment.php

attachment.php

attachment.php
 
Zurück
Oben Unten