Ich wollte mit funktionalem Code herumspielen und dachte mir, was es Spaß machen würde, ein interaktives Echtzeit-Ray-Tracing einiger zufällig zusammengesetzter Funktionen durchzuführen. Kennt irgendjemand irgendeinen Compiler oder Konverter, der Code aus einer funktionalen Sprache (oder irgendeiner Sprache, mit Funktionen höherer Ordnung) nehmen und ihn in etwas umwandeln kann, das in CUDA oder OpenCL verwendet werden kann?
Es gibt mehrere eingebettete Sprachen in Haskell, die auf CUDA und / oder OpenCL abzielen.
Die höchste Stufe ist accelerate , eine Teilmenge von Haskell für die Array-Verarbeitung, eingebettet in Haskell. Es funktioniert mit CUDA.
Conal Elliott hat eine Shader-Sprache , die in Haskell eingebettet ist, für die grafische Programmierung
Es gibt einige Versuche, wie Obsidian (Haskell) und SaC (Single Assignment) C).
Mehr zu diesem und einigen anderen Versuchen wird in diesem Artikel beschrieben: Funktionale Programmierung für Hochleistungsrechnen auf heterogenen Architekturen
Tags und Links functional-programming opencl cuda gpu