Re: [問題] 關於MPI for C++

看板C_and_CPP (C/C++)作者 ( )時間16年前 (2009/04/16 00:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《sonefish (好人大叔)》之銘言: : 小弟 想問一下版上的大大 由於小弟是初心者 這學期開始剛接觸c/C++ : 但是上課的老師 並不覺得這個是很大的問題 : 之前自己高中的時候 有稍微學過c++ : 所以程式的部份還看的懂 : 最近老師出了一個作業 : 是有關 於 MPI的 網路上找了很多資料 好像在linux 上面的話是 IPC MPI 其實比較像是 socket, 你要說是 IPC 也是可以, 不過一般講 IPC 不會包含跨 server 的 communication, 但 MPI 是可以跨 server 的 (簡單來說就是支援分散式架構), 而且 programmer 根本不知道也不用管有沒有跨 server。 : 想問一下 不管是MPI 或者 IPC 我都遇到一個問題就是 : 找不到 必須使用的 標頭檔 mpi.h (MPI) or sys/ipc.h sys/shm.h(ipc) : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : 都有找到 但是載入的時候 都會出錯 mpi最嚴重 幾乎整個定義都有問題 : 有上英文網站找過資料了 這個有人回了就不講了。 : 想問一下 關於 : a process 要傳送訊息給 b process 這個要怎麼製作呢? 在不特別使用 tag 為前提, 傳的資料是 int 的話, 在只有 a process 會跑到的地方寫 MPI::COMM_WORLD.Send(&intData, dataSize, MPI::INT, rankB, 0); 在只有 b process 會跑到的地方寫 MPI::COMM_WORLD.Recv(&intData, dataSize, MPI::INT, rankA, MPI::ANY_TAG); rank 是一種類似 process id 的概念, process 自己的 rank 可以用 MPI::COMM_WORLD.Get_rank() 拿到, process 的總數可以用 MPI::COMM_WORLD.Get_size() 拿到, 剩下的你就自己發揮了。 : 我有找到 關於這個的程式 可是 我看不太懂 : 我可以把程式 寄給版上得某位大大? 幫我解說一下嗎? : (不知道這樣問 會不會太不禮貌) 你還是自己想辦法看懂比較能進步。 : 第一次發問 請各位大大 指教 : 最後感謝大家看完這篇很長的文 <(_ _)> -- Ling-hua Tseng (uranus@tinlans.org) Department of Computer Science, National Tsing-Hua University Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://www.tinlans.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.108.173
文章代碼(AID): #19vW-Eth (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19vW-Eth (C_and_CPP)