我正在编写一个C ++项目来使用Travelling salesman problem来解决genetic algorithms。当然,我想在同一局域网中使用一堆(约40台)计算机来加快速度。计算机都在运行Windows XP ......所以,问题是使用给定设备并行化它的方法是什么
更新: 你帮我把我的选择范围缩小到了一个Open MPI,所以剩下的唯一问题是我应该为它们使用boost MPI包装器吗?另外,你能推荐mpich / OpenMPI的教程吗?
答案 0 :(得分:3)
您需要使用某种形式的通信来同步系统之间的进程。此类应用程序的常见API是使用Message Passing Interface (MPI)。 MPI / MPI-2有很多可以在Windows XP上运行的实现。
答案 1 :(得分:1)
MPI是此类项目最常用的标准之一。来自不同供应商的该标准有许多实现。我想你应该考虑其中两个:
另一个有趣的方法是使用OpenMP。有Cluster OpenMP实现。这种解决方案可能更容易实现,但在某些情况下不如MPI那么可扩展。