【发布时间】:2017-10-25 05:58:55
【问题描述】:
我对在 Erlang 中启用 GPU 加速的管道有一个概念性的想法。该 API 将由高阶函数组成,这些函数采用 fun、二进制文件和一些标志,对 BEAM 字节码进行运行时检查,以查看 fun 是否可以编译到 OpenCL,缓存结果,然后与来自的高阶函数类似地工作列表模块。如果乐趣不能转换为 OpenCL,则该过程将失败。
所有操作都将在二进制文件上完成,因为 cons 列表不会在内存中连续表示,导致将它们移入和移出 GPU 内存需要大量工作。可以选择将二进制解释为浮点数、双精度数、整数或混合,并具有不同大小的输入和输出以供娱乐。是否可以在不破解 BEAM 的情况下在纯 Erlang 或 C 中执行此操作?如果是,将不胜感激相关资源的链接。
【问题讨论】:
标签: c erlang hardware-acceleration erlang-nif