2014-11-04 67 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