Zum Hauptinhalt Zur Navigation

Golem Plus Artikel
Programmieren mit Sycl:
Wie iGPUs meinen Traum von der Universalsprache zerstörten

Cuda for fun and profit
Theoretisch lässt sich mit Sycl so ziemlich jede Hardware programmieren. In der Praxis sieht das leider oft anders aus. Das liegt aber nicht an Sycl.
/ Johannes Hiltscher
Kommentare News folgen (öffnet im neuen Fenster)
Mini-PCs verfügen oft nur über iGPUs - und die lassen sich leider kaum mit Sycl-Code füttern. (Bild: Johannes Hiltscher/Golem.de)
Mini-PCs verfügen oft nur über iGPUs - und die lassen sich leider kaum mit Sycl-Code füttern. Bild: Johannes Hiltscher/Golem.de

Auf den ersten Blick sieht Sycl aus, als wäre ein Traum wahr geworden: eine moderne, herstellerunabhängige Programmierumgebung mit hoher Abstraktion, die auf so ziemlich jeder Hardware läuft. Der Versuch, unser Testprogramm aus dem vorherigen Artikel (g+) auf verschiedenen GPUs auszuführen, hat uns allerdings auf den Boden der Realität zurückgeholt. Und die heißt: Es hängt davon ab.

Auf einigen GPUs laufen Programme ohne Mühen, auf anderen sind wir trotz verschiedener Ansätze gescheitert. Denn bei Sycl führen oft mehrere Wege nach Rom. Insbesondere bei integrierten GPUs (iGPUs) führt dabei aber oft keiner zum Ziel, und wenn doch, dann teils mit Einschränkungen. Das liegt allerdings nicht an Sycl – und zumindest haben wir einiges über die Sprache, OpenCL und die feinen Unterschiede von auf den ersten Blick gleichen GPUs gelernt.

Golem Plus Artikel