【问题标题】:gnu parallel with matlab parfor loopgnu 与 matlab parfor 循环并行
【发布时间】:2014-07-03 17:30:49
【问题描述】:

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

谢谢

【问题讨论】:

  • ps 说什么? uptime 说你的负载是什么? top 对你的 CPU/etc 有什么看法?使用情况(在顶部点击 1 以获得顶部的每 cpu 行)?

标签: bash matlab parallel-processing parfor


【解决方案1】:

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

【讨论】:

  • 如果他们正在运行 > 100% 意味着什么?我确实看到有 16 个 matlabs 开放,其中一些在 90% 范围内,一些更接近 50%,偶尔有些超过 100,我不确定这意味着什么。
  • @djikay 如果他们正在运行 > 100% 是什么意思?我确实看到有 16 个 matlabs 开放,其中一些在 90% 范围内,一些更接近 50%,偶尔有些超过 100,我不确定这意味着什么。
  • 请不要隐瞒你有多少 CPU。如果您需要帮助,我们真的需要这些信息。
猜你喜欢
  • 2014-06-10
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多