poster
2019-12-14, 20:13
我在使用Matlab的Parallel Toolbox时遇到问题。确实,我想在parfor循环中解压缩一系列归档文件,并且似乎untar或system均untar 。它们不会导致错误,只是不会产生任何结果。
停用并行功能后,完全相同的代码即可正常工作。
是否有引用列出了不能在parfor循环中使用的函数?我无法在并行工具箱文档中轻松找到它。
回答:
system应该在PARFOR循环内正常工作-前提是您调用的可执行文件不需要用户输入。
>> matlabpool('size') ans = 3 >> parfor ii=1:2, system('pwd'), end /tmp ans = 0 /tmp ans = 0 这不能直接使用PARFOR循环体内部上的功能的主要限制涉及“工作区透明性” -不能使用该修改工作空间如函数assignin , load , clear等。参见此页面 (http://www.mathworks.com/help/toolbox/distcomp/bq__cs7-1.html)以获得更多关于这一点。 (您当然可以从PARFOR循环的主体中调用函数,该函数调用load等。)
更多&回答... (https://stackoverflow.com/questions/5179397)
停用并行功能后,完全相同的代码即可正常工作。
是否有引用列出了不能在parfor循环中使用的函数?我无法在并行工具箱文档中轻松找到它。
回答:
system应该在PARFOR循环内正常工作-前提是您调用的可执行文件不需要用户输入。
>> matlabpool('size') ans = 3 >> parfor ii=1:2, system('pwd'), end /tmp ans = 0 /tmp ans = 0 这不能直接使用PARFOR循环体内部上的功能的主要限制涉及“工作区透明性” -不能使用该修改工作空间如函数assignin , load , clear等。参见此页面 (http://www.mathworks.com/help/toolbox/distcomp/bq__cs7-1.html)以获得更多关于这一点。 (您当然可以从PARFOR循环的主体中调用函数,该函数调用load等。)
更多&回答... (https://stackoverflow.com/questions/5179397)