我需要在java环境中对大量数据执行一次计算(和和乘积)。我知道最好的解决方案是使用SIMD架构,例如CUDA,但我没有能力拥有专用硬件。你知道在单机上运行并利用多核的map reduce框架吗?
发布于 2013-06-30 19:17:36
对于这类任务,通常推荐使用fork- join框架,因为它会自动使用与核心数一样多的线程,您可以在Java教程中阅读更多关于它的内容:http://docs.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html
另一方面,如果只是对数字求和和乘法,那么选择固定数量的线程可能会更简单,比如4个线程,然后让第一个线程对索引0、4、8、..第二个在索引1,5,9,...第三个在2,6,10,..诸若此类
https://stackoverflow.com/questions/17389736
复制相似问题