2014-07-03 111 views
1

我正在運行一個matlab函數通過bash腳本使用gnu並行。 MATLAB函數作爲輸入,我想過去在bash中使用find命令單個文件:GNU並行與matlab parfor循環

find $path -name *.nc | parallel - j 8 "echo{} | matlab -nojvm -nosplash -r matlab_function" 

MATLAB函數使用PARFOR循環,我無法確定,如果這是真的,甚至工作或沒有,因爲它似乎比如果我只是在matlab gui中手動運行該函數要慢。我的意思是肯定執行,但我擔心,因爲bash腳本打開了8個matlab實例,每個都運行一個parfor循環,也許他們實際上不能運行parfors?任何人都可以幫助我至少確定這是否實際上並行正確運行?

哦,我目前有兩個終端實例在數據的不同部分打開運行腳本,所以真的我相信有16個matlab實例在運行。

謝謝

+0

'ps'說什麼? 「正常運行時間」表示你的負載是什麼?關於你的CPU等,「top」是什麼意思。用法(在頂部點擊'1'獲得頂部的per-cpu行)? –

回答

0

你不寫出你有多少個CPU核心。如果你只有8個,那麼你將無法分辨其中的差異。因此,嘗試並行運行較少的作業,如果進程使用> 100%,請參閱top

+0

如果他們運行> 100%,這意味着什麼?我確實看到有16個matlabs被打開,其中一些在90%的範圍內,更多的是50%,偶爾會有一些超過100,我不確定這意味着什麼。 – user3802704

+0

@djikay這是什麼意思,如果他們跑步> 100%?我確實看到有16個matlabs被打開,其中一些在90%的範圍內,更多的是50%,偶爾會有一些超過100,我不確定這意味着什麼。 – user3802704

+0

請不要保守你擁有多少CPU。如果你需要幫助,我們將很快需要這些信息。 –