MATLAB R2014b 中的 MATLAB Coder 和 parfor
MATLAB Coder and parfor in MATLAB R2014b
MATLAB R2014b 中的 MATLAB Coder 是否支持parfor
?
如果我检查 the documentation,它会报告:
Treated as a for
-loop in a MATLAB Function block.
这是否意味着没有速度提升?
Does Matlab Coder in Matlab-r2014b support parfor?
是的,您参考中提供的列表告诉您它是受支持的。
Does that mean that there is no speed reduction?
是的。你从字面上引用 "it is treated as a for
loop".
所以严格意义上 parfor
是支持的,因为它不会抛出错误。但是,它的处理方式与 MATLAB 在未安装并行化工具箱时的处理方式相同,作为常规 for
循环。因此,是的,您可以编译包含 parfor
循环的 MATLAB 代码,但它们将被视为串行 for
循环。
请注意,以上仅适用于功能块;正如@Edric 指出的那样:
parfor ...
... creates a loop in a generated MEX function or in C/C++ code that runs in parallel on shared-memory multicore platforms.
的上下文中以串行方式运行
如果您查看 MATLAB Coder parfor
参考页:
http://www.mathworks.com/help/coder/ref/parfor.html
你可以看到这个信息:
parfor ...
... creates a loop in a generated MEX function or in C/C++ code that runs in parallel on shared-memory multicore platforms.
MATLAB R2014b 中的 MATLAB Coder 是否支持parfor
?
如果我检查 the documentation,它会报告:
Treated as a
for
-loop in a MATLAB Function block.
这是否意味着没有速度提升?
Does Matlab Coder in Matlab-r2014b support parfor?
是的,您参考中提供的列表告诉您它是受支持的。
Does that mean that there is no speed reduction?
是的。你从字面上引用 "it is treated as a for
loop".
所以严格意义上 parfor
是支持的,因为它不会抛出错误。但是,它的处理方式与 MATLAB 在未安装并行化工具箱时的处理方式相同,作为常规 for
循环。因此,是的,您可以编译包含 parfor
循环的 MATLAB 代码,但它们将被视为串行 for
循环。
请注意,以上仅适用于功能块;正如@Edric 指出的那样:
parfor ...
... creates a loop in a generated MEX function or in C/C++ code that runs in parallel on shared-memory multicore platforms.
如果您查看 MATLAB Coder parfor
参考页:
http://www.mathworks.com/help/coder/ref/parfor.html
你可以看到这个信息:
parfor ...
... creates a loop in a generated MEX function or in C/C++ code that runs in parallel on shared-memory multicore platforms.