【发布时间】:2014-04-14 07:23:43
【问题描述】:
我想知道 Clojure 是否存在任何 GPU 集成库?
我见过涉及手动滚动 OpenCL 代码的示例,但我特别在寻找类似于 Anacoda 加速的东西,它可以相对无缝地将 Numpy Python 表达式转换为 CUDA 代码。
我对 OpenCL 或 Cuda 方法持开放态度。
【问题讨论】:
我想知道 Clojure 是否存在任何 GPU 集成库?
我见过涉及手动滚动 OpenCL 代码的示例,但我特别在寻找类似于 Anacoda 加速的东西,它可以相对无缝地将 Numpy Python 表达式转换为 CUDA 代码。
我对 OpenCL 或 Cuda 方法持开放态度。
【问题讨论】:
这是最近在 github https://github.com/JulesGosnell/clumatra 上启动的一个项目。它看起来更像是一个实验,而且令人印象深刻!
【讨论】:
有一个 Google Summer of Code 项目提案要向core.matrix 添加一个 GPU 矩阵实现:
一旦完成,该项目将允许在 GPU 上优化和执行大型向量/矩阵表达式。
免责声明:我可能是这个项目的导师。
【讨论】:
clojureCL 在此问题发布几个月后发布。看起来它提供了对标准接口的更惯用的解释,但它不是将 Clojure 数学/向量操作转换为 OpenCL 操作的工具(我认为这就是 OP 正在寻找的东西?)
[ClojureCL] 带来了强大的功能,但如果您从未在 GPU 或嵌入式设备上进行过任何编程,请不要指望它会很轻松。使用 ClojureCL,它并不像在 C 中那样困难(C 中的 OpenCL Hello World 是一百行源代码,在 ClojureCL 中只有几行),...
好消息是您可以使用任何 OpenCL 书籍来学习 ClojureCL,我们甚至为 OpenCL in Action 书籍中使用的示例提供 ClojureCL 代码。
【讨论】:
一个老话题,但现在我们有了clojurecuda,它是JCuda 的包装器!
它不会给你自动加速,但至少Neanderthal 是一个更高级别的线性代数库。
【讨论】: