2014-03-27 71 views
2

我想在matlab中利用gnu-parallel的功能啓動一些並行作業。Matlab和gnu-parallel

在我的文件夾我有test.m文件:

function test(a) 
while 1 
disp(a); 
end 
exit; 

我已經習慣了這種方式推出的matlab多個並行會話:

for i in `seq 1 10`; do 
    nohup matlab -singleCompThread -nodesktop -nosplash -r "test($i,43))" & 
done 

但如果我想這個適應腳本到gnu-parallel?我試過了:

parallel "matlab -nodisplay -nodesktop -nojvm -nosplash -r 'test({1})'" ::: 1 2 3 4 

但這根本不起作用。對我來說使用gnu-parallel應該會有很大的幫助,因爲它能夠比我以前的解決方案更好地平衡計算和處理。

有些想法?

+1

我會交易'[HPC]'的153 '追隨者' 爲'65名追隨者[GNU並行] '。祝你好運。 – shellter

+0

爲什麼不使用Matlab並行計算工具箱? –

+1

因爲我沒有安裝它。我應該買它,但首先我想看看gnu-parallel是否可以做類似的工作。 – linello

回答

4

這應該工作(我沒有訪問MATLAB安裝):

seq 1 10 | parallel 'matlab -singleCompThread -nodesktop -nosplash -r "test({},43))"' 
+0

似乎工作:P – linello

+0

@linello如果這爲你工作,那麼你應該考慮接受奧列的答案,所以你的問題不會繼續漂浮在:-) –