Programmiersprachen · 2 min read · Oct 20, 2025

Diese neue funktionale Programmiersprache kann C- und Python-Code für Apps generieren

Die Verwendung von Futhark erleichtert das Programmieren für GPUs, die maschinelles Lernen und andere rechenintensive Apps beschleunigen

Forscher der Universität Kopenhagen, Abteilung für Informatik, haben kürzlich Futhark vorgestellt, eine Open-Source-funktionale Programmiersprache, die zum Erstellen von Code entwickelt wurde, der auf GPUs läuft, um in maschinellem Lernen und anderen Hochleistungsanwendungen eingesetzt zu werden.

Die Forscher gaben an, dass Futhark benutzerfreundlicher sein soll als Standard-C/C++-Frameworks zum Programmieren von GPUs. Das Hauptmerkmal von Futhark ist, dass es automatisch sowohl C- als auch Python-Code generieren kann, der in bestehende Apps integriert werden kann. Futhark ist in Haskell geschrieben.

Bis heute umfasst die meisten GPU-Programmierungen die Verwendung von Frameworks wie OpenCL oder CUDA, die beide Variationen von C oder C++ verwenden, um Code zu generieren, der auf der GPU läuft. Anstatt ein Framework zu verwenden, kann Futhark C-Code generieren, ist jedoch eine eigene Sprache, die Haskell oder Standard ML ähnlicher ist als C.

Die Schöpfer von Futhark behaupten, dass die Ausdruckskraft der Sprache es einfacher macht, komplexe Operationen zu beschreiben, die Parallelität nutzen. Dazu gehört die Fähigkeit, geschachtelte Parallelisierungen (parallele Operationen innerhalb anderer paralleler Operationen) zu unterstützen. Futhark kann dies „trotz der Komplexität der effizienten Zuordnung zur flachen Parallelität, die von der Hardware unterstützt wird, da viele Programme von dieser Funktion abhängen.“

Die Behauptungen der Forscher sind nicht unbegründet. Vorläufige Benchmarks, die Futhark-GPU-Programme gegen andere GPU-Bibliotheken antreten ließen, zeigten vielversprechende Ergebnisse. Bei einem Test zur maximalen Segment-Summe war Futhark fast doppelt so schnell wie ein konkurrierendes Open-Source-Projekt. In anderen Fällen war es gleich schnell oder nur geringfügig langsamer als die Konkurrenz. Die Entwickler von Futhark führten dies auf die Neuheit der Sprache und ihren unrefinierten Ansatz zur Zuweisung und Wiederverwendung von Speicher zurück.

Die aktuelle Futhark-Toolchain kann Code generieren, der entweder auf der CPU oder der GPU ausgeführt werden kann, mit einer Vielzahl von Zielen. Für ersteres generiert sie C-Code, der vom GCC kompiliert wird; für letzteres generiert sie C-Code, der die OpenCL-Plattform verwendet. Somit kann derselbe Code auf jeder verfügbaren Hardware ausgeführt werden, die ihn unterstützt, ähnlich wie GPU-beschleunigte Apps wie die MapD-Datenbank auf die CPU zurückgreifen können, wenn dies erforderlich ist.

Python-Nutzer, die einen Geschwindigkeitsboost wünschen, können mit Futhark automatisch in ein Python-Modul eingebetteten Code generieren. Der GPU-Code läuft über PyOpenCL, eine Bibliothek zur Schnittstelle mit GPUs. Es gibt Beispiele dafür, wie eine Futhark-gesteuerte GPU-Implementierung von Conways Spiel des Lebens.

Futhark ist noch in der Entwicklung, und die Entwickler haben den Code auf GitHub für andere Forscher und Entwickler bereitgestellt.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.