【问题标题】:Using the PCT in Matlab with (separate) multiple sessions/windows open在 Matlab 中使用 PCT 并打开(单独)多个会话/窗口
【发布时间】:2015-01-09 17:39:57
【问题描述】:

在我的 Mac 上,我可以同时打开两个 Matlab 窗口,这允许我同时运行两个单独的脚本。最近,为了利用并行计算工具箱,我已经转换了这些文件中的每一个(例如,将 for 循环更改为 par for 等)。

假设在 Windows A 和 B 中,我分别使用并行计算函数运行脚本 A 和 B。现在假设在窗口 B 中,我关闭了并行池(例如,我输入:

matlabpool close

(或较新版本中的 delete(gcp))。这是我的问题。如果我在窗口 B 中键入此命令,那么在窗口 A 中运行的程序会发生什么(如果有的话)?它还在利用并行计算工具箱吗?

【问题讨论】:

  • 你试过看看会发生什么吗?
  • @David 是的,我经常收到以下消息:“警告:找到 2 个由 matlabpool 创建的预先存在的并行作业正在运行。”这似乎表明它仍在另一个窗口上运行。

标签: matlab parallel-processing


【解决方案1】:

单独的 MATLAB 窗口打开的池是完全独立的 - 但是它们由存储在磁盘上的“作业”对象支持。此存储位置默认情况下由您计算机上的所有 MATLAB 共享,这可能会导致有关预先存在的池作业的警告。您可以忽略这些警告 - 或者,如果您确实需要,您可以将每个 MATLAB 设置为使用自己的存储位置,如下所示:

d = tempname(); % get a temporary location
mkdir(d);
cluster = parallel.cluster.Local('JobStorageLocation', d);
matlabpool(cluster);

【讨论】:

  • 谢谢,我试试看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2014-11-06
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
相关资源
最近更新 更多