News AFDS 2012: HSA-Foundation gegründet

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
<div class="newsfloatleft"><a href="http://www.planet3dnow.de/photoplog/index.php?n=20619"><img src="http://www.planet3dnow.de/photoplog/images/54308/1_HSAFoundation-Logo.png" border="0" alt="HSA-Foundation - Logo"></a></div>Zum Auftakt des AMD Fusion <i>Developer Summit 2012</i> (AFDS) hat AMDs Corporate Fellow Phil Rogers die Gründung des Industriekonsortiums <i>Heterogeneous System Architecture (HSA) Foundation</i> bekannt gegeben. Zu den Gründungsmitgliedern gehören neben AMD und ARM, deren Beteiligung sich bereit <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1308155314">im letzten Jahr abzeichnete</a>, auch die SoC-Schwergewichte Imagination Technologies, MediaTek Inc. sowie Texas Instruments (TI). Ziele der <i>HSA Foundation</i> sind die Definition und Förderung eines offenen, auf Standards basierenden Ansatzes für das heterogene Computing, bei dem die Rechenlast möglichst optimal auf alle im System vorhandenen Prozessoren bzw. Recheneinheiten eines System-on-a-Chip (SoC) verteilt werden soll.

Hierzu definiert die <i>Heterogeneous System Architecture</i> unter anderem ein neues Speichermodell, bei dem sämtliche Recheneinheiten im selben Adressraum arbeiten, sodass das bisher kostspielige, aber notwendig Hin- und Herkopieren der Daten nicht länger notwendig ist. Zusammen mit dem neuen, vereinfachten Programmiermodell soll es Entwicklern ermöglicht werden, leichter die Fähigkeiten moderner CPUs, GPUs und SoCs, die unterschiedlichste Recheneinheiten auf einem Die vereinen, zu nutzen, was wiederum einer höheren Energieeffizienz zu Gute kommen soll. Mit den bereitgestellten Spezifikationen, Entwicklertools, SDKs, Bibliotheken, Dokumentationen, Trainingskursen, Support und vielem mehr will die <i>HSA Foundation</i> ein breites, unterstützendes Ökosystem erschaffen, welches die Implementierung innovativer Anwendungen vereinfacht und somit für das notwendige Interesse der Softwareentwickler und deren Unterstützung sorgen soll.<p style="clear:left;">
<center><a href="http://www.planet3dnow.de/photoplog/index.php?n=20621"><img src="http://www.planet3dnow.de/photoplog/images/54308/medium/1_02-HSA-Foundation.png" border="1" alt="Gründung HSA-Foundation"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20622"><img src="http://www.planet3dnow.de/photoplog/images/54308/medium/1_03-HSA-Foundation.png" border="1" alt="Gründung HSA-Foundation"></a></center>

AMD gibt der <i>HSA Foundation</i> dazu den <i>HSA Referenzprogrammierleitfaden</i> sowie die erarbeiteten Spezifikationen für die <i>HSA Hardware System Architecture</i> und <i>HSA Software System Architecture</i> samt einer ersten Kapitalspritze an die Hand. Zudem will das Unternehmen die Standardbibliothek <i>HSA Bolt library</i> implementieren und zugleich der Open-Source-Bewegung die notwendigen Technologien zur Kompilierung und Ausführung bereitstellen.

<div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Zitat: Phil Rogers, HSA Foundation President and AMD Corporate Fellow</div><table border="0" cellpadding="6" cellspacing="0" width="100%"><tbody><tr><td class="alt2" style="border: 1px inset;"><i>"HSA moves the industry beyond the constraints of the legacy system architecture of the past 25-plus years that is now stifling software innovations. By aiming HSA squarely at the needs of the software developer, we have designed a common hardware platform for high performance, energy efficient solutions. HSA is unlocking a new realm of possibilities across PCs, smartphones, tablets and ultrathin notebooks, as well as the innovative supercomputers and cloud services that define the modern computing experience."</i></td></tr></tbody></table></div>

Als Initiator und treibende Kraft plant AMD alle notwendigen Optimierungen für HSA an der eigenen Hardware bis 2014 vorgenommen zu haben.

<center><a href="http://www.planet3dnow.de/photoplog/index.php?n=20627"><img src="http://www.planet3dnow.de/photoplog/images/54308/large/1_01-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a></center>

Die Komplexität der Programmierung heterogener Systeme verhinderte bisher einen breiten Einsatz, weshalb sich die Anzahl an GPU-beschleunigten Anwendungen nach wie vor in überschaubaren Grenzen hält. HSA zusammen mit den bereitgestellten Bibliotheken reduziert diese Komplexität jetzt stark, sodass nicht länger ausschließlich wenige Experten heterogene Systeme programmieren können. Zudem lässt sich durch die Verwendung der Bibliotheken die Entwicklungszeit reduzieren. Die Standardbibliothek <i>HSA Bolt library</i> stellt zum Beispiel optimierte Routinen für allerhand Standardanwendungsfälle bereit. Die <i>HSA Bolt library</i> ist dabei so angelegt, dass sie auf allen System genutzt werden kann, die zu HSA kompatibel sind.
Allgemein wurde bei der Definition der einzelnen HSA-Komponenten großer Wert auf die Portabilität der Anwendungen gelegt, weshalb die Programmierung unabhängig von der Zielhardware erfolgen kann. Lediglich der <i>HSA Finalizer</i> und der <I>HSA Kernel Driver</i> sind herstellerspezifisch.

