2

我想在 F# 中使用 CUDA。虽然 Alea.CuBase 看起来真的很棒,但不幸的是它不是免费的。在 F# 中使用 CUDA 的最佳选择是什么?是否还有其他正在积极开发的免费库?就性能编辑和功能而言,它们是否比 C 上的 CUDA 差得多(尤其是我想为我的应用程序使用纹理内存)?

4

2 回答 2

2

如果您想在 F# 应用程序中启动用纯 CUDA-C 编写并由 nvcc 编译的 CUDA 内核,我建议您使用managedCuda,它可以访问所有可用的 CUDA 功能(我维护这个库)。

如果你想做代码转换,这意味着用 F# 编写内核被转换为 CUDA 内核,那么你可能想看看cudafy;缺点是缺少诸如纹理内存之类的功能。

两者都在 LGPL 许可下可用,并得到积极维护。

于 2013-10-29T23:41:57.277 回答
2

FSCL是我所知道的最完整的工具。它针对的是 OpenCL(不是 CUDA),但现在 OpenCL 正在成熟(尤其是在 OpenCL 2.0 标准最终确定后),这可能是许多用途的最佳选择;如果您特别需要使用 CUDA(例如,使用某些不适用于 OpenCL 的 CUDA 库),您可以修改 FSCL 编译器,使其以 CUDA 为目标。

今年早些时候,Don Syme 在他的博客上写到了 FSCL:FSCL - Compiling F# to OpenCL for High-Performance over Multi-core and Many-core devices

于 2013-10-29T23:01:23.503 回答