2013-06-05 30 views
1

我不得不承認,我正在閱讀gnu並行文檔,我不能 找到我正在尋找。 我需要運行一個有多個選項的代碼。代碼是數學密集型的,並且在單核內運行的3Ghz計算機中需要長達5天的時間。 我以前用過gfortran和-fopemp,但現在我正在運行這個C代碼,所以gnu並行似乎足夠了。現在的問題,我需要用好和nohup的下列選項執行wcmap.c:GNU並行運行一個代碼有幾個選項

nohup nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat 

我已經試過GNU平行沒有成功

parallel --gnu nice -n 19 ./wcmap --slon_min 74.5 --slon_max 74.5 --ll_0_min 325 --ll_0_max 340 --bet_min 0.0 --bet_max 15 --vg 38.9 --ll_0_step 0.5 --bet_step 0.5 --path PARALLEL/ MORHIST-Exit.dat ::: 

我要離開這個運行在遠程服務器上的某些日子的幾個節點上。甚至在我的辦公室電腦(4核),這就是爲什麼我從遠程會話使用nohup。 任何建議表示讚賞! 提前謝謝! 塞巴斯蒂安

+0

看來,實際報價的命令工作,但我仍然得到「並行:輸入是從終端讀取,只有專家有意識地按CTRL-D才能退出。「信息。它現在在兩個線程上運行。 – user2457231

+0

你是從閱讀和理解例子開始的嗎? http://www.gnu.org/software/parallel/man.html#example__working_as_xargs__n1__argument_appending –

回答

0

GNU並行不能奇蹟般地並行wcmap程序的內部。它可以做的是並行運行不同參數的wcmap。因此,讓我們假設你想運行:

./wcmap --slon_min 74.5 --slon_max 74.5 MORHIST-Exit.dat 
./wcmap --slon_min 75 --slon_max 75 MORHIST-Exit.dat 
./wcmap --slon_min 75.5 --slon_max 75.5 MORHIST-Exit.dat 
./wcmap --slon_min 76 --slon_max 76 MORHIST-Exit.dat 

然後你就可以做到這一點與GNU並行:

parallel ./wcmap --slon_min {} --slon_max {} MORHIST-Exit.dat ::: 74.5 75 75.5 76 
+0

謝謝Ole。是的,需要多次太陽經度運行。我意識到這一點,但我不知道它會有所作爲。每個核心實際上是一個線程,並且我期望每個核心有幾個線程。所以可用的24個內核實際上是24個線程。我將手動啓動這些運行,每個線程一個,執行所有線程。再次感謝你! – user2457231