作者WPC001 ()
站內Programming
標題Re: 多個程式共用記憶體空間
時間Thu May 7 11:21:35 2009
※ 引述《sorryChen (陳揚和)》之銘言:
: 從來沒寫過分散式計算的程式 有誤請多多包含
: 我看了一下OpenMP的範例 感覺上滿簡單的耶 http://en.wikipedia.org/wiki/OpenMP
: 至少那個hello world 範例 在g++ 編譯一跑就可以有幾個core就跑幾個 "thread?"
: 正是我要的... 雖然還不知道這樣能夠變快多少 說不定因為memory 頻寬反而更慢
: 版友建議的MMAP還正在研究..不知道優缺點為何
OpenMP基本上是針對, 單台電腦上多個CPU(或多核), 而在最少改變程式碼的情況下
進行平行化, 使用者只要加入一些編譯上的註解, 編譯器的選項, 就可以完成平行化
Intel的TBB也是差不多的, 但TBB實際上有一些template library,
然後使用者實際上要修改的是比OpenMP來得多許多
至於MPI, 那是針對多台電腦平行處理開發的... 資料經過切割,
執行時, 排程器會幫你分配給不同的電腦, 之後排程器會去組合這些資料
如果你不是超大型的資料庫或是科學/學術方面的計算, 應該都不會用到MPI的
OpenMP應該是最簡單入門的東西
基本上OpenMP幾乎不需要改動程式碼, 大多只要加編譯註解
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.38.252
→ bigbite:第一句不太同意140.114.202.161 05/07 14:38
推 FlyinDeath:樓上怎講? 118.168.98.123 05/08 00:28
推 sorryChen:感謝 OpenMP正是我要的 也算試成功了 128.125.87.33 05/11 11:35
→ sorryChen:我使用16個CPU快八倍 還滿不錯的 128.125.87.33 05/22 05:11