Original-URL des Artikels: https://www.golem.de/1106/84218.html    Veröffentlicht: 15.06.2011 17:43    Kurz-URL: https://glm.io/84218

GPU-Programmierung

AMD eifert Nvidias CUDA nach

Bis 2014 sollen APUs, AMDs Kombination aus CPU und GPU, mit Funktionen ähnlich wie bei C++ programmierbar sein. Das hat der Chiphersteller auf seinem Fusion Developer Summit erklärt. Unterstützung für OpenCL kommt dabei von ARM.

Wie auch aus einer Mitteilung von AMD hervorgeht, will das Unternehmen bis 2014 die Programmierung von x86-Kernen und Grafikteilen seiner APUs vereinheitlichen und vereinfachen. Dazu sollen die CPU- und GPU-Elemente unter anderem über ein einheitliches und kohärentes Speichermodell ansprechbar sein. Während integrierte Grafik schon lange den Hauptspeicher eines PC nutzt, ist dessen Aufteilung aber noch immer relativ starr: Die CPU kann nur über Umwege in den Grafikspeicher sehen, selbst wenn dieser sich physisch auf demselben Chip befindet.

Auch der Wechsel von Tasks, eine weitere Bremse beim Zusammenspiel von CPU und GPU, soll durch einen vom Anwender programmierbaren Scheduler an die Bedürfnisse der jeweiligen Anwendung anpassbar werden. Die wohl wichtigste Neuerung ist aber, was AMD nur vage als "C++ features" beschreibt. Ob das auch volle Objektorientierung umfasst, ist damit noch nicht sicher.

An C, nicht an C++, hatte sich auch Nvidia mit seiner Schnittstelle CUDA orientiert. Erst seit den Fermi-GPUs können damit auch Teile von C++ verwendet werden. Die bekannte und vielfach gelehrte Programmiersprache gilt als einer der Gründe für den Erfolg von Nvidias GPUs für Rechenanwendungen.

AMD will aber nicht auf eine proprietäre Schnittstelle setzen, die ständig weiterentwickelt werden muss. Vielmehr sollen OpenCL und Directcompute die Schwerpunkte sein, für welche die eigenen, bisher als "Stream" bekannten Interfaces angepasst werden sollen. Eine ausführliche Spezifikation, nicht nur der neuen Schnittstellen, sondern auch der APU-Architektur aus Sicht der Software, will AMD zudem offenlegen - wann, ist noch nicht bekannt.

Offene Standards statt proprietärer Schnittstellen

Überhaupt betonte AMD auf seiner Entwicklungskonferenz stets die Wichtigkeit von offenen Standards. OpenCL wird nicht nur von AMD, sondern unter anderem auch von Intel und Nvidia unterstützt. Und auch von ARM - folglich hielt dessen Technikchef Jem Davies auch einen Gastvortrag auf dem Fusion Summit.

Davies nannte dabei zwar nicht ausdrücklich OpenCL, wies aber anhand des bekannten Zitats von Andrew Tanenbaum ("Das Schöne an Standards ist, dass man so viele davon zur Auswahl hat") darauf hin, dass neue Schnittstellen nicht hilfreich seien. Gerade bei heterogenen Plattformen sei die Wiederverwendung von Code zwingend, meinte Davies.

Allzu vielfältig sieht der ARM-Entwickler die Prozessorwelt aber ohnehin nicht mehr. Als Beleg zeigt er die immer auch in physischer Form, also als CPU-Dies, verteilten Prozessoren des bis 2008 jährlich abgehaltenen Microprocessor Forums. 1992 gab es, wie Davies zeigt, elf verschiedene CPU-Architekturen von ARM, über Alpha bis zu PA-RISC. 2011 seien es aber nur noch zwei gewesen: ARM und x86.

Dieser Vergleich hinkt jedoch etwas, da es keine so zentrale Veranstaltung für die gesamte Branche wie das Microprocessor Forum mehr gibt. Und auch bei anderen Architekturen, wie bei IBMs Power oder dem inzwischen zu Oracle gehörenden Sparc, gibt es durchaus Neuentwicklungen.  (nie)


Verwandte Artikel:
Für CPUs und GPUs: AMDs Entwicklerkit für OpenCL   
(20.10.2009, https://glm.io/70584 )
Memory Leak: Insiderhandel bei Intel?   
(04.01.2018, https://glm.io/131957 )
AMDs Embedded-Pläne: Ein bisschen Wunschdenken, ein bisschen Wirklichkeit   
(23.02.2018, https://glm.io/132925 )
Ryzen 5 2400G und Ryzen 3 2200G im Test: Raven Ridge rockt   
(12.02.2018, https://glm.io/132531 )
Twitch: Kein Spiele-Streaming in der Badehose   
(05.03.2018, https://glm.io/133150 )

© 1997–2019 Golem.de, https://www.golem.de/