用于分发计算的包

时间:2009-06-08 08:38:35

标签: c++ parallel-processing package

您是否了解在每台计算机上的多台计算机和/或多个核心上分发计算的任何程序包?计算代码是c ++,包需要能够处理> 2GB的数据并在Windows x64机器上工作。共享软件会很好,但不是必需的。

3 个答案:

答案 0 :(得分:2)

合适的解决方案取决于您希望处理的计算类型和数据,您希望实现的并行度的粒度,以及您愿意投入多少精力。

最简单的方法是使用支持并行性的合适解算器/库(例如 scalapack)。或者,如果您希望推出自己的求解器,可以使用OpenMP或提供自动并行的编译器(例如Intel C / C ++编译器)从当前代码中挤出一些并行化。所有这些都将为您提供合理的性能提升,而无需对代码进行大规模重组。

在频谱的另一端,您有MPI选项。如果您的算法并行良好,它可以为您提供最大的性能提升。然而,它需要相当多的再造。

另一种选择是走向穿线路线。图书馆里有一些工具可以让这不再是一场噩梦。值得一看:Boost C++ Parallel programming libraryThreading Building Block

答案 1 :(得分:1)

您可能需要查看OpenMP

答案 2 :(得分:0)

有一个MPI库,DVM system在MPI之上工作。这些是广泛用于并行化各种任务的通用工具。

相关问题