<center><a href="http://www.planet3dnow.de/photoplog/index.php?n=20628"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_02-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20629"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_03-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20630"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_04-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20631"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_05-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20632"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_06-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a> <a href="http://www.planet3dnow.de/photoplog/index.php?n=20633"><img src="http://www.planet3dnow.de/photoplog/images/54308/small/1_07-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a></center>

Am nachfolgenden Beispiel möchte AMD aufzeigen, dass durch HSA die Programmierung von heterogenen Systemen ähnlich einfach sein soll, wie für serielle Prozessoren heute. Dazu wird die notwendige Anzahl an Code-Zeilen für unterschiedliche Programmiermodelle verglichen und zusätzlich die erzielte Performance angegeben. Natürlich hängt auch weiterhin die erreichbare Performance davon ab, wie gut sich die Algorithmen parallelisieren lassen. Beim hier verwendeten Beispiel "Hessian"-Kernel ist dies ganz offenbar der Fall.

<center><a href="http://www.planet3dnow.de/photoplog/index.php?n=20634"><img src="http://www.planet3dnow.de/photoplog/images/54308/large/1_08-HSA.png" border="1" alt="AFDS 2012: Heterogeneous System Architecture"></a></center>

Abschließend wurden nochmals alle anderen Unternehmen der Industrie eingeladen, sich an der <i>HSA Foundation</i> zu beteiligen. Intel und NVIDIA steht die Tür also weiterhin offen. Sowohl Apple als auch Intel halten <a href="http://en.wikipedia.org/wiki/Imagination_Technologies" target="b">Anteile an Imagination Technologies</a> und sind somit zumindest indirekt schon jetzt beteiligt. Ein industrieweiter Standard, der von allen Schwergewichten unterstützt wird, wäre in jedem Fall wünschenswert.

<b>Quelle:</b><ul><li><a href="http://www.amd.com/afds" target="b">AFDS</a></li><li><a href="http://www.planet3dnow.de/vbulletin/showthread.php?t=405781">Pressemitteilung</a><img src="http://vg06.met.vgwort.de/na/2174caabee0f42b180f08ae7cc6c6279" width="1" height="1" alt=""></li></ul>

<b>Links zum Thema:</b>
<ul><li><a href="http://hsafoundation.com/" target="b">HSA Foundation</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1339153054">AMD stellt erstes OpenCL-1.2-konformes Software Development Kit bereit</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?id=1335117289">OpenCL-Debugger gDEBugger ist jetzt auch für Linux verfügbar</a></li></ul>
 
Wird die AFDS 2012: HSA-Foundation genug Momentum bekommen?
Werden sich Intel/Nvidia hertrauen (muessen) irgendwann?

Spannende Fragen...
 
Zuletzt bearbeitet:
Wird die AFDS 2012: HSA-Foundation genug Momentum bekommen?
Hardwareseitig ... zweifelhaft, AMD wird kaum ihre x86-Kerne mit nVidia GPUs kombinieren.
Softwareseitig: Definitiv.

Das dicke Plus ist, dass die Intermediate Language HSAIL, auch Bytecode versteht. Das ist so wie bei Java.

Großes Plus für die Softwareentwickler: Ihr Code kann closed-source bleiben. Das ist *der* große Unterschied zu OpenCL.

Außerdem ist HSAIL somit quasi ne ISA, da können die Club-Mitglieder also schnell eigene Brötchen backen, z.B. wie Intel mit SSE1,2,3,4... und sind nicht direkt auf OpenCL angewiesen.

Ist jetzt noch die Frage, wie Apple das schmeckt, die propagierten ja OpenCL. Mit ARM und Imagination Technologies sind jetzt ihre Hardwarelieferanten dabei, mal schauen ob sie noch dazustoßen, oder nicht. Mal schauen, wie das in Ihr Clang/LLVM-Konzept passt.
 
"Referenzprogrammierleitpfaden", soso - braucht man da ein Referenzprogrammierleitpferd für? ;D

Bin sehr gespannt, ob es AMD, diesmal mit Partnern, ein zweites Mal gelingt, die "PC-Architektur"* entscheidend weiterzubringen und dies auch als dauerhaften Standard durchzusetzen.

*Und quasi als "Kollateralnutzen" auch noch andere Ökosysteme wie eben ARM.

Mir gefällt das sehr gut, drücke die Daumen!
 
Einer der wichtigsten Punkte dieser Folien ist ansich der unscheinbare Unterpunkt "QOS" der für 2014 auf der Roadmap steht:

Wenn Nebenaufgaben auf der GPU gerechnet werden sind Aussetzer in der Grafikausgabe nichts ungewöhnliches. Das sollte nicht so sein, die Grafikausgabe sollte vor anderen Aufgaben bevorzugt werden, damit die Bildrate nicht einbricht.

Jetzt ist die Frage: QOS-Implementation lieber über den Treiber, oder doch lieber generell auch über den OS-Scheduler?
In der ersten Zeit wird es sicherlich der Grafikkartentreiber leisten müssen, aber langfristig kommen die OS-Hersteller eigentlich nicht darum herum bei einem APU-Konzept auch die GPU besser in die Betriebsmittelverwaltung einzubinden.
 
Zurück
Oben Unten