Manfred Kloiber: Rechnen mit Grafik-Chips. Informationen von Achim Killer waren das. Mit ihm in München bin ich jetzt verbunden. Herr Killer, von OpenCL – mit C – war ja in Ihrem Beitrag oft die Rede. OpenGL – mit G – ist vielleicht dem einen oder anderen bekannter. Wo ist denn da der Unterschied?
Achim Killer: OpenGL, die Open Graphics Library, ist so etwas ähnliches wie OpenCL, die Open Computing Language. Na ja, oder wenn man so will, auch das Gegenteil. Bei OpenGL verarbeitet der Grafik-Prozessor die Grafik-Befehle. Früher hat das auch die CPU gemacht. Aber manchmal kann der Grafik-Prozessor das halt nicht ganz. Und deshalb sind in dieser Library, in dieser Bibliothek, ein paar kleine Programme, die dann von der CPU verarbeitet werden. Also Grafikbefehle werden grundsätzlich an den Grafik-Chip ausgelagert. Aber ein paar werden halt wieder zurückverlagert. Bei OpenCL wiederum, der Open Computing Language, werden allgemeine Rechenbefehle, die nichts mit der Bildschirmausgabe zu tun haben, an den Grafik-Chip weitergegeben.
Kloiber: Sie haben ja Folding-at-Home, ein Supercomputing-Projekt für die Medizin, als Anwendungsbeispiel genannt und den Hochfrequenzhandel oder Photoshop. Das alles sind ja professionelle Anwendungen. Bis zum Privatanwender ist die Sache also noch nicht gedrungen, oder?
Killer: Es gibt die Sony Playstation 3. Da steckt ein Cell-Chip drin. Der besteht aus einem Haupt- und Spezial-Prozessoren. Und der lässt sich mit OpenCL programmieren. Aber im Nachfolge-Modell ist dann der Cell-Chip durch einen AMD-Prozessor ersetzt worden, weil die Spiele-Entwickler sich damit leichter tun, wie man hört.
Kloiber: Lohnt sich überhaupt der ganze Aufwand? Da wird doch ein Chip, der Grafik-Prozessor, für etwas programmiert, wofür er eigentlich gar nicht entwickelt worden ist.
Killer: Bei Multimedia-Anwendungen schon, weil die sich hoch parallelisiert verarbeiten lassen. Und ein Hauptprozessor bei einem PC, der hat, wenn es hoch kommt, acht Kerne, bei einem Grafik-Prozessor können es 1000 sein. Und wenn erst einmal Grafik-Prozessoren von Smartphones im großen Stil programmiert werden, dann wird die Sache sich erst recht lohnen.
Kloiber: Was ist bei den Grafik-Prozessoren von Handys so anders?
Killer: Er ist auf demselben Chip. Beim PC hingegen steckt der Hauptprozessor im Sockel, der Grafik-Chip in der Regel auf der Karte. Und dazwischen ist ein Bus. Über den muss ein ausgelagerter Befehl erst einmal geschickt werden. Das kostet Zeit und lohnt sich nur dann, wenn der Zeitgewinn durch die Verarbeitung auf der Grafikkarte entsprechend höher ist. Bei Handy-Chips ist der Overhead sehr viel geringer. Und dazu kommt, dass ein Handy-Chip oft nicht nur Grafik- und Hauptprozessor integriert, sondern noch etliche andere Funktionen. Die alle können genutzt werden, ohne dass lange Wege zurückgelegt werden müssen. Also ich kann mir vorstellen, dass durch Programme, die effizient sowohl auf dem Haupt- als auch dem Grafikprozessor ablaufen, ein Paradigmen-Wechsel ausgelöst wird, der die Halbleiter-Branche gehörig durcheinander wirbeln wird.
Kloiber: Warum das?
Killer: Bisher war es doch so: Die Halbleiterstrukturen sind immer kleiner geworden und die Prozessor-Entwickler haben deshalb erst einmal neue Funktionen integriert. Bis ihnen irgendwann einmal nichts mehr Vernünftiges eingefallen ist. Dann haben sie halt einen zweiten Prozessorkern auf den Chip gepackt und dann den dritten und den vierten. Die haben aber meistens nichts zu tun. Wenn sich jetzt aber die Programmierer angewöhnen, Software für heterogene Systeme zu schreiben und diese Software dann auch noch sehr schnell läuft, weil Grafik- und Rechenfunktionen integriert sind, dann legt das doch nahe, quasi maßgeschneiderte Chips zu entwickeln. Der eine hat mehr Ganzzahl- und Gleitkommalogik, der andere mehr Grafik- oder digitale Signalverarbeitung. Und auf allen sind die gleichen Programme lauffähig, unterschiedlich effizient, aber lauffähig. Eine Datenbank läuft dann auf einem Prozessor mit viel Ganzzahllogik schneller, ein Multimedia-Programm auf einem mit hochparalleler Grafik-Logik. Es wäre ein- und dieselbe heterogene Prozessorarchitektur, aber in jeweils anderen Varianten.
Kloiber: Und wie würde das dann die Halbleiter-Industrie verändern?
Killer: Na ja, ich kann mir vorstellen, dass für Konzerne, die Prozessoren einmal entwickeln und dann millionenfach in Silizium gießen, dass für die die Zeiten schwerer werden.
Kloiber: Grafik-Prozessoren rechnen immer stärker mit. Informationen von Achim Killer waren das, herzlichen Dank.
Achim Killer: OpenGL, die Open Graphics Library, ist so etwas ähnliches wie OpenCL, die Open Computing Language. Na ja, oder wenn man so will, auch das Gegenteil. Bei OpenGL verarbeitet der Grafik-Prozessor die Grafik-Befehle. Früher hat das auch die CPU gemacht. Aber manchmal kann der Grafik-Prozessor das halt nicht ganz. Und deshalb sind in dieser Library, in dieser Bibliothek, ein paar kleine Programme, die dann von der CPU verarbeitet werden. Also Grafikbefehle werden grundsätzlich an den Grafik-Chip ausgelagert. Aber ein paar werden halt wieder zurückverlagert. Bei OpenCL wiederum, der Open Computing Language, werden allgemeine Rechenbefehle, die nichts mit der Bildschirmausgabe zu tun haben, an den Grafik-Chip weitergegeben.
Kloiber: Sie haben ja Folding-at-Home, ein Supercomputing-Projekt für die Medizin, als Anwendungsbeispiel genannt und den Hochfrequenzhandel oder Photoshop. Das alles sind ja professionelle Anwendungen. Bis zum Privatanwender ist die Sache also noch nicht gedrungen, oder?
Killer: Es gibt die Sony Playstation 3. Da steckt ein Cell-Chip drin. Der besteht aus einem Haupt- und Spezial-Prozessoren. Und der lässt sich mit OpenCL programmieren. Aber im Nachfolge-Modell ist dann der Cell-Chip durch einen AMD-Prozessor ersetzt worden, weil die Spiele-Entwickler sich damit leichter tun, wie man hört.
Kloiber: Lohnt sich überhaupt der ganze Aufwand? Da wird doch ein Chip, der Grafik-Prozessor, für etwas programmiert, wofür er eigentlich gar nicht entwickelt worden ist.
Killer: Bei Multimedia-Anwendungen schon, weil die sich hoch parallelisiert verarbeiten lassen. Und ein Hauptprozessor bei einem PC, der hat, wenn es hoch kommt, acht Kerne, bei einem Grafik-Prozessor können es 1000 sein. Und wenn erst einmal Grafik-Prozessoren von Smartphones im großen Stil programmiert werden, dann wird die Sache sich erst recht lohnen.
Kloiber: Was ist bei den Grafik-Prozessoren von Handys so anders?
Killer: Er ist auf demselben Chip. Beim PC hingegen steckt der Hauptprozessor im Sockel, der Grafik-Chip in der Regel auf der Karte. Und dazwischen ist ein Bus. Über den muss ein ausgelagerter Befehl erst einmal geschickt werden. Das kostet Zeit und lohnt sich nur dann, wenn der Zeitgewinn durch die Verarbeitung auf der Grafikkarte entsprechend höher ist. Bei Handy-Chips ist der Overhead sehr viel geringer. Und dazu kommt, dass ein Handy-Chip oft nicht nur Grafik- und Hauptprozessor integriert, sondern noch etliche andere Funktionen. Die alle können genutzt werden, ohne dass lange Wege zurückgelegt werden müssen. Also ich kann mir vorstellen, dass durch Programme, die effizient sowohl auf dem Haupt- als auch dem Grafikprozessor ablaufen, ein Paradigmen-Wechsel ausgelöst wird, der die Halbleiter-Branche gehörig durcheinander wirbeln wird.
Kloiber: Warum das?
Killer: Bisher war es doch so: Die Halbleiterstrukturen sind immer kleiner geworden und die Prozessor-Entwickler haben deshalb erst einmal neue Funktionen integriert. Bis ihnen irgendwann einmal nichts mehr Vernünftiges eingefallen ist. Dann haben sie halt einen zweiten Prozessorkern auf den Chip gepackt und dann den dritten und den vierten. Die haben aber meistens nichts zu tun. Wenn sich jetzt aber die Programmierer angewöhnen, Software für heterogene Systeme zu schreiben und diese Software dann auch noch sehr schnell läuft, weil Grafik- und Rechenfunktionen integriert sind, dann legt das doch nahe, quasi maßgeschneiderte Chips zu entwickeln. Der eine hat mehr Ganzzahl- und Gleitkommalogik, der andere mehr Grafik- oder digitale Signalverarbeitung. Und auf allen sind die gleichen Programme lauffähig, unterschiedlich effizient, aber lauffähig. Eine Datenbank läuft dann auf einem Prozessor mit viel Ganzzahllogik schneller, ein Multimedia-Programm auf einem mit hochparalleler Grafik-Logik. Es wäre ein- und dieselbe heterogene Prozessorarchitektur, aber in jeweils anderen Varianten.
Kloiber: Und wie würde das dann die Halbleiter-Industrie verändern?
Killer: Na ja, ich kann mir vorstellen, dass für Konzerne, die Prozessoren einmal entwickeln und dann millionenfach in Silizium gießen, dass für die die Zeiten schwerer werden.
Kloiber: Grafik-Prozessoren rechnen immer stärker mit. Informationen von Achim Killer waren das, herzlichen Dank.