多核J语言--并行化

7

有没有办法让J使用多个核心?我认为APL/J的好处之一是语言结构非常适合并行解决方案。

查看我的CPU使用情况(我在OSX上),显然只有一个处理器在运行。

我有一个比较重的函数f作用于一个列表上,我不明白为什么它不能将列表分成4个部分,然后重新组装结果呢?


很遗憾,如果你已经以数组为导向的方式编写了你的解决方案,那么你可以针对数组的不同段运行多个程序实例。 - Eelvex
2
真遗憾。APL的任何方言都支持多核运行吗? - user1202733
我遇到了基本相同的问题,所以我采取了一个比较激进的方法,我决定为一种基本上是J语言的编写一个编译器。这个项目的目标包括多核支持,GPGPU(CUDA/OpenCL)支持以及通过局域网分发任务。尽管还没有完成,但您可以在https://github.com/Synthetica9/HyperJ跟踪我们的进展。 - Synthetica
@Synthetica 非常棒。我会关注的。 - Alex Shroyer
1个回答

1
ArrayFire可能值得一试。它支持AMD/NVIDIA的OpenCL,并向后兼容CPU。它是一个数组处理库。它应该可以像在Matlab中一样轻松地绑定到J。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接