如何并行运行MATLAB脚本(即,在多核上运行,而不使用parfor)?

如何并行运行MATLAB脚本(即,在多核上运行,而不使用parfor)?,matlab,parallel-processing,parfor,Matlab,Parallel Processing,Parfor,我正在寻找选项,以运行MATLAB脚本,我有并行没有太多的麻烦 在这种情况下,有没有关于如何进行的示例或简单场景 下面的注释假定使用MacOSX/Linux。但是parallel将在Windows上的msys等环境中工作 这是一个关于如何在计算机上并行启动MATLAB作业的示例(无需使用parfor或依赖并行工具箱许可证): 其中myprint.m是以下MATLAB函数(位于当前工作目录中): 可以使用倍频程复制此行为: 应安装并行。有关该工具的更多信息,请访问GNU项目主页: 一些显示最常见用

我正在寻找选项,以运行MATLAB脚本,我有并行没有太多的麻烦

在这种情况下,有没有关于如何进行的示例或简单场景

下面的注释假定使用MacOSX/Linux。但是
parallel
将在Windows上的
msys
等环境中工作

这是一个关于如何在计算机上并行启动MATLAB作业的示例(无需使用
parfor
或依赖并行工具箱许可证):

其中
myprint.m
是以下MATLAB函数(位于当前工作目录中):

可以使用倍频程复制此行为:

应安装并行。有关该工具的更多信息,请访问GNU项目主页:

一些显示最常见用法的短视频可从以下网址获得:。如果您喜欢Ogg/Theora格式的视频:和

另一种方法-编译MATLAB代码 避免依赖并行工具箱许可证的另一种方法是编译代码,如下所示

mcc -m myprint.m
如果一切正常(即编译时没有任何错误),您将看到一个
myprint
可执行文件和一个bash脚本。要运行脚本,只需在终端中执行以下操作:

run_myprint.sh
查找MATLAB的安装位置(使用
$MATLABROOT
bash变量或
$MCR
[MATLAB runtime folder])。您现在可以启动您的程序:

./run_myprint.sh /usr/local/MATLAB/R2010b 2
你会看到

------------------------------------------
Setting up environment variables
---
LD_LIBRARY_PATH is .:/usr/local/MATLAB/R2010b/runtime/glnxa64:/usr/local/MATLAB/R2010b/bin/glnxa64:/usr/local/MATLAB/R2010b/sys/os/glnxa64:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/server:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/client:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64
2
并行运行编译的MATLAB代码的并行bash版本如下所示:

seq 1 4 | parallel './run_myprint.sh /usr/local/MATLAB/R2010b {}'
忠告 如果您的问题和您的代码是令人尴尬的并行,请保持这种方式

parfor
仅在断开数据中的依赖关系时才真正需要:


查看此处了解更多详细信息:

我已冒昧地重新格式化了您的帖子。你所说的是好的,但是如果格式正确,语法正确的话会更好。。。现在情况就是这样。如果您同意这些编辑,请告诉我。也许您可以明确说明哪些操作系统支持这些命令行参数。@CarlWitthoft-从命令判断,它是Mac OS或Linux。。。但不能肯定。
./run_myprint.sh /usr/local/MATLAB/R2010b 2
------------------------------------------
Setting up environment variables
---
LD_LIBRARY_PATH is .:/usr/local/MATLAB/R2010b/runtime/glnxa64:/usr/local/MATLAB/R2010b/bin/glnxa64:/usr/local/MATLAB/R2010b/sys/os/glnxa64:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/server:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64/client:/usr/local/MATLAB/R2010b/sys/java/jre/glnxa64/jre/lib/amd64
2
seq 1 4 | parallel './run_myprint.sh /usr/local/MATLAB/R2010b {}'