boost-mpi

    1熱度

    1回答

    我使用mpich和MPI_THREAD_MULTIPLE支持。從升壓文檔: 對於可變長度的數據,例如,串行化的類型和壓縮的存檔,兩個消息將通過MPI_SEND被髮送:包含數據的長度和包含數據本身 它是第二個可以安全地將具有相同標籤的序列化類型發送到不同線程的同一級別?接收等級只有一個線程接收消息

    1熱度

    1回答

    試圖撒施使用升壓MPI boost_tuple元素時: broadcast(world,J,0); 我有錯誤: /usr/local/include/boost/serialization/access.hpp:118:9: error: 'class boost::tuples::tuple<int, int, int, int, int>' has no member named 'ser

    2熱度

    2回答

    從閱讀文檔,MPI_Bcast是一個阻塞調用(因此boost :: mpi :: broadcast)也是如此。衡量根節點廣播花費的時間量是衡量數據從根節點到所有其他節點所花費的時間的一個很好的衡量標準嗎? 即 int64_t t1 = Utility::picosecondTime(); //exactly what it sounds like; utility that measures c

    1熱度

    1回答

    我想傳輸一個未知子類的類,但已知基類。 我相信這應該使用boost::serialization,BOOST_CLASS_EXPORT_GUID和boost::mpi是可能的,但我很新的C++一般 這是代碼,我有: #include <boost/mpi.hpp> #include <boost/mpi/environment.hpp> #include <boost/mpi/communic

    5熱度

    1回答

    我目前正在使用boost :: mpi在openMPI上編寫一個模擬程序,並且一切都很好。但是,一旦我擴大系統,因此必須發送更大的std ::向量,我會得到錯誤。 我已經減少了問題存在如下問題: #include <boost/mpi.hpp> #include <boost/mpi/environment.hpp> #include <boost/mpi/communicator.hpp>

    0熱度

    1回答

    vector<int> master(100); vector<reference_wrapper<int>> sub = master(&master[10], &master[20]); boost::mpi::irecv(source, tag, sub); 上述是否有效和功能recv和更新矢量的子集? 如果不是,那麼除了recv和copy以外,是否還有一個等價的選擇?

    0熱度

    1回答

    我想通過使用boost mpi傳遞更復雜的數據類型。我正在實施示例代碼http://theboostcpplibraries.com/boost.mpi-simple-data-exchange 首先,我嘗試發送一個字符串作爲字符數組,它可以從上述示例47.5中學習。的代碼是: #include <boost/mpi.hpp> #include <iostream> int main(int

    0熱度

    1回答

    下面的代碼給出了這樣的錯誤消息: 終止叫做拋出 的實例後 '的boost :: exception_detail :: clone_impl' 什麼():MPI_TEST:MPI_ERR_TRUNCATE:消息截斷 問題可能與在this post中討論的boost :: mpi錯誤有關。我想確定錯誤的原因。 代碼工作,如果我僅環一次(for (int z=0; z<1; ++z)),但z<2我得到

    2熱度

    1回答

    我用了openmpi和Linux Mint的, 考慮下面的例子: #include <boost/mpi.hpp> #include <iostream> #include <string> #include <boost/serialization/string.hpp> namespace mpi = boost::mpi; using namespace std; int m

    0熱度

    1回答

    在下面的代碼中,探測時,沒有獲得正確的到達數量。標準MPI功能也測試了相同的功能,並獲得了正確的答案。爲什麼Boost版本不會產生正確的結果? 加速版本: #include <iostream> #include <boost/mpi.hpp> using namespace boost; using namespace boost::mpi; int main() { e