2014-11-04 65 views
3

MPI标准3于2011年发布 ,没有C++绑定!我的问题是如何在没有MPI的情况下在C++中编程分布式计算(注意我们还需要OpenMP CUDA Openacc) 在C++中是否有MPI的替代方案(不是MPI 2.2,boost MPI)? 是建立在TCP/IP上的MPI,所以我可以使用C++中的TCP/IP构建我自己的方式?C++ MPI标准3

是否有开放源码绑定到MPI 3的C + +?

或者只是你必须坚持到C GTK + CUDA OpenMP的OpenGL的MPI 3

如果你想C++ QT CUDA的OpenMP的OpenGL +分布式计算API?

Ubuntu和许多Linux发行版试图用Wayland和MIR取代Xserver,它们都会编写特殊的API和层来为OpenGL桌面创建上下文来替换GLX GTK +将在Linux上具有MIR Wayland集成,如果某些人和群体发生某些变化尝试修复它尝试开发新的解决方案

但MPI 3 C++结合我不觉得它

+7

你知道,C API可以在C++中完美地使用...... – Deduplicator 2014-11-04 02:56:06

+0

正如@Deduplicator所说,C API可以很好地使用。事实上,这是Boost和朋友使用的。 – 2014-11-04 02:58:44

+3

C++ API从MPI-3中删除,因为它不提供C绑定的真正优势,而是一个简单的包装层。建议使用C++编写的MPI用户使用Boost.MPI,它提供了真正的面向对象的接口,并支持诸如类的序列化之类的东西,以便对象可以作为消息直接发送。 – 2014-11-04 07:45:38

回答

3

解决方案的官方建议是使用C绑定,在意见的理由。这里唯一的功能损失与异常有关,您不会错过它,因为在MPI-2时代没有实现是容错的。

Boost :: MPI很不错,但支持很少的功能(最受欢迎的功能)。

鼓励自己编写C++包装。元素(libelemental.org)有一个很好的设置,可以通过类型推断来实现魔法。

我对开发一组新的C++绑定感兴趣,但没有时间去取得进展。有一个StackExchange计算科学的帖子,详细讨论你可能会贡献。

+0

你的意思是写我自己的mpi .c代码,并从它调用在我的C++代码里面就像编写Python应用程序一样,并且在c中编写瓶颈代码,并且从Python内部编写所有代码。这是完美的解决方案,但是如何编译和链接mpi c C++需要大量的实验和实践。谢谢你的回答 – 2015-11-06 08:03:49