9

我一直想玩弄函数式代码,并认为对一些随机组合的函数进行交互式实时光线追踪会很有趣。有谁知道任何编译器或转换器可以从函数式语言(或任何具有高阶函数的语言)中获取代码并将其转换为可在 CUDA 或 OpenCL 中使用的东西?

4

2 回答 2

9

Haskell 中有几种针对 CUDA 和/或 OpenCL 的嵌入式语言。

最高级别是加速,它是 Haskell 的一个子集,用于数组处理,嵌入在 Haskell 中。它适用于 CUDA。

Conal Elliott在 Haskell 中嵌入了着色器语言,用于图形编程

于 2012-09-20T12:13:02.360 回答
2

有一些尝试,例如Obsidian (Haskell) 和 SaC (Single Assignment C)。

本文描述了有关此尝试和其他一些尝试的更多信息: Functional Programming for High-Performance Computing on Heterogeneous Architectures

于 2012-09-20T09:53:17.723 回答