※ 引述《ICBM ( .)》之銘言:
: ※ 引述《Adama (So Say We All.)》之銘言:
: : -np 2是指在一個process slot (通常就是對應到一個physical cpu)
: : 上跑兩個copies of program。如果沒指定-np #的話預設是一個process
: : slot跑一個copy of program。這不是平行化的意思,因為所跑的program
: : 是彼此獨立的,就好像同時執行很多個同樣的程式不能叫平行化吧!? :p
: 我目前在我的實驗室跑的電磁學模擬程式就是這樣平行的。
當然廣義來講,能把一份工作以倍數分開,在倍數分之一的時間內完成,
就算達到平行化的目的。不過真正的平行化應該還包含一些特徵,比如
說fork, sync和collect等動作,不然以原po的例子來說,他其實根本不
用管平行化,就寫一個single thread program,同時跑兩個,各處理一
半的data input就可以用到雙核了啊!XD 只是如果有一核先把資料處理
完了呢?它就閒置在那裡了吧
: 這樣作你可以同時透過網路及同一台機器平行。
一般來說網路節點及大型主機共用的情況,是將MPI和OpenMP合寫在一起
變成hybrid. 不過現在OpenMP也開始增加網路節點溝通的API了,MPI反
之也想增加SMP的API, 所以以後界限會愈來愈模糊,甚至合併
--
http://cardassian.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.102.157