任何 C++在多台 PC 上运行单个程序的库(即“使用网格计算来运行我的应用程序”)
我正在寻找一种将单个程序转换为在网络上的多台计算机上运行的方法(想想“网格计算”)。
我正在使用 MSVC 2007 和 C++(非 .NET)。
我编写的程序非常适合并行编程(它对科学数据进行分析),因此计算机越多越好。
I'm after a method of converting a single program to run on multiple computers on a network (think "grid computing").
I'm using MSVC 2007 and C++ (non-.NET).
The program I've written is ideally suited for parallel programming (its doing analysis of scientific data), so the more computers the better.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对此的经典答案是 MPI(消息传递接口)。需要做一些工作才能使您的程序能够很好地处理消息传递,但最终结果是您可以轻松地在运行 MPI 守护程序的计算机集群上启动可执行文件。
有几种实现方式。我曾与 MPICH 合作过,但我可能会考虑使用 < a href="http://www.boost.org/doc/libs/1_43_0/doc/html/mpi.html" rel="nofollow noreferrer">Boost MPI (上次我不存在就在附近)。
The classic answer for this would be MPI (Message Passing Interface). It requires a bit of work to get your program to work well with message passing, but the end result is that you can easily launch your executable across a cluster of machines that are running a MPI daemon.
There are several implementations. I've worked with MPICH, but I might consider doing this with Boost MPI (which didn't exist last time I was in the neighborhood).
首先,这里讨论这个主题:
https://stackoverflow.com/questions/2258332/distributed-computing-in-c
其次,搜索“C++ 网格计算库”、“Visual Studio 网格计算”和“C++ 分布式计算库”返回以下结果:
Firstly, this topic is covered here:
https://stackoverflow.com/questions/2258332/distributed-computing-in-c
Secondly, a search for "C++ grid computing library", "grid computing for visual studio" and "C++ distributed computing library" returned the following: