Werbung
Längst abgeschlossene Themen sollte man nicht zwingend wiedererwecken, im Falle von Larabee reden wir aber nicht von vollständig eingestellten Projekten, denn die Entwicklung hinter Larabee findet in den aktuellen Xeon-Phi-Beschleunigern weiterhin Verwendung. Nun hat Tom Forsyth seine Sicht hinter der Entwicklung und den Umständen der Einstellung der Ambitionen einer dedizierten Grafikkarte von Intel veröffentlicht. Forsyth war an Larabee im Core-Entwickler-Team beteiligt und arbeitet momentan bei Oculus.
Zunächst einmal will Tom Forsyth festhalten, dass die Entwicklung von Larabee in großer Erfolgt war, denn sie hat Intel die Situation gebracht, mit den aktuellen Xeon-Phi-Beschleunigern im GPU-Compute-Markt sehr gut aufgestellt zu sein. Mit Knights Landing liefert Intel die aktuelle Generation dieser Entwicklung derzeit aus und Knights Mill soll als Zwischenschritt bis zu Knights Hill im kommenden Jahr bei der Beschleunigung von Deep-Learning-Netzwerken helfen. Larabee krankte laut Forsyth nicht an langsamer oder wenig erfolgreicher Entwicklung, sondern an politischen Entscheidungen die dazu geführt haben, dass Larabee in einem schlechteren Licht dasteht, als es dies eigentlich verdient hätte.
Er liefert dazu natürlich auch viele Hintergründe. So beschreibt das Projekt Larabee eigentlich die Entwicklung von drei Chips, die unter den Namen Knights Ferry (Aubrey Isle bzw. LRB1), Knights Corner (Xeon Phi bzw. LRB2) und Knights Landing (ebenfalls Xeon Phi bzw. LRB3) bekannt sind. Alle diese drei Chips wurden fertig entwickelt und werden im Falle von Knights Corner und Knights Landing in Form von Xeon-Phi-Beschleunigern auch ausgeliefert. Zwischenzeitlich gab es auch noch einen Chip mit dem Codenamen LRB3, dieser aber sollte zwischen Knights Corner und Knights Landing positioniert werden. Dabei könnte es sich theoretisch um den von Intel auf dem IDF 2016 angekündigten Knights Mill handeln, wenngleich Tom Forsyth sicherlich von Zeiträumen spricht, in der an die aktuelle Ausrichtung von Knights Mill noch nicht zu denken war.
[h3]Die Ziele von Larabee[/h3]
Doch zurück zu Larabee: Das Projekt wurde 2005 unter dem Titel SMAC gestartet und hatte folgende Ziele:
- Der stärkste Chip hinsichtlich FLOPS/W für Real-World-Workloads zu sein, der aus einer möglichst hohen Anzahl an simplen Kernen besteht und sich einfach in bestehende Systeme integrieren lässt.
- Dieser Chip sollte auf x86-Kernen beruhen und es damit möglich machen, bestehende Betriebssysteme zu verwenden oder aber eine einfache Implementation von Speicher-Koheränz zu erreichen. Es sollte kein Legacy Code oder proprietärer Code verwendet werden. Man wollte keinen weiteren Itanium-Prozessor entwickeln.
- Der Prozessor sollte schnell und einfach entwickelt werden.
- Larabee sollte den wachsenden GPGPU-Markt adressieren. Zu diesem Zeitpunkt wollte Intel keine PCI-Express-Grafikkarte auf Basis der Gen-Grafik entwickeln lassen. Es war also wichtige "normale Grafik" ebenso ausführen zu können, wie am GPGPU-Markt vertreten zu sein.
- Es sollte so wenig grafikkartenspezifische Hardware wie möglich verwendet werden.
Die Reihenfolge dieser Anforderungen ist entscheidend, denn erst an vierter Stelle kommt der Grafikkartenmarkt ins Spiel. Hätte Intel eine dedizierte Grafikkarte entwickeln wollen, hätte man die Prioritäten anders gesetzt. Man hatte diesen Markt aber bereits im Hinterkopf, daher sollte Larabee auch „normale Grafik" ausführen können.
Laut Tom Forsyth machte Intel in der Außenkommunikation große Fehler und wollte Larabee als Grafikkarte und die Knights-Generationen als Xeon-Phi-Produkte getrennt voneinander behandeln – obwohl es sich unter der Haube um ein und dasselbe Produkt handelt. Die ersten Produkte beider Kategorien unterschieden sich nur durch den nicht vorhandenen DVI-Anschluss voneinander. Erst durch die Art und Weise wie der Chip angesprochen wird, unterscheidet sich Larabee in Form einer Grafikkarte oder eines GPU-Beschleunigers. Bis hin zu Knights Corner verfügte der Chip über Texture Samplers und Video-Ausgänge. Diese sind aber deaktiviert und können auch per Software nicht angesprochen werden. Die Tatsache, dass diese Komponenten vorhanden sind zeigt aber, dass Larabee bzw. Knights Corner noch immer eine vollständige Grafikkarte hätte sein können.
[h3]Die meisten Ziele der Entwicklung wurden erreicht[/h3]
In der Folge wertet Tom Forsyth die gesteckten Ziele und Prioritäten aus:
- Einen der stärksten Chips hinsichtlich der FLOPS/W hat Intel mit Knights Landing entwickelt, denn eine Reihe der Top10-Supercomputer verwendet entsprechende GPU-Beschleuniger.
- Die Xeon-Phi-Beschleuniger verwenden eine unterschiedliche Anzahl an x86-Kernen. Knights Ferry und Knights Corner konnten zwar noch keine SSE-Befehlssätze ausführen, mit Knights Landing brachte man diese aber zurück und führte mit AVX512 sogar Befehlssätze ein, die in allen aktuellen x86-Kernen von Intel weiterhin Verwendung finden.
- Auch wenn nicht alle Zeitpläne eingehalten werden konnten, so hat man dennoch recht schnell einen relativ einfachen Chip entwickelt, der Programmieren einen einfachen Zugang ermöglicht.
- Larabee konnte problemlos den zum damaligen Zeitpunkt verfügbaren Grafikkarte und GPU-Beschleunigern folgen. Compute Shader und OpenCL liefen schnell und effizient auf den Chips. DirectX und OpenCL waren sogar schneller als auf Hardware der Konkurrenz – zumindest so lange weitestgehend Compute-Berechnungen damit durchgeführt wurden. Die notwendigen Programmierungs-Modelle wie ISPC und CILK Plus sind noch heute ein Standard in diesem Bereich. Mit der Einstellung der Entwicklung von Larabee als Grafikkarten endeten auch die Software-Anpassungen in diesem Bereich und damit befand Larabee als Grafikkarte in einer Sackgasse.
- Larabee sollte eine Grafikkarte ohne typische Architektur werden. Dies legt die Verwendung von x86-Kernen bereits nahe. Das Ziel so wenig grafikkartenspezifische Komponenten zu verwenden wie irgend möglich, wurde allerdings nur teilweise erreicht. Etwa 10 % der Chipfläche fallen auf eben solche Komponenten wie Textureinheiten. Diese sind selbst bei Knights Corner noch vorhanden und sind erst mit Knights Landing vom Chip verschwunden. In Knights Corner waren acht Textureinheiten vorhanden, später sollten es sogar 16 sein. Am Ende wurden sie komplett gestrichen. Doch auch wenn Intel bei Larabee nicht auf solche grafikkartenspezifische Komponenten verzichten konnte, so wurden sie derart implementiert, dass sie sich bei Nichtverwendung einfach komplett abschalten konnten. Sie belegen bei Knights Corner also Chipfläche, sorgen aber nicht für einen höheren Verbrauch des Chips.
[h3]Warum aber Larabee dennoch scheitern musste[/h3]
Larabee scheiterte vor allem daran, dass bei Intel ein Umdenken in der Chefetage stattgefunden hat und man eine dedizierte Grafikkarte nicht mehr als Ziel dieser Entwicklung sehen wollte. Larabee hat aber auch nie die Chance bekommen zu zeigen, zu was es im Stande ist. Larabee konnte die zu diesem Zeitpunkt aktuelle DirectX 11 und OpenGL 4.x Grafik schnell ausführen. Treiber und Software haben sich auf einem Stand befunden, in dem eine PCI-Express-Grafikkarte auf Basis von Larabee einfach in den Rechner gesteckt, der Treiber installiert und gespielt werden konnte. Es handelte sich bereits um eine vollwertige Grafikkarte.
Es handelte sich bei Larabee sogar um die erste Grafikarte, die vollständig alle Feature Sets von DirectX 11 unterstützen konnte. Dies war der Konzeption von Larabee geschuldet. Es handelte sich ja um x86-Kerne, die per Software so angesprochen werden konnten, dass sie ein Shader-Modell simulieren konnten. Auf den Larabee-Grafikkarten lief ein FreeBSD, darauf ein x86-Programm namens DirectXGfx mit 248 Threads. Per Telnet konnte auf Larabee zugegriffen werden. Ressourcen konnten umverteilt werden und wer wollte konnte bestimmte Bereiche dedizierten Aufgaben zuordnen. AMD hat mit der Polaris-Architektur ein ähnliches Konzept eingeführt. Hier können per Compute Unit Reservation einzelne Recheneinheiten einer bestimmten Aufgabe, der Berechnung von Audio, zugeordnet werden.
Larabee ist laut Tom Forsyth noch immer die schnellste GPU aus dem Hause Intel. Vermutlich sogar schneller als die Gen-Grafik der 7. Core-Generation alias Kaby Lake. Die Anpassung der Software hat sich zum Zeitpunkt der Einstellung in einem recht frühen Stadium befunden. Mit etwas mehr Zeit hätten hier weitere Optimierungen zu weiteren Verbesserungen bei der Leistung geführt. Mit dem nächsten Chip, LRB3, hätte man dann auch auf Seiten der Hardware weitere Verbesserungen im Zusammenspiel mit der Software einführen können. Zu all dem ist es nicht mehr gekommen. LRB3 bzw. Knights Landing sollte einem anderen Zweck dienen.
Tom Forsyth hat aber auch ein klares Fazit zu Larabee und inzwischen einen Strich unter die Geschichte gezogen. Er möchte die Erfahrungen nicht missen und glaubt auch, an einem wichtigen Projekt seinen Beitrag geleistet zu haben. In Anbetracht der Tatsache, wie stark Intel sich derzeit mit den Xeon-Phi-Beschleunigern aufstellt sicherlich keine falsche Darstellung. Ohne das Projekt Larabee hätte es Knights Landing und die Nachfolger Knights Mill und Knights Hill in dieser Form nicht gegeben. Er bedauert aber auch die Entscheidungen des Managements bei Intel, denn in seinen Augen hatte Larabee eine Chance am Markt verdient gehabt. Hat man die Ressourcen von Intel im Hinterkopf, wäre es sicher ein Versuch wert gewesen.
Letztendlich ist es aber nicht dazu gekommen und Larabee wird als Desktop-Grafikkarte eine Randnotiz bleiben. Wie es dazu gekommen ist, ist nun weitestgehend erklärt. Larabee war aber kein Fehlschlag, sondern ist womöglich ein Opfer des eigenen Erfolgs geworden. Man darf gespannt sein ob und wann sich Intel wieder in diesem Bereich vorwagen wird oder aber ob integrierte GPUs und GPU-Beschleuniger für Intel die einzig lohnenswerte Entwicklung in diesem Bereich bleiben wird.