我想在F#中使用CUDA。虽然Alea.CuBase看起来真的很棒,但遗憾的是它不是免费的。在F#中使用CUDA的最佳选择是什么?还有其他正在积极开发的免费图书馆吗?在性能 EDIT 和功能(特别是我想在我的应用程序中使用纹理内存)方面它们比C上的CUDA差得多吗?
答案 0 :(得分: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答案 1 :(得分:2)
如果要在F#应用程序中启动用普通CUDA-C编写并由nvcc编译的CUDA内核,我建议你managedCuda,它可以访问所有可用的CUDA功能(我维护这个库)。
如果你想进行代码转换,意味着在F#中编写内核转换为CUDA内核,那么你可能想看一下cudafy;具有缺少诸如例如缺失的特征的缺点纹理记忆。
两者都在LGPL许可下可用,并且得到积极维护。