Visual c++ 任何C++;在多台PC上运行单个程序的库';s(即“使用网格计算运行我的应用程序”)

Visual c++ 任何C++;在多台PC上运行单个程序的库';s(即“使用网格计算运行我的应用程序”),visual-c++,parallel-processing,cloud,task-parallel-library,Visual C++,Parallel Processing,Cloud,Task Parallel Library,我在寻找一种将单个程序转换为在网络上的多台计算机上运行的方法(想想“网格计算”) 我使用MSVC 2007和C++(非.NET)。< /P> 我编写的程序非常适合于并行编程(它对科学数据进行分析),因此计算机越多越好。首先,这里介绍了这个主题: 其次,搜索“C++网格计算库”、“visual studio网格计算”和“C++分布式计算库”返回以下结果: OpenMP+OpenMPI。OpenMP处理同一机器上多个CPU内核上的单个C++程序的运行,OpenMPi处理多台机器之间的消息传递。O

我在寻找一种将单个程序转换为在网络上的多台计算机上运行的方法(想想“网格计算”)

我使用MSVC 2007和C++(非.NET)。< /P>
我编写的程序非常适合于并行编程(它对科学数据进行分析),因此计算机越多越好。

首先,这里介绍了这个主题:

其次,搜索“C++网格计算库”、“visual studio网格计算”和“C++分布式计算库”返回以下结果:

  • OpenMP+OpenMPI。OpenMP处理同一机器上多个CPU内核上的单个C++程序的运行,OpenMPi处理多台机器之间的消息传递。OpenMP+OpenMPI=网格计算
  • POP-C++,请参阅
  • Xoreax网格引擎,请参阅。Xoreax专注于加速Visual Studio的构建,但Xoreax网格引擎也可以应用于一般应用程序。查看引号,我们看到引号“一旦通过下面描述的接口之一定义了任务集(一组用于分发的任务及其依赖项定义),它就可以在运行IncredBuild代理的任何机器上执行。”。请参阅附带的CodeGuru文章
  • 阿尔切米,看
  • 右比例,请参见。引用本文示例部分的一句话:“药物蛋白质分析:在不到一天的时间内完成了数百万个蛋白质化合物的比较——这项任务将花费客户一周多的内部资源……”

    • 这方面的经典答案是MPI(消息传递接口)。要使程序能够很好地处理消息传递,需要做一些工作,但最终的结果是,您可以轻松地跨运行MPI守护进程的计算机集群启动可执行文件


      有几个实现。我已经工作过了,但是我可能会考虑做这件事(上次我在附近的时候不存在)。OpenMPI主页位于,并且有OpenMPI实现列表位于。