0

我需要在 java 环境中对大量数据执行单次计算(求和和乘积)。我知道最好的解决方案是使用 CUDA 等 SIMD 架构,但我没有能力拥有专用硬件。您知道在单机上运行并利用多核的 map reduce 框架吗?

4

1 回答 1

2

对于这类任务,通常推荐使用 fork-join 框架,因为它会自动使用与内核一样多的线程,您可以在 Java 教程中了解更多信息:http: //docs.oracle.com/javase/tutorial/基本/并发/forkjoin.html

另一方面,如果您只是将数字相加和相乘,则选择固定数量的线程(例如 4)可能会更简单,并让第一个线程将索引 0、4、8 处的数字相加。...第二个线程位于索引处1,5,9,... 第三个在 2,6,10,.. 以此类推

于 2013-06-30T11:17:35.960 回答