2014-07-03 51 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。如果你需要帮助,我们将很快需要这些信息。 –