1

我正在使用 gnu 并行通过 bash 脚本运行 matlab 函数。matlab 函数将我使用 bash 中的 find 命令传入的单个文件作为输入:

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 实例正在运行。

谢谢

4

1 回答 1

0

你不写你有多少 CPU 内核。如果您只有 8 个,那么您将无法区分。因此,请尝试并行运行更少的作业,并查看top进程是否使用 > 100%。

于 2014-07-04T10:05:49.293 回答